Cherkes
Начинающий
- Регистрация
- Сообщения
- 19
- Реакции
- 0
Об атаках банковского трояна RTM на бухгалтеров и финансовых директоров писали довольно много, в том числе и эксперты Group-IB, но в публичном поле пока еще не было ни одного предметного исследования устройств, зараженных RTM. Чтобы исправить эту несправедливость, один из ведущих специалистов Group-IB по компьютерной криминалистике — Олег Скулкин подробно рассказал о том, как провести криминалистическое исследование компьютера, зараженного банковским трояном в рамках реагирования/расследования инцидента.
С чего все началось
О деятельности преступной группы RTM исследователям стало известно в декабре 2015 года. С тех пор фишинговые рассылки, распространяющие данный троян, попадают в электронные почтовые ящики потенциальных жертв с завидным постоянством.
Как вы уже знаете, c сентября по декабрь группа RTM разослала более 11 000 вредоносных писем. На достигнутом киберпреступники останавливаться не собираются, о чем свидетельствуют все новые рассылки, которые мы фиксируем как на сенсорах, защищающих наших клиентов, так и в рамках деятельности по сбору данных об актуальных угрозах.
В этой статье я расскажу, как провести криминалистическое исследование, или попросту форензику, образа накопителя компьютера, зараженного банковским трояном RTM.
Необходимые вводные
Представим, что мы не знаем о заражении компьютера RTM, а имеем лишь факт компрометации, результатом которой стало хищение денежных средств – это позволит выстроить процесс исследования более интересно, а также сделать его применимым и для других кейсов.
Итак, все, что у нас есть – образ накопителя компьютера в формате «E01» (Encase Image File Format). Для начала неплохо было бы узнать, что там внутри. Как минимум, операционную систему, ведь именно от нее и ее версии, конечно, зависит наличие тех или иных криминалистических артефактов, которые нам предстоит исследовать.
1. Воспользуемся утилитой mmls из пакета the Sleuth Kit Браяна Кэрриера:
Что же мы имеем? Несколько NTFS-разделов, похожих на Windows. Нужно убедиться наверняка – попробуем отыскать файлы реестра, например, SOFTWARE.
2. Воспользуемся утилитами fls (the Sleuth Kit) и findstr, чтобы узнать соответствующий номер записи в главной файловой таблице (MFT):
Отлично, теперь мы можем скопировать необходимый нам для дальнейшего анализа файл с помощью icat (the Sleuth Kit):
icat -o 718848 E:\RTM.E01 234782 > SOFTWARE
Итак, у нас есть файл реестра SOFTWARE, извлечь наиболее значимую информацию из которого мы можем, например, при помощи RegRipper Харлана Карви. В данный момент нас интересует содержимое раздела Microsoft\Windows NT\CurrentVersion:
Теперь мы знаем, что исследуемый компьютер работал под управлением ОС Windows 7 Professional с пакетом обновления SP1, а, значит, знаем, с какими криминалистическими артефактами можем столкнуться, и какие из них нам могут понадобиться.
С чего же начать наши поиски? Вспомним парадокс Джесси Корнблума: «Malware can hide, but it must run». Неплохим началом может стать поиск потенциальных механизмов закрепления в системе, которые позволяют вредоносным программам осуществлять повторный запуск после перезагрузки компьютера.
Начнем с простого: возьмем файл реестра NTUSER.DAT из каталога пользователя (С:\Users\%username%\) с самой свежей датой модификации и извлечем из него данные при помощи все того же RegRipper. Если мы снова хотим получить номер записи необходимого нам файла средствами fls и findstr, то следует добавить параметр –p для fls – это позволит утилите вывести еще и полные пути к файлам. Зачем это нужно? Дело в том, что файл NTUSER.DAT есть в каталоге у каждого пользователя, а SOFTWARE один на всю систему, поэтому в данном случае важно получить номер записи определенного файла. В общем-то, использовать the Sleuth Kit совсем не обязательно, есть и более удобные инструменты, например, FTK Imager – бесплатный инструмент разработки AccessData, который может быть использован не только для создания криминалистических копий, но и исследования их содержимого:
Начнем с низко висящих фруктов, так называемых «run keys»:
Итак, что мы имеем? Раздел был последний раз изменен 7 ноября, и мы видим, что при входе пользователя запускается файл apg.exe из не самого стандартного расположения. Посмотрим, что еще можно найти в каталоге b7mg81:
TeamViewer? Интересно. Посмотрим на apg.exe поближе – воспользуемся PPEE:
Выглядит как TeamViewer, подписан как TeamViewer, значит это TeamViewer? Похоже на то. Но все не так просто. Давайте посмотрим на таблицу импортов:
Так, msi.dll, где-то мы этот файл уже видели, и это не С:\Windows\System32, а все тот же каталог b7mg81. Судя по размеру, ничего общего с оригинальным msi.dll он не имеет, а значит налицо — DLL Search Order Hijacking: операционная система начинает поиск необходимых библиотек с текущей директории, а это значит, что вместо легитимной msi.dll будет загружена та, которая находится в b7mg81.
Еще один интересный файл – TeamViewer.ini:
А вот и контр-форензика: судя по конфигурационному файлу, журналов наш TeamViewer не вел, и, видимо, использовался в качестве RAT. Что ж, неплохо. Пора выяснить, а запускался ли он вообще.
В Windows довольно много артефактов, указывающих на запуск исполняемых файлов. Давайте продолжим работать с реестром, на этот раз с файлом SYSTEM. Для того, чтобы извлечь из него данные, можно снова воспользоваться RegRipper.
Нас интересует ControlSet001\Control\Session Manager\AppCompatCache. Здесь мы найдем список исполняемых файлов с путями к ним, датами последней модификации (согласно атрибуту $STANDARD_INFORMATION), а также флагом, указывающим на то, запускался файл или нет: