| Hacked с ресурса CyberDefenders. Мы научимся извлекать артефакты из образа диска системы Linux, анализировать их и по этим данным выясним, как злоумышленник скомпрометировал систему. По сценарию злоумышленники взломали веб‑сервер и завладели полным контролем над ним. Специалисты по реагированию на инциденты получили побитовую копию системного диска скомпрометированной машины на базе операционной системы Linux. Загрузим файл образа и начнем его исследовать. 
 Разделим наше расследование на три этапа: 
 Анализ конфигурационных файлов операционной системы Linux.Поиск точки входа злоумышленников в систему.Поиск методов постэксплуатации в системе.
 
 Используемые утилиты: FTK Imager — инструмент для анализа и получения образов диска.
 R-Studio — утилита для восстановления данных с диска.
 Plaso — утилита на Python, предназначенная для генерации времени событий операционной системы. Подробнее о ней читай в статье «Таймлайн всего. Используем Plaso для сбора системных событий».
 
   Монтируем образ диска
 Прежде чем начать извлекать данные из образа диска, давай разберемся, с каким образом мы имеем дело и как его правильно анализировать. Для этого воспользуемся утилитой file, входящей в Linux. Формат образа диска Файл образа диска Webserver.E01записан в формате Expert Witness Format (EWF) и содержит побитовую копию данных. Сконвертировать его в цифровую копию диска можно с помощью утилиты EnCase. 
 Полученный образ диска можешь примонтировать в Linux — для этого ставь утилиты lvm2,ewf-tools,sleuthkit,kpartxи воспользуйся мануалом. Но я покажу другой вариант. Примонтируем исследуемый диск в Windows и извлечем из него необходимые артефакты для расследования инцидента. 
 Откроем утилиту FTK Imager и примонтируем образ диска. Для этого переходим на вкладку File → Image Mounting. В поле Image File выбираем образ Webserver.e01и вводим настройки, указанные ниже. 
 Настройки для монтирования образа Нажимаем Mount, и исследуемый образ должен примонтироваться. Мы увидим следующую информацию. 
 Вывод результатов монтирования образа Теперь открываем R-Studio и видим примонтированные виртуальные диски. 
 Список примонтированных виртуальных дисков Нас интересует диск Virtual Storage 1.00 → F, так как его ФС — ext4. Далее выбираем диск F и нажимаем «Сканировать». Утилита R-Studio начнет сканировать адресное пространство диска и искать в нем все файлы, в том числе удаленные. После завершения сканирования переходим в диск F в интерфейсе R-Studio и получим все каталоги и файлы файловой системы. 
 Завершение сканирования диска Структура файловой системы виртуального диска F  Изучаем конфиги ОС
 Получим информацию о системе, чтобы понимать, какие сервисы установлены, с какой операционной системой работаем и какие пользователи существуют. Эта информация расположена в каталоге /etcфайловой системы Linux. Информацию об имени компьютера ты найдешь в файле/etc/hostname(в нашем случае этоVulnOSv2). В файле/etc/os-releaseсодержится информация об операционной системе (Ubuntuверсии14.04.4 LTS). 
 Информация о скомпрометированной операционной системе В файле /etc/networks/interfacesхранится сетевой адрес, но в нашем случае для получения IP-адреса в сети организации используется протокол DHCP. В каталоге/etcя обнаружил следующее установленное ПО: Drupal 7, веб‑сервер Apache 2, СУБД MySQL и PostgreSQL, а также почтовый сервис Postfix. 
 Проанализируем информацию о пользователях. Нас интересуют файлы /etc/passwdи/etc/shadow. 
 Содержимое файла /etc/passwd /etc/passwdсодержит информацию о пользователях системы: имя пользователя, идентификаторы пользователя и группы, комментарий, описывающий аккаунт, путь к домашнему каталогу и программа, которая каждый раз запускается при входе пользователя в систему. Нас интересуют пользователи, которые могут запускать командную оболочку/bin/bashпри входе в систему. Таких пользователей пять:root,mail,php,vulnosadminиpostgres.
 
 В файле /etc/shadowхранятся хешированные пароли пользователей. Доступ к этому файлу имеет только привилегированный аккаунт. 
 Содержимое файла /etc/shadow Формат хеша пользовательского пароля: 
 Идентификатор алгоритма id=6соответствует алгоритму хеширования SHA-512. Попробуй сам скопировать выделенную на рисунке строку хеша пароля пользователяmailи пробрутить его утилитой John the Ripper со словарем rockyou.txt: 
 john hash.txt --wordlist=rockyou.txt
Вывод утилиты John Проанализируем файл /etc/group, чтобы понимать, какие пользователи состоят в группеsudo. 
 Часть содержимого файла /etc/group В этом файле содержится 58 групп, а в группу sudoвходят пользователиphpиmail. Значит, они могут выполнять команды от имени суперпользователя root. Найдем правила о предоставлении доступа для группыsudo. Они описываются в файле/etc/sudoers. 
 Содержимое файла /etc/sudoers Это правило означает, что все пользователи группы sudoмогут выполнять любые действия в системе от имени администратора. 
 Определим версию и конфигурацию сайта на Drupal. Для этого переходим в каталог /var/www/html/jabc, в файле/var/www/html/jabc/includes/bootstrap.incсодержится версия CMS системы. Это Drupal 7.26 — она уязвима, и для нее есть эксплоиты, дающие удаленное выполнение кода. В качестве веб‑сервера установлен Apache 2. Файл его конфигурации расположен в/etc/drupal/7/htaccess. 
 Итак, на этом этапе мы с тобой выяснили, с какой операционной системой мы имеем дело, какое ПО на ней установлено и какие настройки заданы. 
   Ищем точку входа
 Теперь нам нужно понять, как злоумышленник впервые получил доступ к скомпрометированной системе. Для этого проанализируем логи ОС. Все журналы событий Linux хранятся в каталоге /var/log. Анализ этих файлов и сопоставление со временем начала инцидента позволит нам восстановить полную картину событий. 
 Перейти обратно к новости
 |