Найти в Дзене
Litl-Admin.ru

Систему взломали. Продолжаем разбор (Часть 4)

Продолжаю разбор кейса со взломанной системы. Надеюсь, вы пришли сюда с подписки? Если нет - то что-то может быть не совсем понятно. В ранних постах я описывал суть произошедшего, а в данном - пару частностей, которые удалось выявить в дальнейшем. Итак, мы продолжаем наш разбор.

Кстати, буду благодарен за обратную связь - я впервые делаю подобный обзор здесь и не знаю, понятен ли (и подходит ли вам такой формат), если да - поставьте лайк.

Идём дальше. В каталоге C:\Program Files (x86)\ обнаружен файл test.exe, который я решил поковырять.

Из любопытного там есть вот что:

-2

Байты из диапазона ASCII. Попробуем выстроить их в нужном порядке и посмотреть, что получится:

C:\Program Files\AppPatch\
C:\Program Files\AppPatch\

Я расставил байты по порядку и перевёл в ASCII коды - получился путь "C:\Program Files\AppPatch\". Идём в тот каталог и видим там один единственный файл mysqld.dll. Хммм.. Откроем HEX-редактором mysqld.dll:

mysqld.dll
mysqld.dll

Ничего не напоминает? На первый взгляд - ничего, но если приглядеться - то уж очень похожа эта структура на ... обычный EXE-файл, со слегка модифицированными байтами, например вот этот:

Вот так выглядит обычный EXE-файл
Вот так выглядит обычный EXE-файл

Характерный MZ-заголовок, а также строка "This program cannot be run in DOS mode.". Пока мы её не увидим - содержимое можно считать зашифрованным.

На первый взгляд похоже на просто поXOR-еное содержимое. И кажется, что поXORено на байт FE (т.к. где нули - там стоит FE). Попробуем модифицировать данные в WinHEX:

XOR на FE
XOR на FE

Ммм... Если честно - получилась каша, но чуточку лучше. Да, нули появились, но EXE-файл от этого не стал нормальным - нет характерных заголовков.

Попробуем разобраться, как он закодирован. Поковырялся в IDA и нашёл интересный фрагмент:

Здесь заложено кодирование.
Здесь заложено кодирование.

Переменные я подписал, так что всё понятно - на вход подаётся выделенный буфер памяти, в котором содержится наш EXE, а также размер файла. Вот что нужно сделать исходя из алгоритма, чтобы раскодировать EXE - поXOR-ить со значением 0x3D, затем его же и прибавить. Пробуем.

И ррраз!

После XOR 0x3D
После XOR 0x3D

И два!

После ADD 0x3D
После ADD 0x3D

Вот это уже похоже на валидный EXE-файл. Видим, что он упакован UPX. Декодируем как в предыдущих постах.

Подсчитаем SHA256 и кинем поиск на VirusTotal. Вот что вышло. Файл успешно детектится многими антивирусами, в т.ч. с метками KeyLogger Backdoor и т.д. В общем было очень интересно и познавательно.

Подписывайтесь на канал, чтобы не пропустить очередной разбор какого-либо вредоноса, который нам напихали за пару часов...

Понравилось? Поддержите лайком.

Ссылка на следующую часть

Рекомендуем почитать
Документы, вакансии и контакты