飞道的博客

Hack The Box——Academy

511人阅读  评论(0)

目录

简介

信息收集

漏洞发现与利用

垂直越权

CVE-2018-15133

权限提升

cry0l1t3用户Shell

mrb3n用户Shell

总结


简介

这台靶机的作者有点皮,很会转移渗透人员的注意力,但大部分渗透人员都觉得是台不错的靶机,比较像OSCP的靶机。首先通过垂直越权获取到另外一个域名,访问该域名会获取到泄漏的APP_KEY,使用搜索引擎进一步收集信息发现CVE-2018-15133漏洞,利用该漏洞获取WebShell,在网站目录的隐藏文件.env发现数据库用户dev的密码,通过撞库攻击获取到用户cry0l1t3的Shell,进一步使用提权辅助脚本获取到用户mrb3n的Shell,最后利用sudo提升至root权限。

信息收集

使用Nmap扫描端口及服务,发现目标主机在80和22端口分别运行着Apache 2.4.41和OpenSSH 8.2p1服务,33060端口可能运行着mysql服务,且操作系统为Ubuntu,80端口的Web页面被重定向到http://academy.htb,如图:

将域名添加到hosts文件,打开后发现有注册和登录两个功能,如图:

 使用sqlmap测试发现不存在SQL注入漏洞,注册账号密码进行登录,可以注册admin用户,登录之后如图:

网页是静态的,且任何用户登录都是该页面。扫描目录发现admin.php,如图: 

使用刚注册的admin账号登录admin.php未成功。枚举子域名:wfuzz -c -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -H "Host: FUZZ.academy.htb" --hc 400 --hl 0 http://10.10.10.215未获获得其它子域名。

漏洞发现与利用

垂直越权

启动Burp Suite拦截注册数据包,将roleid=0改为roleid=1,如图:

注册成功后使用该账号密码成功登录admin.php,如图:

将发现的域名dev-staging-01.academy.htb添加hosts并访问,获得一个错误页面,如图:

使用错误页面暴露的MySQL用户名和密码无法登录成功。

CVE-2018-15133

然后搜索Monolog/Handler/StreamHandler.php,APP_NAME "Laravel",Whoops\Handler\PrettyPageHandler等关键词,发现Laravel存在CVE-2018-15133,可通过页面泄漏的APP_KEY获取WebShell,参考文章:Laravel框架RCE分析(CVE-2018-15133),利用laravel-poc-CVE-2018-15133生成Payload如图:

刷新页面并拦截数据包,修改HTTP请求方法为POST,添加Payload,发送之后成功返回uname -a命令的执行结果,如图:

使用PHPGGC构造反序列化漏洞利用代码,如图:

然后在本地443端口开启监听,发送漏洞利用代码,成功获得WebShell,如图:

也可以使用python3版本的EXP脚本直接获得WebShell。

权限提升

查看/etc/passwd,发现存在普通用户:21y4d,ch4p,cry0l1t3,egre55,g0blin,mrb3n,如图:

在/home/cry0l1t3目录下发现user.txt文件,如图:

在/var/www/html/academy/public/config.php文件发现数据库密码:GkEWXn4h34g8qx9fZ1,如图:

尝试使用该密码连接33060端口未成功,通过代理连接3306端口的MySQL成功,查看数据库发现academy库的users表中存在默认的账号,且仅有dev不是弱口令,如图:

 继续查看其它文件查找密码,发现test1234和SecREt01,如图:

但无法使用这两个密码登录以上6个普通用户。

cry0l1t3用户Shell

在/var/www/html/academy/.env文件中发现MySQL数据库dev用户的密码:mySup3rP4s5w0rd!!,如图:

将以上6个普通用户和root添加到user.txt,使用该密码进行枚举,如图:

使用该密码登录cry0l1t3用户,查看各用户信息发现cry0l1t3和egre55用户在都在adm用户组,且egre55用户在多个用户组中,如图:

使用find / -group adm -type f 2>/dev/null命令查看所有adm组的文件,如图:

通过cat和grep命令查找password,passwd等关键字未发现可用密码。

mrb3n用户Shell

然后使用提权辅助脚本linPEAS发现mrb3n用户的密码:mrb3n_Ac@d3my!,如图:

使用该密码验证用户,如图:

登录之后发现/usr/bin/composer文件具有sudo权限,通过Google搜索到的提权方法成功获得root权限,如图:

总结

该靶机官方定位为简单级别,做完之后回头看会发现的确很简单,但是靶机作者成功利用egre55吸引了火力,查看论坛发现几乎所有人都中计了,回顾其中的辛酸只有自己做一遍才能体会到。在WebShell到用户cry0l1t3这里浪费了很长时间,只因使用ls命令未加参数-a,在cry0l1t3用户到mrb3n用户这里由于将注意了放在了egre55用户,所以在获得mrb3n的密码后一直未登录,最后抱着试一试的态度发现居然真的是利用该用户提权,不得不佩服靶机作者。


转载:https://blog.csdn.net/qq_32261191/article/details/110298636
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场