Пост-эксплуатация Linux. Поднимаемся от юзера до бога в несколько кликов
В этом материале тебя ждет обзор и примеры применения наиболее известных и, самое главное, рабочих утилит постэксплуатации серверов с Linux. Как манипулировать системой, стать рутом или бескомпромиссно слить все данные после того, как ты уже проник внутрь защищенного корпоративного периметра, обошел десятки фаеров и хонипотов, а может, даже получил физический доступ к жертве… Расширь влияние и почувствуй себя богом!
Концепция Kill Chain в практике пентеста
Если рассматривать практику пентеста, вся цепочка событий, приводящих к какой-либо успешной атаке на целевую ИТ-инфраструктуру, условно разбивается на сменяющие друг друга последовательные этапы. Эта цепочка действий получила название Kill Chain, или, как это звучит в русской нотации, убийственная цепочка (не исключено, что данный творческий перевод сделал сам Капитан Очевидность. — Прим. ред.).
Термин сейчас очень часто используется в мире ИБ, а широкое распространение он получил после публикации доклада Intelligence-Driven Computer Network Defense Informed by Analysis of Adversary Campaigns and Intrusion Kill Chains компании Lockheed Martin, специализирующейся в области авиастроения и авиакосмической техники, в котором среди прочего описывается последовательность шагов злоумышленника, осуществляющего незаконное проникновение (взлом) в информационную систему.
Спросишь меня, как связаны Lockheed Martin и информационная безопасность? Все довольно просто: эта компания имеет прямое отношение к ВПК Соединенных Штатов. Используя опыт Минобороны и других силовых ведомств, компания еще в 2011 году сформулировала план, состоящий из семи последовательных стадий, которые выполняются одна за другой и приводят к взлому целевой системы.
Если кратко, то вот эти семь этапов ниже и есть Kill Chain.
- Разведка. Исследование, идентификация и выбор целевой системы для взлома.
- Вооружение. Оснащение хакерскими тулзами и malware для совершения нападения.
- Доставка. Донесение вредоносного контента (тулз) до целевой системы.
- Заражение. Запуск вредоносного кода или эксплуатация уязвимостей системы.
- Инсталляция. Открытие удаленного доступа и другие действия с зараженной системой.
- Получение управления. Управление зараженной системой.
- Выполнение действий. Сбор, кража, отправка данных, шифрование файлов, подмена и удаление данных, затирание следов и так далее.
А вот небольшой пример, иллюстрирующий ее применение (проведение атаки step-by-step).
Постэксплуатация, если накладывать ее на эту таблицу, реализуется на 5-й и 6-й фазах, то есть когда хакер уже проник внутрь корпоративного периметра, обойдя периметровые и некоторые end-point средства защиты, с помощью малвари или эксплоита получил доступ к системе и готов действовать дальше. Постэксплуатация предшествует 7-й фазе «Выполнение действий», когда хакер достигает, если так можно сказать, бизнес-цели своей атаки, однако прежде, чем это произойдет, необходимо закрепиться внутри сети, дособрать нужную информацию о сети и серверах, скорректировать цели, подготовить каналы связи для передачи данных и прочее. Связано это с тем, что, как правило, конфиденциальные данные не лежат на каком-то одном серваке или крутятся в одном приложении, поэтому и необходимо дальше изучать сеть, хранилища данных, искать артефакты — в этом как раз отчасти и помогают инструменты постэксплуатации.
INFO
Постэксплуатация (англ. post-exploitation) — это один из этапов взлома компьютерных систем, позволяющий собирать дальнейшую информацию о целевой системе, получить дальнейший доступ к сети и хранящимся данным. Фаза постэксплуатации позволяет идентифицировать такие вещи, как дополнительные подсети, маршрутизаторы, названия серверов, сетевых служб и установленных приложений.
Основные паттерны, по которым работают злоумышленники, предполагают:
- получение доступа на выполнение произвольного кода или команд;
- изучение данных, хранящихся на сервере;
- перехват данных, которых нет на системе сейчас, но которые могут появиться в будущем;
- организация перманентного доступа к целевой системе (RAT);
- эскалация привилегий до уровня системы для непривилегированной учетной записи.
Дополнительно хакер может получать информацию о скомпрометированной системе, анализируя:
- конфигурацию системы (логин и пароль к БД в исходных кодах);
- конфигурацию веб-сервера (например, httpd.conf, .htaccess);
- исходные коды приложения (поиск уязвимостей через анализ логики приложения);
- доступ к окружению (изнутри сети может быть проще попасть на соседние серверы и изолированные сегменты подсети);
- базы данных (аутентификационная информация к другим системам, хранящаяся в них).
Для Windows типичные примеры постэксплуатации — такие атаки, как Pass-in-the-Hash, реализуемые известной тулзой mimikatz, о которых мы писали в нескольких прошлых материалах тут и тут, запуск бинарного кода с помощью PsExec, проброс VPN и/или DNS-туннеля, о которых более подробно рассказывали здесь и здесь. И еще известные паки для нашумевших недавно уязвимостей типа EternalBlue с помощью FuzzBunch и PowerShell Empire.
Мы же в разделе, который пойдет ниже, сделаем акцент на рассмотрение аналогичных инструментов постэксплуатации, но исключительно под Linux-системы. Ведь все знают, что back-end крупных, особенно DevOps’вских компаний обычно вращаются именно на пингвине.
Обзор основных инструментов постэксплуатации
Общие векторы атак на целевой машине после получения доступа:
- эскалация привилегий в системе (Vectors of Privilege Escalation);
- получение информации о дистрибутиве и ядре (OS Detail & Kernel Version);
- поиск уязвимого ПО (Any Vulnerable package installed or running);
- избыточные права доступа (Files and Folders with Full Control or Modify Access);
- файлы с разрешениями SUID (File with SUID Permissions);
- примонтированные тома (Mapped Drives (NFS));
- чувствительные файлы и директории (Potentially Interesting Files);
- изменение среды окружения (Environment Variable Path);
- модификация сетевого интерфейса и трафика (Network Information — interfaces, arp, netstat);
- модификация запущенных процессов в оперативной памяти (Running Processes);
- задачи, запускаемые по расписанию (Cronjobs);
- использование утилиты sudo для пользователя (User’s Sudo Right);
- различные манипуляции с исходным и бинарным кодом (Wildcard Injection).
PXEnum (Post eXploitation Enumeration script for Linux)
Основная задача данного скрипта — функция перечисления (англ. Enumeration). Он вытаскивает всю доступную информацию о системе. Скрипт создан для настоящих лентяев. Окей, если высказаться более политкорректно, то «для тех, кто ценит свое время». 🙂 Встроенные команды позволяют также угонять хеши паролей, содержание директорий, все сведения о системе, наличие application-серверов, приложений, соединений, юзеров.