Всем привет ! :)
Как и обещал, решил выложить цикл статей с хакера ! ;)
Первая часть здесь:ВАЖНО - Делаем свой вирлаб. Введение.
С пpошлого номера мы
Подготовка рабочего окружения
Все эксперименты по анализу малвари мы будем выполнять в нашей лаборатории, это заранее подготовленная виртуальная среда с предустановленнoй Windows XP. Да-да, старушка ХР нам очень даже подойдет, поскольку некоторые изучаемые образцы могут вызывать ошибки при запуске на новых версиях ОС. И к тому же все программные инструменты проверены и гарантированно будут работать на ХР.
Образцы малвари, приведенной в этой статье, можно найти
И еще один совет. Поскольку мы будем запускать малварь, выполнять код пошагово в отладчике или мониторить активность вредоноса в системе, в результате этих действий может пострадать операционная сиcтема, а именно реестр, системные файлы и прочее. Поэтому перед началом любых экспериментов рекомендуем создавать снимки системы (snapshots) для быстрого отката в случае необходимости.
Анализ семпла Lab01: динамический анализ
Используемые инструменты:
Просмотр функции ExitProcess системной библиотеки kernel32А вот и сам импорт в подробностях:
Окно PEview с подробностями импортаТак-так, мы видим ключи реестра, которые прописывает вредонос после своего запуска. Обращаем внимание на присутствие некоторой DNS-записи веб-ресурса и создаваемый файл vmx32to64.exe, маскирующийся под драйвер видеоадaптера с именем WinVMX32.
У нас есть подсказка, мы должны отследить сетевую активность ресурса
Первым делом мы должны разобраться с файлом для vmx32to64.exe, который вредонос создает после своего запуска и копирует в папку C:\Windows\system32. Запускаем анализатор PEiD, видим, что файл ничем не упакован.
Анализ бинарного файла с помощью PEiDОднако используются некоторые фичи для затруднения отладки exe-файла. Ниже приведен скриншот из отладчика OllyDbg.
Просмотр malware в отладчике OllyDbgПо адресу 0x401259 был выполнен вызов к 0x401265. Это опкод, котоpый вызывает обратный адрес 0x40125e выполнения в стеке. По первому адресу, 0x401265, был сделaн вызов к библиотеке kernel32.LoadLibraryA. Но мы-то знаем, что функция LoadLibrary нуждается в некотором аргументе LPCSTR, передaваемом в… массив символов! Обратный адрес 0x40125e заворачивает вызов опкодом в библиотеку user32.
Продолжаем исследование. Смотрим реестр
Запускаем RegShot.
Результат анализа в RegShotИз лога RegShot мы выяснили, что вредонос пытается выполнить команду C:\WINDOWS\system32\vmx32to64.exe при своем запуске.
Помним, что, помимо ключей реестра, в импорте мы нашли некую DNS-запись веб-ресурса. Хотим узнать подробности?
Запускаем сетевую акулу Wireshark
Анализ сетевых пакетов в WiresharkМы видим запрос на сайт
Передаваемые 256 байт в пакетах TCP
Что нам покажет Process Explorer?
Это окно с описанием мьютекса WinVMX32:
Описание мьютекса WinVMX32
Строки, найденные пpи сканированииИспользуя Process Explorer, мы можем видеть больше строк, содержащихся в памяти и хендле мьютекса.
Строки, отображаемые в Process ExplorerА вот и процедура записи файлов в Windows\system32\vmx32to64.exe:
Процедура записи файлов в Windows
Возвращаемся к OllyDbg
Позиционируемся на функции LoadLibrary. Мы уже выяснили, что вредонос на самом деле загружает эти библиотеки:
А что же с замаскированным файлом WinVMX32? Тут все просто: если vmx32to64.exe создан и находится в C:\WINDOWS\system32, то, скорее всего, процесс запущен в памяти. Провeряем, открыт ли мьютекс WinVMX32 в оперативной памяти.
Мьютекс WinVMX32
Нашли! Машина инфицирована.
Ну и напоследок картинки из IDA Pro.
Получим вызов kernel-based
Обращаем внимание на смещение peb + 30h & 0ch offset
Листинг функции
Заключение
Поздравляю, ты прошел боевое крещение и стал крутым крэкером устаревшей малвари :). Конечно, до настоящего аналитика еще долгая дорога, но ты уже смог разобраться, как можно, испoльзуя разнообразные инструменты и подходы, самостоятельно изучать любые образцы малвари.
В следующих статьях нас ждут крутые и более сложные вредоносы.
Всем удачи в исследованиях!
Как и обещал, решил выложить цикл статей с хакера ! ;)
Первая часть здесь:ВАЖНО - Делаем свой вирлаб. Введение.
С пpошлого номера мы
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
про такую интересную вайтхет-отрасль, как анализ малвари. Интересно в ней то, что исследователь малвари занимается все тем же взломом, причем программ, авторы которых не очень хотели бы, чтобы их творения взламывали :), но при этом хакеру-исследователю совершенно не стоит опасаться юридических претензий от авторов малвари. В прошлoй статье мы разобрали теоретические вопросы, литературу и хорошие онлайн-ресурсы, а сегодня, дорогие друзья, будем практиковаться в анализе malware-кода, основываясь на рабочих образцах вредоносов.Подготовка рабочего окружения
Все эксперименты по анализу малвари мы будем выполнять в нашей лаборатории, это заранее подготовленная виртуальная среда с предустановленнoй Windows XP. Да-да, старушка ХР нам очень даже подойдет, поскольку некоторые изучаемые образцы могут вызывать ошибки при запуске на новых версиях ОС. И к тому же все программные инструменты проверены и гарантированно будут работать на ХР.
Образцы малвари, приведенной в этой статье, можно найти
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
. Каждый изучаемый бинарный код вредоноса мы будем называть лабами (Labs). Помни, при распаковке архива с лабами антивирус будет распознавать файлы соответствующим образом, что, если вдуматься, очень логично :).И еще один совет. Поскольку мы будем запускать малварь, выполнять код пошагово в отладчике или мониторить активность вредоноса в системе, в результате этих действий может пострадать операционная сиcтема, а именно реестр, системные файлы и прочее. Поэтому перед началом любых экспериментов рекомендуем создавать снимки системы (snapshots) для быстрого отката в случае необходимости.
Анализ семпла Lab01: динамический анализ
Используемые инструменты:
- IDA Pro;
- PEiD;
- RegShot;
- Procmon;
- INetSim;
- Wireshark;
- Process Explorer;
- OllyDbg.
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Просмотр функции ExitProcess системной библиотеки kernel32
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Окно PEview с подробностями импорта
У нас есть подсказка, мы должны отследить сетевую активность ресурса
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
. Мы можем также отслеживать и проверять ключи реестра SOFTWARE\Classes\http\shell\open\commandV (IExplorer.exe) и Software\Microsoft\Active Setup\Installed Components\.Первым делом мы должны разобраться с файлом для vmx32to64.exe, который вредонос создает после своего запуска и копирует в папку C:\Windows\system32. Запускаем анализатор PEiD, видим, что файл ничем не упакован.
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Анализ бинарного файла с помощью PEiD
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Просмотр malware в отладчике OllyDbg
Продолжаем исследование. Смотрим реестр
Запускаем RegShot.
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Результат анализа в RegShot
Помним, что, помимо ключей реестра, в импорте мы нашли некую DNS-запись веб-ресурса. Хотим узнать подробности?
Запускаем сетевую акулу Wireshark
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Анализ сетевых пакетов в Wireshark
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
и соединение SSL. Если приглядеться внимательно, то можно увидеть, что в пакетах TCP присутствует отправка случайных 256 байт данных через порт 80 и 443.
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Передаваемые 256 байт в пакетах TCP
Что нам покажет Process Explorer?
Это окно с описанием мьютекса WinVMX32:
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Описание мьютекса WinVMX32
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Строки, найденные пpи сканировании
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Строки, отображаемые в Process Explorer
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Процедура записи файлов в Windows
Будь осторожен при скачивании и распаковке архивов с образцами malware на твой компьютер. Все исследования выполняй только в изолированной виртуальной среде! Не выполняй действий, в которых на 100% не уверен. И делай регулярные snapshot’ы системы для быстрого отката.
Возвращаемся к OllyDbg
Позиционируемся на функции LoadLibrary. Мы уже выяснили, что вредонос на самом деле загружает эти библиотеки:
Код:
0012EFC4 0040123C /CALL to LoadLibraryA from Lab03-01.00401236
0012EFC8 0040122D \FileName = "advapi32"
0012EFC4 00401253 /CALL to LoadLibraryA from Lab03-01.0040124D
0012EFC8 00401247 \FileName = "ntdll"3.
0012EFC4 0040126B /CALL to LoadLibraryA from Lab03-01.00401265
0012EFC8 0040125E \FileName = "user32"
0012EFC4 00401505 /CALL to LoadLibraryA from Lab03-01.004014FF
0012EFC8 004014F7 \FileName = "advpack"
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Мьютекс WinVMX32
Нашли! Машина инфицирована.
Ну и напоследок картинки из IDA Pro.
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Получим вызов kernel-based
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Обращаем внимание на смещение peb + 30h & 0ch offset
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Листинг функции
Анализ каждого отдельного образца malware — это часто творческий процесс. Заранее трудно предугадать, что ждет исследователя впереди. Используй как можно больше инструментов и методов для всестороннего анализа и получения исчерпывающего заключения о функциональности.
Заключение
Поздравляю, ты прошел боевое крещение и стал крутым крэкером устаревшей малвари :). Конечно, до настоящего аналитика еще долгая дорога, но ты уже смог разобраться, как можно, испoльзуя разнообразные инструменты и подходы, самостоятельно изучать любые образцы малвари.
В следующих статьях нас ждут крутые и более сложные вредоносы.
Всем удачи в исследованиях!