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

靶機說明

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安全

 

HTTP協議傳輸的數據都是未加密的,也就是明文的,所以使用HTTP協議傳輸隱私信息很是不安全,爲了保證這些隱私數據能加密傳輸,因而網景公司設計了SSL(Secure Sockets Layer)協議用於對HTTP協議傳輸的數據進行加密,從而就誕生了HTTPS。
簡單來講,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

將其轉換成交互式的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」圖片內,如圖:

 

相關文章
相關標籤/搜索