Proxychains is a proxy tool under Linux and other unices. It allows any program to go online via proxy, allowing TCP and DNS to pass proxy tunneling, support for HTTP, SOCKS4, and SOCKS5 types of proxy servers, and multiple proxies can be configured. Proxychains forces the connection of the specified application through a user-defined proxy list, disconnecting the receiver and sender directly. This section describes how to set up Proxychains.
The steps to set up the Proxychains are as follows.
(1) Open the Proxychains configuration file. The execution commands are as follows:
[email protected]:~# vi /etc/proxychains.conf
After executing the above command, the contents of the open file are as follows:
# proxychains.conf VER 3.1## HTTP, SOCKS4, SOCKS5 tunneling proxifier with DNS.## The option below identifies how the ProxyList is treated.# only one option should be uncommented at time,# otherwise the last appearing option will be accepted##dynamic_chain## Dynamic - Each connection will be done via chained proxies# all proxies chained in the order as they appear in the list# at least one proxy must be online to play in chain# (dead proxies are skipped)# otherwise EINTR is returned to the app#strict_chain## Strict - Each connection will be done via chained proxies# all proxies chained in the order as they appear in the list# all proxies must be online to play in chain# otherwise EINTR is returned to the app##random_chain## Random - Each connection will be done via random proxy# (or proxy chain, see chain_len) from the list.# this option is good to test your IDS :)
The output information is the contents of the proxychains.conf file. For reasons of space, only part of the content is listed here.
(2) Uncomment the Dynamic_chain in front of the proxychains.conf file. The configuration item to be modified is the bold part above, as shown below:
dynamic_chain
(3) Add some proxy servers to the list (the end of the proxychains.conf file) as follows:
# ProxyList format # type host port [user pass] # (values separated by ‘tab‘ or ‘blank‘) # # # Examples: # # socks5 192.168.67.78 1080 lamer secret # http 192.168.89.3 8080 justu hidden # socks4 192.168.1.49 1080 # http 192.168.39.93 8080 # # # proxy types: http, socks4, socks5 # ( auth types supported: "basic"-http "user/pass"-socks ) # [ProxyList] # add proxy here ... # meanwile # defaults set to "tor" socks4 127.0.0.1 9050 socks5 98.206.2.3 1893 socks5 76.22.86.170 1658 -- 插入 --
The bold part of the above information is the added proxy server.
(4) The target host is resolved through the user's connection agent. The execution commands are as follows:
[email protected]:~# proxyresolv www.target.com
By default, the PROXYRESOLV command is executed, and you may see that the command did not find an error message. Because Proxyresolv is stored in the/usr/lib/proxychains3/directory, it cannot be executed. Proxyresolv will be called by Proxychains, so put these two files in a directory, such as/usr/bin. The execution commands are as follows:
[email protected]:~# cp /usr/lib/proxychains3/proxyresolv /usr/bin/
After executing the above command, the PROXYRESOLV command can be executed.
(5) Run Proxychains through the application that the user wants to use, for example, start Msfconsole. The execution commands are as follows:
[email protected]:~# proxychains msfconsole ProxyChains-3.1 (http://proxychains.sf.net) |DNS-request| 0.0.0.0 |S-chain|-<>-127.0.0.1:9050-<--timeout |DNS-response|: 0.0.0.0 is not exist , , / \ ((__---,,,---__)) (_) O O (_)_________ \ _ / |\ o_o \ M S F | \ \ _____ | * ||| WW ||| ||| ||| Tired of typing ‘set RHOSTS‘? Click & pwn with Metasploit Pro -- type ‘go_pro‘ to launch it now. =[ metasploit v4.7.0-2013082802 [core:4.7 api:1.0] + -- --=[ 1161 exploits - 641 auxiliary - 180 post + -- --=[ 310 payloads - 30 encoders - 8 nops msf >
After you execute the above command, you see that the msf> prompt indicates that Msfconsole started successfully. Indicates that the Proxychains setting was successful.
Kali-linux setting Proxychains