内网渗透中的网络枚举与横向移动技术
内网渗透中的网络枚举与横向移动
设想这样一个场景:您正在进行内网渗透测试。可能通过鱼叉式钓鱼攻击成功进入内网系统,或是被直接部署在内网环境中。
作为资深渗透测试人员,您首先进行低速出站端口扫描,很快发现几个可用于命令控制(C2)通信的TCP端口。通过现有或新建的C2通道,您开始寻找提权机会。自然地,您会使用Empire项目中的"PowerUp"工具以及检查组策略首选项的常用方法。幸运的是,您发现了DLL劫持机会,并在组策略首选项XML文件中找到了凭证。于是您选择简单路线,利用这些凭证通过PSEXEC或WMI建立特权C2通道。
随后,您执行常规信息收集流程:
- 执行Windows命令:
net view /domain
、net localgroup administrators
、net group "Domain Admins" /domain
和net group "Domain Controllers" /domain
- 使用Empire的"User-Hunter"查找域管理员登录位置
- 对域控制器进行DNS查询以确定其网络位置
通过ipconfig
命令,您发现自己处于一个C类网络中(如10.99.1.0/24),网关地址为网络地址加1(即10.99.1.1)。
为了扩大攻击面,您计划使用Metasploit的"smb_login"扫描其他系统。根据企业网络架构经验,您推断该环境中大多数路由器网关可能遵循"网络地址加1"的惯例。由于内网路由器很少过滤ICMP流量,您可以使用ICMP回显请求和DOS批处理循环命令来探测内网路由器网关:
FOR /L %X IN (1,1,254) do @PING -i 3 -w 1 -n 1 10.99.%x.1 | FIND "bytes="
PING参数说明:
-i 3
:设置IP TTL最大为3跳(保持本地探测)-w 1
:等待响应时间1秒-n 1
:仅发送1个数据包
通过分析返回的TTL值可以判断设备位置:
- TTL=255:本地子网设备
- TTL=254:同一局域网/园区设备
- TTL≤253:可能为远程分支机构的网关
对于大型网络(如使用MPLS的情况),可能需要调整-i
参数值(建议从3开始,最高可设为9)。非本地流量将被路由至最后手段网关,返回"TTL expired in transit"或进入黑洞目的地。
祝渗透测试愉快!
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码