基础知识
内网渗透说白了,就是先拿到目标内网里的一台机器,再一点点把权限往上抬,最后摸到域控。前提通常是先有一个 Webshell,哪怕权限不高也没关系,后面还是能靠提权把门打开。
在动手之前,得先把'域环境'这个概念理顺。一个内网里机器多了,补丁、权限、账号策略不可能一台台手工改,管理员就会用域控统一管理。域控权限高,也意味着它成了最值钱的点:谁拿到域控,谁基本就拿到了整个域里的钥匙。
所以顺序一般是这样的:先提权,拿到管理员账号或口令,再开始后面的横向移动和权限维持。
内网穿透
实战里很常见的一种情况是:你已经拿下一台服务器,也确认它开着 3389,但远程桌面就是连不上。原因不复杂,这台机器在内网里,外网看到的 3389 往往只是端口映射,连过去未必真是你想的那台主机。
常见的处理思路有两种:
- 让目标主动连一台公网主机,这样你从外部回连进去。
- 在目标机上放一个中转点,让流量绕过来。
如果目标机本身不方便访问互联网,第二种更常见。这里用 reGeorg 举例,它的思路就是借 Web 文件把流量转成一条可用的隧道。
具体流程
- 准备
reGeorg,建立隧道入口。 - 以 PHP 站点为例,把
tunnel.nosocket.php通过已经拿到的 Webshell 上传到目标站点,然后用 Web 访问确认文件可用。 - 在本机用 Python 运行
reGeorgSocksProxy.py,把本机3344端口收到的数据转发给目标机上的tunnel.nosocket.php。
python reGeorgSocksProxy.py -l 127.0.0.1 -p 3344 -u http://192.168.229.151/tunnel.nosocket.php
- 配合
Proxifier,把mstsc.exe的流量走本地3344端口。 - 隧道打通后,就能远程桌面连到目标主机。
除了 reGeorg,Frp、Ew、nps 也都能做这类事。本质都一样:给你在内网和外网之间拉一条可控的通道。
内网信息收集
进了内网以后,先别急着横冲直撞。先看清楚域里有什么人、什么组、哪些机器在线,很多后续动作都靠这些信息拼出来。
- 先拿 SYSTEM 权限
做信息收集时,权限太低会吃很多限制,所以先把当前会话抬到 SYSTEM。
PsExec.exe -s -i -d cmd
-
查看域用户
用net user /domain看域里有哪些用户。这里的域名是ajie.cool,能看到Administrator、Guest、krbtgt、web等账户。 -
查看域用户组
net group /domain可以列出域内的组信息。 -
查看域管理员组
net group "domain admins" /domain能直接看出谁在域管组里。这里域管账户只有Administrator。 -
找域服务器 IP
直接 ping 域名,或者结合 DNS 服务器地址判断域控在哪台机器上。 -
用 Nmap 扫描
如果环境允许,可以把 Nmap 上传到目标机,再做进一步的扫描和枚举。这个步骤动静会比较大,是否上扫描得看环境。


