温州专业微网站制作网络公司杭州网络推广有限公司

Enumeration
nmap
首先扫描目标端口对外开放情况
nmap -p- 10.10.10.215 -T4
发现对外开放了22,80,33060三个端口,端口详细信息如下

结果显示80端口运行着http,且给出了域名academy.htb,现将ip与域名写到/et/hosts中,然后从http入手
TCP/80
访问站点,看到了HTB的图标还怀疑了10秒钟

站点有一个登录口,一个注册口,通过查看网页源代码中的后缀名得知使用php语言

既然有注册页面,那就先注册一个账号,然后登录看看

登录后点击一些链接也没有反应,使用dirsearch来检查是否存在其他目录

其中admin.php与之前的登录页面相同,但是用刚才注册的账户无法登陆,尝试重新注册一个用户,并用burp拦截数据包

发现数据包中不止有在表单中填入的参数,还有一个roleid,猜测该参数可能是控制账户权限的,因为之前创建的账 户权限id为0,因此无法登陆admin.php的登录页面
尝试修改roleid为1,并发送请求包,可以看到服务器仍在正常响应

再次尝试在admin.php中登录,发现登录成功,登陆成功后发现又是一个计划表
其中前五项都已经完成,最后一个是待定,在/etc/hosts中添加该域名,dev-staging-01.academy.htb

访问得到如下结果

可以看到使用了php框架Laravel

Exploition
CVE-2018-15133
发现该框架有一个漏洞,可以直接远程执行代码,条件是要知道程序秘钥,在上文中发现了APP_KEY,可能就是这个秘钥

在metasploit中可以直接配置攻击,利用对应程序

设置如下内容

执行程序后即可获取一个shell

使用python获取一个交互式shell

Lateral Movement
在web目录下,发现了一个.env文件,里面有一个数据库密码,考虑密码复用

查看存在的用户

发现找到的密码适用于cry0l1t3用户,成功登录

并且在该用户目录下发现了第一个flag

发现该用户属于adm组,作为非root用户,可以审查日志

首先列出日志文件

Linux 内核会记录很多内容,但默认情况下它不会记录 TTY 输入,而审计日志允许系统管理员记录这一点。如果启用了TTY 输入日志记录,则包括密码在内的任何输入都将以十六进制编码形式存储在 /var/log/audit/audit.log 内。可 以使用 aureport 程序来查询和检索 TTY 输入的记录。

发现了mrb3n的登录密码,登录该用户

Privilege Escalation
执行sudo -l,发现mrb3n可以以root身份运行composer

然后在GTFOBins中发现该程序可以用来提权

按照上图中执行,即可获取root权限

在root目录中除了root.txt还有一个academy.txt,看起来挺有趣

