Обратный инжиниринг вредоносных программ (часть 2)

Опубликовано: 11 Апреля, 2023

  • Обратный инжиниринг вредоносных программ (часть 1)
  • Обратный инжиниринг вредоносных программ (часть 3)
  • Обратный инжиниринг вредоносных программ (часть 4)
  • Обратный инжиниринг вредоносных программ (часть 5)

В первой части этой серии статей, посвященной обратному инжинирингу, мы обсудили довольно много справочного материала. Теперь, когда основа заложена, мы начнем с самого процесса возмездия, как многие его называют.

Реверс-инжиниринг и вы, часть 2

Мы остановились в первой части, обсудив навыки, необходимые для выполнения реверсивного проектирования на базовом уровне. Наиболее важным навыком, который требуется, является навык программирования. Вам не нужно быть программистом уровня предприятия, чтобы практиковать реверс-инжиниринг. Черт возьми, я бы даже сказал, что вам вообще не нужно быть программистом. Что вам нужно, так это хорошее понимание функций программирования и, как минимум, умение читать и понимать исходный код. Эта способность, естественно, приведет к пониманию того, что такое функции программирования, например, «sprintf».

Окончательно

Итак, после долгих задержек с моей стороны, теперь мы загрузим образец вредоносного ПО. Это будет сделано с ранее упомянутого веб-сайта Metasploit, который отлично справляется с поиском вредоносных программ для нас. Перейдите по следующей ссылке и еще раз помните, что вы загружаете вредоносное ПО на свой страх и риск. После того, как вы перейдете по ссылке, вы должны увидеть скриншот ниже.

Изображение 25104
фигура 1

Теперь, когда у вас есть домашняя страница, введите слово троян и нажмите Enter. Теперь вам будет представлено множество образцов вредоносных программ для вашего удовольствия. Довольно изящно, не правда ли! Еще раз спасибо HDM за его работу. Если вы не уверены в результатах, которые вы должны увидеть, просмотрите скриншот ниже.

Изображение 25105
фигура 2

Теперь я пошел дальше и скачал троян на прошлых выходных, но его там больше нет. Это действительно не имеет большого значения, поскольку шаги, которые я предприму с загруженным трояном, могут быть применены к любой вредоносной программе, которую вы решите загрузить самостоятельно. Помните, что вы загружаете вредоносное ПО на свой страх и риск. Пожалуйста, убедитесь, что вы работаете с любым образцом вредоносного ПО, которое вы загружаете, в безопасной среде, то есть: не делайте этого в производственной системе! Извините, я не хочу констатировать очевидное, но я хочу убедиться, что здесь нет недопонимания.

Что теперь?

Действительно справедливый вопрос. Что теперь? Что ж, теперь, когда у вас есть образец вредоносного ПО, безопасно загруженный на образ VMware или на отдельный компьютер, мы можем приступить к его изучению. Прежде чем делать это, рекомендуется начать с методического подхода. Под этим я подразумеваю начать свою методологию анализа с правильных шагов. Здесь предполагается, что вы, скорее всего, начнете регулярно заниматься поверхностным реверс-инжинирингом. Таким образом, вы можете столкнуться с фрагментами вредоносного ПО, которые, как вы клянетесь, являются одними и теми же. Проблема в том, как точно отличить два вида вредоносных программ? Что ж, за исключением коллизий хэшей, один из способов сделать это — использовать хэш MD5. Вредоносное ПО часто имеет много вариантов, и иногда может быть сложно определить разницу между ними, если ваши навыки обратного проектирования не на должном уровне. Имея это в виду, использование хеша MD5, как уже отмечалось, может быть очень полезным.

Вы можете скачать некоторые утилиты, которые сделают это за вас в Windows. Я бы посоветовал вам загрузить следующую программу под названием MAP или Malcode Analyst Pack, которая была подарена сообществу хорошими людьми из iDefense. Эта очень изящная программа сделает для вас многое, включая возможность запуска контрольных сумм MD5 для файлов и папок. Программа поставляется в пакете MSI, и ее установка проста. После этого вы заметите, что после того, как вы щелкнете правой кнопкой мыши по определенному файлу или папке, вам будет представлено больше параметров, чем обычно. В нашем случае это «Hash Files». Затем вы просто выбираете эту опцию и позволяете программе делать свою работу. Взгляните на скриншот ниже для примера вывода.

Изображение 25106
Рисунок 3

Вы заметите, что содержимое папки «debanot» было подвергнуто хешированию MD5 с тем же самым показанным значением. Это, а также другая ключевая информация, такая как имя файла и размер, измеренный в байтах. В общем, очень приятная функция, которая всегда будет у вас под рукой. Я настоятельно рекомендую вам запускать хэш MD5 против любой части вредоносного ПО, которое вы анализируете, прежде чем вносить в него какие-либо возможные изменения. Таким образом, вы сэкономите себе изрядное количество работы в будущем, не анализируя одно и то же вредоносное ПО дважды. Возможно, вы внимательно изучили MAP и увидели, что в нем есть много функций, которые можно использовать для анализа вредоносного ПО. Это действительно было целью дизайна, когда программа была написана. Я, безусловно, рекомендую вам изучить многие другие функции MAP.

Мы уже на месте?

Приблизились ли мы к фактическому взлому исполняемого файла вредоносного ПО? Да, да, мы! Если вы говорите, что терпение — это добродетель, на овладение которой уходит слишком много времени, я соглашусь с вами. Теперь, когда у нас есть вредоносное ПО и мы взяли его хэш MD5, мы готовы двигаться дальше. Теперь вам понадобится шестнадцатеричный редактор. Есть несколько хороших шестнадцатеричных редакторов, но я буду использовать тот, который принадлежит Heaventools. Хотя существует много бесплатных шестнадцатеричных редакторов, я чувствую, что вы часто получаете то, за что платите, поэтому я использую коммерческий. Не стесняйтесь использовать любой из них, который вам нравится, так как он, скорее всего, все равно выполнит свою работу.

Теперь я не уверен, как выглядит загруженный вами файл вредоносного ПО, поскольку я не загружал его для вас. Что я подразумеваю под этим; Представляло ли вредоносное ПО, которое вы загружаете, используя ключевое слово trojan в поисковой системе вредоносных программ Metasploit, какой-либо конкретный значок? Представляет ли он вам типичный значок winzip или winrar, который мы все привыкли видеть? Это или вы видите значок, который обычно представляет исполняемый файл Microsoft Windows, также известный как формат PE? Вы можете сказать себе следующее: «Отлично! Дон настраивает меня на какое-то длинное объяснение…». Ну, вы действительно были бы правы, говоря это. Будьте уверены, что у меня есть веская причина спросить, отображается ли загруженное вами вредоносное ПО в виде значка winzip или winrar.

Как я уже говорил ранее, при анализе вредоносного ПО необходимо предпринять ряд шагов. Кроме того, не всегда верьте тому, что говорят вам ваши глаза. В мире вредоносных программ не всегда все так, как кажется. Большая часть мира вредоносных программ развивается вокруг обмана пользователя. Вы и я, однако, теперь не обычные обезьяны безопасности. На этой загадочной ноте я закончу вторую часть этой серии статей о обратном инжиниринге. Оставайтесь с нами, потому что в третьей части мы действительно доберемся до хороших вещей! До тех пор.

  • Обратный инжиниринг вредоносных программ (часть 1)
  • Обратный инжиниринг вредоносных программ (часть 3)
  • Обратный инжиниринг вредоносных программ (часть 4)
  • Обратный инжиниринг вредоносных программ (часть 5)