Комментарии 4
Спасибо за отличную статью по восстановлению импорта. Несколько предложений:
Если для первого образца всё равно используется IDAPython, то почему бы не получить импорт через IDA Debugger?
Для восстановления импорта по хешам можно использовать плагин Shellcode_hashes от Flare/Mandiant. У них была отличная статья еще в 2012 году (https://www.mandiant.com/resources/precalculated-string-hashes-reverse-engineering-shellcode). Плагин должен работать на IDA 7.2+, они его обновляют. Конечно, в случае с использованием соли как в BlackMatter он не сильно поможет, но в таком случае всё равно без предварительно анализа не обойтись. Ведь сначала надо эту соль найти и пересчитать хеши.
Спасибо за комментарий!
Резонно и возможно будет правильнее. Это больше вопрос предпочтения. Так сложилось, что я предпочитаю в качестве отладчика x64dbg или даже древний OllyDbg, IDA Debugger мне не нравится, хотя он становится все лучше. Менять предпочтения под конкретную задачу я просто не стал. К тому же с IDA Debugger ранее плохо "дружили" плагины подобные ScyllaHide. Если что, по 1 подчасти есть схожая статья Check Point, только там еще разработали плагин для взаимодействия с отладчиком.
Вы сами ответили на свой вопрос. Вопрос гибкости. Стоит ли полагаться на чужой вспомогательный инструмент и постоянно дорабатывать его, чем разбираться в вопросе и быть готовым к любому возможному варианту. Кстати, в продолжение этой мысли, по вопросу, что только найти соль и пересчитать хеши. Вы уверены, что этого будет достаточно? Я вот нет
Также, в дополнение к предыдущему, поясните, пожалуйста, каким образом поможет плагин, не случайно имеющий в своем названии слово shellcode, на данном конкретном примере:
Указанный плагин в данном фрагменте не сильно поможет, тут вашим скриптам конкурентов нет. Я его привёл в качестве готового инструмента, который тоже может помочь при разборе такого рода таблиц импорта. И да, он лучше всего подходит для разбора шеллкодов.
Для данных образцов плагин максимум прокомментирует хеши, чтобы получилось примерно так:
Мне всё равно пришлось добавить функцию хеширования BlackMatter в скрипт сбора хешей и пересчитать базу для него, так как среди имеющихся функций хеширования ни одна не подошла. Зато теперь можно указывать соль, когда плагин ищет по всей IDB, и для образцов с другой солью пересчитывать хеши не придётся.
Средства автоматизации анализа вредоносных программ