TryHackMe-Road

发布于 2022-11-24  270 次阅读


简介:

受到现实世界渗透测试的启发

房间链接:

https://tryhackme.com/room/road#

问题:

挑战开始:

首先还是扫描下端口

nmap -p 1-65535 -sV -sC 10.10.65.40

可以发现开放了80和22端口

访问80端口

通过右上角的Merchant Central进入登陆界面

该界面有注册功能

注册后成功登陆后台

在修改个人资料的地方,发现了可以上传图片,发现了管理员的邮箱,并且只有管理员才能上传图片

在左侧的功能列表发现了修改密码,但是用户名不可更改,这里我们在burp中尝试越权
可以发现成功越权修改了管理员的密码


成功进入管理员后台

再次来到个人资料处,准备好反弹shell马
https://raw.githubusercontent.com/pentestmonkey/php-reverse-shell/master/php-reverse-shell.php
再次上传
这里显示了200,但是不知道有没有成功,而且头像也没有变
通过响应包找到一个路径

尝试拼接访问

访问路径+文件时成功反弹回shell

改了下交互,成功找到user flag

尝试提权
这里发现webdeveloper 在 sudoers 组中

同时检查特权命令的时候发现了pkexec

突然想到了pkexec存在提权,不过需要用户必须在sudo组里且知道用户密码,但是我们现在并没有webdeveloper密码
这里我们下载个工具辅助提权
https://github.com/carlospolop/PEASS-ng/tree/master/linPEAS
本地开启http服务传到目标机器上
运行后,发现开启了27017端口,这是mongodb的端口
命令行输入mongo
发现成功登陆了数据库

翻了下数据库,找到了webdeveloper密码

尝试登陆,成功登陆

查看下pkexec的执行策略

cat /etc/polkit-1/localauthority.conf.d/*

检查当前用户权限是否在sudo组

开启两个终端,a终端通过pkttyagent开启代理,b终端用来操作提权命令

1.a执行

echo $$

查看终端号

2.b执行

pkttyagent --process 29838

3.a执行

pkexec su

4.这时候b上会弹出要求输入密码

5.输入密码后a上弹出root权限

成功获取root flag

届ける言葉を今は育ててる
最后更新于 2022-11-24