Как стать автором
Обновить

Комментарии 4

Спасибо за отличную статью по восстановлению импорта. Несколько предложений:

  1. Если для первого образца всё равно используется IDAPython, то почему бы не получить импорт через IDA Debugger?

  2. Для восстановления импорта по хешам можно использовать плагин Shellcode_hashes от Flare/Mandiant. У них была отличная статья еще в 2012 году (https://www.mandiant.com/resources/precalculated-string-hashes-reverse-engineering-shellcode). Плагин должен работать на IDA 7.2+, они его обновляют. Конечно, в случае с использованием соли как в BlackMatter он не сильно поможет, но в таком случае всё равно без предварительно анализа не обойтись. Ведь сначала надо эту соль найти и пересчитать хеши.

Спасибо за комментарий!

  1. Резонно и возможно будет правильнее. Это больше вопрос предпочтения. Так сложилось, что я предпочитаю в качестве отладчика x64dbg или даже древний OllyDbg, IDA Debugger мне не нравится, хотя он становится все лучше. Менять предпочтения под конкретную задачу я просто не стал. К тому же с IDA Debugger ранее плохо "дружили" плагины подобные ScyllaHide. Если что, по 1 подчасти есть схожая статья Check Point, только там еще разработали плагин для взаимодействия с отладчиком.

  2. Вы сами ответили на свой вопрос. Вопрос гибкости. Стоит ли полагаться на чужой вспомогательный инструмент и постоянно дорабатывать его, чем разбираться в вопросе и быть готовым к любому возможному варианту. Кстати, в продолжение этой мысли, по вопросу, что только найти соль и пересчитать хеши. Вы уверены, что этого будет достаточно? Я вот нет

Также, в дополнение к предыдущему, поясните, пожалуйста, каким образом поможет плагин, не случайно имеющий в своем названии слово shellcode, на данном конкретном примере:

Указанный плагин в данном фрагменте не сильно поможет, тут вашим скриптам конкурентов нет. Я его привёл в качестве готового инструмента, который тоже может помочь при разборе такого рода таблиц импорта. И да, он лучше всего подходит для разбора шеллкодов.
Для данных образцов плагин максимум прокомментирует хеши, чтобы получилось примерно так:

Комментарии плагина в псевдокоде
Комментарии плагина в псевдокоде
Комментарии к найденным хешам
Комментарии к найденным хешам

Мне всё равно пришлось добавить функцию хеширования BlackMatter в скрипт сбора хешей и пересчитать базу для него, так как среди имеющихся функций хеширования ни одна не подошла. Зато теперь можно указывать соль, когда плагин ищет по всей IDB, и для образцов с другой солью пересчитывать хеши не придётся.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории