Содержание статьи
Мы продолжим работу, начатую в моей прошлой статье, где мы начали реверсить Agent Tesla и вытащили шелл‑код из инсталлятора NSIS.
Загружаем шелл-код в дизассемблер
В прошлый раз мы договорились использовать Ghidra, продолжим традицию и в этой статье. Итак, загружаем файл c шелл‑кодом в дизассемблер и видим, что начало шелл‑кода не дизассемблировалось: перед нами просто необработанные байты. Это не нужно игнорировать, потому что неправильное начало анализа может поломать кучу остального проанализированного кода.
Не страшно, просто ставим курсор на начало байтовой строки и выбираем в контекстном меню Disassemble, дальше Ghidra сделает все за нас.
После того как привели анализ в порядок, видим с самого начала шелл‑кода переход в функцию. Идем в нее и смотрим в начало — там видим портянку кода, где данные помещаются на стек. Приводим эти данные в удобочитаемый вид (приводим числа в char в контекстном меню), видим появившееся название файла djdqvq.
. Вспоминаем, что это один из трех файлов, которые находились в NSIS-инсталляторе. Стало быть, шелл‑код работает с этим файлом.
Интересно, что будет, если загрузить этот файл в DIE? Инструмент не определил ровным счетом ничего, но на вкладке энтропии можно увидеть картину, характерную для сплошного шифротекста.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»