THM-Billing
本文最后更新于 2025年4月25日 下午
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 | |