Proxychains

Proxychains #

项目地址:https://github.com/rofl0r/proxychains-ng,为原proxychains的ng版本,现在为4.x版本

项目介绍

  ProxyChains is a UNIX program, that hooks network-related libc functions
  in DYNAMICALLY LINKED programs via a preloaded DLL (dlsym(), LD_PRELOAD)
  and redirects the connections through SOCKS4a/5 or HTTP proxies.
  It supports TCP only (no UDP/ICMP etc).

实际使用Proxychains时主要有以下2种场景:

  1. 让不支持使用代理的软件使用代理
  2. 内网渗透时,依次使用每一层搭建的代理形成一条代理链,去访问最内层主机

1 安装 #

yum install git gcc
cd ~
git clone https://github.com/rofl0r/proxychains-ng.git
cd proxychains-ng
./configure && make && make install
make install-config

https://gist.github.com/rahman541/65760f3c7818f22a3b5c7298950d37a8

sudo apt install proxychains4

https://www.kali.org/tools/proxychains-ng/

使用Proxifier替代

https://www.proxifier.com/

2 使用场景 #

2.1 让不支持使用代理的软件使用代理 #

部分应用可以指定代理使用代理,如curl应用可以感知http_proxy环境变量使用代理

但是有其他应用不支持代理使用,如telnet

http_proxyHTTP_PROXY格式区别?

https://unix.stackexchange.com/questions/212894/whats-the-right-format-for-the-http-proxy-environment-variable-caps-or-no-ca

修改proxychains.conf配置文件

[ProxyList]
socks5  10.211.55.2 1086

对比curl ip.gs是否使用proxychains的区别

[root@k8s01 ~]# curl ip.gs
223.108.79.97

[root@test ~]# proxychains4 curl ip.gs
[proxychains] config file found: /usr/local/etc/proxychains.conf
[proxychains] preloading /usr/local/lib/libproxychains4.so
[proxychains] DLL init: proxychains-ng 4.16
[proxychains] Strict chain  ...  10.211.55.2:1086  ...  ip.gs:80  ...  OK
207.148.117.135

2.2 代理链 #

代理访问链路

your_host <--> proxy1 <--> proxy2 <--> target_host

修改proxychains.conf配置文件

[ProxyList]
socks5  10.211.55.2 1086
socks5  192.168.1.1 1086

注意命令输出

[root@test ~]# proxychains4 curl ip.gs
[proxychains] config file found: /usr/local/etc/proxychains.conf
[proxychains] preloading /usr/local/lib/libproxychains4.so
[proxychains] DLL init: proxychains-ng 4.16
[proxychains] Strict chain  ...  10.211.55.2:1086  ...  192.168.1.1:1086  ...  ip.gs:80