通向彼岸 之内网代理转发 [ 系统篇 Iptables ]
0x01 前言
作用和netsh差不多,这里就不废话了,直接看操作,还是同样的情况,只不过你此时拿下的是边界的一台linux服务器,依然想通过这台机器直接去访问内网的其它机器
0x02 环境大致如下:1
2
3边界linux机器(centos 6.8en) ip:192.168.3.40(假设为目标机器的公网ip) 192.168.32.129(假设为目标的内网ip)
要访问的内网windows机器(win 2008r2cn) ip:192.168.32.134
攻击者机器(win7cn) ip:192.168.3.251
0x03 最终目的1
通过边界的linux机器访问内网中的windows机器上的指定服务
0x04 具体过程如下,首先,编辑边界linux机器的路由转发配置文件,开启其路由转发功能1
2# sed -i '/net.ipv4.ip_forward/ s/\(.*= \).*/\11/' /etc/sysctl.conf
# cat /etc/sysctl.conf | grep "net.ipv4.ip_forward"
0x05 暂时先关闭iptables服务,实际渗透渗透中,最好不要关,很容易把人网搞断,这里只是为了做实验看效果才这么干1
# /etc/init.d/iptables status && /etc/init.d/iptables stop
0x06 利用iptables添加转发规则,这里以转发内网指定机器的rdp为例,至于别的端口都是同样的转发方法,请自行尝试1
2
3iptables -t nat -A PREROUTING -d [边界机器的公网地址] -p tcp -m tcp --dport [边界机器端口] -j DNAT --to-destination [内网机器的IP]:[内网机器的端口]
iptables -t nat -A POSTROUTING -d [内网机器的IP] -p tcp -m tcp --dport [内网机器端口] -j SNAT --to-source [边界机器的内网ip]
iptables -A FORWARD -o [边界机器的内网网卡编号] -d [内网机器IP] -p tcp --dport [内网机器端口] -j ACCEPT
1 | # /sbin/iptables -P INPUT ACCEPT |
0x07 保存&&重启iptables服务1
# /etc/init.d/iptables save && /etc/init.d/iptables restart
0x08 删除防火墙规则,实际渗透中只删除你自己的规则就好了,别的不要动,记得关闭保存并重启防火墙才可生效1
# iptables -F
0x09 如果想实现自启动也比较简单,直接把它丢到一些系统的自启动脚本中即可,越隐蔽越好,不要放到rc.local中就行,还是那个问题,如果中间有任何防护阻断某些端口通信,基本也就废了,因为你是bind进去的,说白点,最终主动权还是在别人手里