Skip to content

Latest commit

 

History

History
268 lines (172 loc) · 8.19 KB

File metadata and controls

268 lines (172 loc) · 8.19 KB

Cicada

  • IP: 10.10.11.35
  • tags: Easy, Windows
  • status: userflag gained

Enumeration

首先,使用 ping 檢查連線是否正常

ping 10.10.11.35

Nmap

使用 nmap 進行掃描

sudo nmap -v -sV -sS 10.10.11.35

可以發現到有開了以下服務,看起來是一個 AD 環境

DNS
Kerberos
Windows RPC
SMB
Active Directory LDAP

此外我們可知道 AD 的 domain name 為 cicada.htb

LDAP

首先,因為有 LDAP 的關係,因此我嘗試使用 ldapsearch 做列舉,但發現有 Operations Error 的問題,無法列舉成功

ldapsearch -x -H ldap://10.10.11.35 -b 'dc=cicada,dc=htb'

DNS

此外由於有 DNS 服務,因此我首先嘗試 zone transfer 來偷記錄,但發現似乎沒開

dig axfr @10.10.11.35 

而由於前面 nmap 我們知道 domain name 為 cicada.htb,因此我這邊也嘗試查找相關紀錄,發現除了 DC 之外還有另一個 hostmaster.cicada.htb 的 DNS 紀錄 (但似乎沒用就是了)

dig any @10.10.11.35 cicada.htb

SMB

在此基本上前二者找不到有用的東西了,而由於我較少打 Windows 的機器,因此在嘗試看其他 AD pentesting 打法 (e.g. 這篇) 的時候,發現還可以從 SMB 下手

我首先嘗試列舉 SMB share,發現確實有一些目錄可以給 Anonymous 存取

smbclient -N -L \\10.10.11.35

首先我先查看 DEV 的 share,雖然能成功匿名登入,但是沒有權限讀取目錄

smbclient -N \\\\10.10.11.35\\DEV

不過 HR 的 share 倒是可以登入及目錄列舉,裡面可以發現一個 Notice from HR.txt 檔案

smbclient -N \\\\10.10.11.35\\HR 

檔案內容如下

Dear new hire!

Welcome to Cicada Corp! We're thrilled to have you join our team. As part of our security protocols, it's essential that you change your default password to something unique and secure.

Your default password is: Cicada$M6Corpb*@Lp#nZp!8

To change your password:

1. Log in to your Cicada Corp account** using the provided username and the default password mentioned above.
2. Once logged in, navigate to your account settings or profile settings section.
3. Look for the option to change your password. This will be labeled as "Change Password".
4. Follow the prompts to create a new password**. Make sure your new password is strong, containing a mix of uppercase letters, lowercase letters, numbers, and special characters.
5. After changing your password, make sure to save your changes.

Remember, your password is a crucial aspect of keeping your account secure. Please do not share your password with anyone, and ensure you use a complex password.

If you encounter any issues or need assistance with changing your password, don't hesitate to reach out to our support team at [email protected].

Thank you for your attention to this matter, and once again, welcome to the Cicada Corp team!

Best regards,
Cicada Corp

可以看到,文件中提到了一個預設密碼 Cicada$M6Corpb*@Lp#nZp!8,而我們可以嘗試找出有那些使用者可能會忘記更改密碼

Enumerate Users

這邊我有先嘗試假設使用者就叫做 HR,嘗試使用 impacketGetTGT 做 pass the key,但是發現 client not found 的問題,代表使用者不是 HR 這麼單純

impacket-getTGT 'cicada.htb/HR:Cicada$M6Corpb*@Lp#nZp!8'

這邊我首先嘗試使用 crackmapexec 做 SMB 列舉,發現需要權限

crackmapexec smb 10.10.11.35 --users

接者我嘗試使用 rpcclientenumdomusers 列舉使用者,發現一樣需要權限

rpcclient -U '' -N 10.10.11.35

我也嘗試使用 crackmapexec 做 LDAP 列舉,發現報錯,可能是一樣需要權限的緣故

crackmapexec ldap cicada.htb --users

而在翻找相關資料時,發現討論區有人提出可以用 netexec 做 rid brute force,因此我也嘗試該方法,發現這樣就能正常列舉使用者了 (這邊使用的 guest/`` 也是討論區有人找出的)

nxc smb 10.10.11.35 -u guest -p '' --rid-brute

整理出以下幾個使用者

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)

基本上比較有用的就是下面這 5 個一般使用者,因此一一嘗試使用 GetTGT 來找出對應的使用者

而從以下結果可以看到,michael.wrightson 出現 clock skew 的問題而其他的是 pre-authentication 的錯誤,代表 michael.wrightson 很可能已經通過 pre-authentication 但遇到時間同步問題而無法產生 TGT,因此可以假定該密碼應該對應的使用者是 michael.wrightson

而由於我懶得修時間的問題,因此我改成使用 evil-winrm 工具進行登入,但發現這時還是無法成功登入

evil-winrm -i cicada.htb -u michael.wrightson -p 'Cicada$M6Corpb*@Lp#nZp!8'

而使用 smbclient,發現可以正常登入,密碼應該是沒問題🤔

smbclient \\\\10.10.11.35\\HR --user 'michael.wrightson'

Enumerate Others

而再看了一下討論區,發現有人提到可以繼續找 winrm, ldap 之類的,而這時我也想起來先前嘗試列舉 LDAP 和 RPC 時遇到的權限問題,因此返回去嘗試使用 michael 的帳號登入

我嘗試使用 rpcclientmichael 身分登入,發現確實可以正常登入且列舉使用者,此外我也嘗試查看 michael 的使用者資訊,但沒看到有特別的地方

rpcclient -U 'michael.wrightson' --password 'Cicada$M6Corpb*@Lp#nZp!8' 10.10.11.35

而後在網路上繼續搜尋時,發現了一個神祕的解題影片,發現其他使用者的資料中有東西,可以發現 david.orelious 的使用者說明中直接寫了他的密碼 aRt$Lp#7t*VQ!3

queryuser 0x454

當然,直接登入一樣是無法成功

因此依照剛才的邏輯,我嘗試使用 david.orelious 身分登入 SMB,發現此時可以存取 DEV share 的內容,裡面有一個 Backup_script.ps1 檔案

smbclient \\\\10.10.11.35\\DEV --user 'david.orelious'

檔案內容如下

$sourceDirectory = "C:\smb"
$destinationDirectory = "D:\Backup"

$username = "emily.oscars"
$password = ConvertTo-SecureString "Q!3@Lp#M6b*7t*Vt" -AsPlainText -Force
$credentials = New-Object System.Management.Automation.PSCredential($username, $password)
$dateStamp = Get-Date -Format "yyyyMMdd_HHmmss"
$backupFileName = "smb_backup_$dateStamp.zip"
$backupFilePath = Join-Path -Path $destinationDirectory -ChildPath $backupFileName
Compress-Archive -Path $sourceDirectory -DestinationPath $backupFilePath
Write-Host "Backup completed successfully. Backup file saved to: $backupFilePath"

可以看到裡面是 emily.oscars 和他的密碼 Q!3@Lp#M6b*7t*Vt,因此我們可以嘗試使用 emily.oscars 的帳號登入,發現此時可以正常用 evil-winrm 登入成功

evil-winrm -i cicada.htb -u 'emily.oscars' -p 'Q!3@Lp#M6b*7t*Vt'

userflag 在 C:\Users\emily.oscars.CICADA\Desktop\user.txt

48b54043921218f16e4f555fce5c5b19

Privilege Escalation

TODO