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