Найти в Дзене

Пост-эксплуатация Linux в практике пентеста

Статья подготовлена для студентов курса «Пентест. Практика тестирования на проникновение» в образовательном проекте OTUS.

Пост-эксплуатация (англ. post-explotation) — это то, что можно сделать с целевой системой после того, как удалось найти уязвимость и выполнить какой-то участок кода на целевой системе. Также под этим термином понимается один из этапов взлома компьютерных систем (фаза) позволяющая собирать дальнейшую информацию о целевой системе, получить дальнейший доступ к сети и хранящимся данным. Фаза пост-эксплуатации позволяет идентифицировать такие вещи, как дополнительные подсети, маршрутизаторы, названия серверов, сетевых служб и установленных приложений.

Фазы (этапы) проведения тестирования на проникновение:

-2

Основные паттерны, по которым работают злоумышленники на этапе пост-эксплуатации:

- получить доступ на выполнение произвольного кода\команд;

- изучение данных, хранящихся на сервере;

- перехват данных, которых нет на системе сейчас, но они могут появиться в будущем;

- организация перманентного доступа к целевой системе;

- эскалация привилегий до уровня системы для непривилегированной учётной записи.

Дополнительно, хакер может получать информацию о скомпрометированной системе, анализируя следующие параметры:

- конфигурацию системы (логин и пароль к БД в исходных кодах);

- конфигурацию веб-сервера (например, httpd.conf, .htaccess);

- исходные коды приложения (поиск уязвимостей, анализируя логику приложения);

- доступы к окружению (находясь внутри сети, может быть проще попасть на соседние серверы и изолированные сегменты подсети);

- базы данных (аутентификационная информация к другим системам, хранящаяся в них).

-3

Обзор инструментов пост-эксплуатации

Мы же в материале сделаем акцент на рассмотрении инструментов пост-эксплуатации исключительно под Linux-системы.

1. PXEenum — полное перечисление всего, что есть в системе

Основной задачей данного скрипта является функция перечисления (англ. — Enumeration). Он вытаскивает всю доступную информацию о системе. Данный скрипт создан, если не сказать, что создан для лентяев, то для тех, кто ценит свое время.

Запуск PXEenum:

-4

Для запуска он не требует прав root'а, работает в стандартном терминале.

# wget https://raw.githubusercontent.com/shawnduong/PXEnum/master/PXEnume.sh


Установка:

-5

2. MIDA Multitool — палим систему по-взрослому

Другой интересный инструмент — MIDA Multitool, созданный на базе менее именитых собратьев SysEnum и RootHelper, но включающий в себя гораздо больший функционал. По воле разработчика функционал MIDA Multitool включает в себя отдельные функции своих предшественников под одним капотом, а именно:

  • SysEnum — Bash-скрипт, предназначенный для получения основной информацию о системе, включая, но не ограничиваясь следующими данными — текущий пользователь, IP-конфигурация, таблицы ARP, запущенные процессы и т. д.;
  • Roothelper — призван помочь в процессе эскалации привилегий в системе, которая была скомпрометирована, путем выполнения ряда перечислений и использования доверительных сценариев.

Стартовое окно MIDA Multitool:

-6

Устанавливаем скрипт в систему с github:

Дело сделано! Можно запускать в системе!
Дело сделано! Можно запускать в системе!

3. MimiPenguin — добываем пароли без зазрения совести

Очень хорошо известный скрипт в узких кругах пентестеров под названием MimiPenguin. Основной задачей утилиты служит сброса пароля на вход в систему от текущего пользователя Linux. Если такое сравнение возможно, то это аналог утилиты mimikatz для дампа пароля в Windows-системах.

Запуск MimiPenguin:

-8

Кроме того, MimiPenguin поддерживает такие приложения, как VSFTPd (активные подключения клиента FTP), популярнейший web-сервер Apache2 (активные/старые сеансы HTTP BASIC AUTH, но для этого требуется Gcore) и openssh-сервер (активные подключения SSH с использованием команды sudo). И вообще, необходимо сказать, что MimiPenguin часто становится частью эксплойтов под Linux.

Результат работы MimiPenguin:

-9

Устанавливаем MimiPenguin, забирая его с репозитория GitHub:

-10

4. LARE — прикидываемся рутом, используя баги ядра

И, напоследок, ещё один довольно простой скрипт, который помогает с помощью использования известных уязвимостей в ядре ОС получать привилегии root удалённо с атакующей машины. Скрипт использует локальные эксплойты для получения root-прав для версий ядра Linux Kernel v2.6-v4.8.

Кстати, эта тулза очень часто находит своё применение на сертификационном экзамене OSCP.

Устанавливаем скрипт в систему:

-11
-12

Заключение

Сегодня мы кратко рассмотрели самые популярные и проверенные в практике пентеста рабочие инструменты, используемые на фазе пост-эксплуатации для серверов под управлением Linux. Как видите, нет ничего абсолютно защищённого. Эти знания, я надеюсь, пригодятся вам и на CTF, и для пентеста корпоративной сети вашего проекта, и для развития общего понимания практики обеспечения реальной ИБ.

На этом сегодня всё! Удачи, друзья, берегите себя, близких и свои данные! И следите на новостями в моём телеграм-канале или в блоге OTUS!