THM-Billing
本文最后更新于 2025年4月2日 晚上
RCE、sshd、fail2ban
枚举
nmap
nmap 扫描
1 |
|
扫了半个小时,结果如下:
1 |
|
开了 22(SSH),80(HTTP),3306(MariaDB),5038(Asterisk)
80
访问 80 服务,发现了登录框,一个 MagnusBilling 的程序,MagnusBilling 是一个 VoIP 服务器系统,没什么攻击点
dirsearch
用 dirsearch 浅扫一下目录
1 |
|
读取 README.md
发现是 MagnusBilling 7
搜 “MagnusBilling 漏洞” 能找到 MagnusBilling application unauthenticated Remote Command Execution.
访问 http://10.10.225.254/mbilling/lib
目录
利用 MagnusSolution Magnusbilling RCE 反弹 shell
根据漏洞描述,漏洞应该是 magnusbilling 安全漏洞 (CVE-2023-30258)
用的 n0o0b 师傅写的 POC:CVE-2023-30258-RCE-POC
1 |
|
谈上了嘻嘻好用捏
1 |
|
可以提高交互性
进入 /home/magnus
拿到 flag
1 |
|
修改 fail2ban 的 sshd 规则组提权
使用 sudo -l
发现
NOPASSWD
的 fail2ban-client
,更详细的 fail2ban
提权可以看 Fail2Ban – Linux Privilege Escalation,但 iptables-multiport.conf
没有写的权限。
运行 fail2ban-client
找到
1 |
|
这个命令能够自定义 jail
和 action
,并且前面发现是 NOPASSWD
,可以执行 sudo 权限
查看 fail2ban-client
的状态,发现了活跃的 sshd
1 |
|
读取 /etc/fail2ban
下的 jail.conf
文件发现了 sshd
配置
综上所述,可以修改 sshd
的 actionban
规则来执行 :在封禁 IP 时执行一个反向 Shell 连接,通过封禁本机 IP 127.0.0.1
这一操作触发 actionban
,让反向 Shell 连接生效
1 |
|
1 |
|
CVE-2023-30258
根据描述 CVE-2023-30258 Security advisory 找到源代码
1 |
|
democ 检查字符长度是否超过5,超过后就将字符串传递给了 exec()
函数,并没有经过过滤,所以就能执行任意命令,出现了命令注入
Fail2Ban
一个开源的入侵防御工具,用于防止暴力破解攻击。它通过监控系统的日志文件(如 /var/log/auth.log
),检测是否存在多次失败的登录尝试。一旦检测到某个 IP 地址在短时间内发生了多次失败的登录尝试,fail2ban
会自动将该 IP 地址加入防火墙的黑名单,阻止该 IP 地址进一步尝试登录,封禁时间过后会恢复正常访问,如果再次攻击,封禁会再次生效。
关键配置文件
- fail2ban.conf:配置操作设置
- jail.conf:主配置文件,用于定义每个程序的 ”jails“
- jail.local:jail.conf 的扩展,用于启用 jail,通常在更新后保留自定义设置
- iptables-multiport.conf:负责设置防火墙的操作文件,允许修改以禁止恶意 IP,并根据需要添加和删除
fail2ban 权限提升可以看 Fail2Ban – Linux Privilege Escalation,可惜的是靶机 iptables-multiport.conf
没有写的权限。
对于这个靶机,通过枚举了活跃的 jail
找到了 sshd
,然后根据 fail2ban
的使用命令构造 payload 修改 sshd
的规则组
1 |
|
然后执行 ban IP 触发 actionban
逻辑让前面的命令执行
1 |
|