靶機說明
NinevehV0.3.7z是一個難度爲初級到中級的BooT2Root/CTF挑戰。php
VM虛機配置有靜態IP地址(192.168.0.150)html
目標
Boot to root:得到root權限,查看flag。python
運行環境
- 靶機:靜態IP是192.168.0.150。
- 攻擊機:同網段下有kali攻擊機(物理機),IP地址:192.168.0.128,安裝有Nmap、Burpsuit、Wireshark、Sqlmap、nc、Python2.七、JDK、DirBuster、AWVS、Nessus等滲透工具,也可使用windows攻擊機。
信息收集
- 端口服務識別
啓動NinevehV0.3.7z虛擬機,因爲IP已知,使用nmap掃描端口,並作服務識別和深度掃描(加-A參數),命令:linux
nmap -T4 -A -p 1-65535 192.168.0.150shell
發現只開放了80和443這2個端口,可是後面有一個ssl-cert 也就是ssl證書數據庫
比較敏感也就是443端口,windows
咱們先訪問 http://192.168.0.150安全
簡單來講,HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,要比http協議安全。
咱們再訪問 https://192.168.0.105

咱們嘗試掃描目錄,你們在windows經常使用御劍,這裏推薦kali下的dirb ,或者dirsearch.py腳本bash
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
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

本菜使用比較笨的方法,就是把所知道的關於rookit的檢測工具都進行全盤搜索,最後定位到使用了「chkrootkit」,
經過查看其版本號和配置信息結合google搜索,發現一個本地提權漏洞,而MSF也已經有該利用腳本,如圖:

