简介:
受到现实世界渗透测试的启发
房间链接:
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
Comments NOTHING