Вредоносное программное обеспечение, позволяющее восстановить структурную схему по исходным данным (Часть 2)

Published on Февраль 2, 2009 by   ·   Комментариев нет

В первой части этой статьи мы обсудили в основном вспомогательный материал. Теперь, когда был положен фундамент, мы можем приступить к самому процессу восстановления структурной схемы по исходным текстам (reverse engineering) или rev eng, как многие его называют.

Если вы хотите ознакомиться с остальными частями этой статьи, пожалуйста, прочитайте:

Reverse engineering и вы. Часть II

В первой части этой статьи мы остановились на том, что обсудили навыки, которые необходимы для того, чтобы провесит восстановление структурной схемы по исходным текстам (reverse engineering) на базовом уровне (basic level). Самое необходимое знание, которые для этого требуется, это программирование (programming). Вам не обязательно быть программистом корпоративного уровня (enterprise level programmer) для того, чтобы попрактиковаться в reverse engineering. Я даже пойду еще дальше и скажу, что вам вовсе не обязательно даже быть программистом. Все что вам необходимо, это хорошо понимать функции программирования (programming function), и как минимум, уметь читать и понимать исходные тексты (source code). Эта возможность приведет к знанию таких функций, как “sprintf”, например.

Наконец

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

52

Рисунок 1

Теперь, когда вы перешли на домашнюю страницу, наберите слово trojan (троянский конь) и нажмите ввод. Теперь вашему вниманию будет представлен список примеров вредоносного программного обеспечения (malware), которые вы можете загрузить в свое удовольствие. Прелестно, не так ли! В случае, если вы сомневаетесь в полученных вами результатах, пожалуйста, посмотрите на рисунок ниже.

53

Рисунок 2

Теперь я пойду дальше и загружу троянского коня (trojan) за последнюю неделю, но сейчас его уже нет в списке. Но это не столь важно, т.к. все, что я покажу для трояна (trojan), который загрузил я, ничем не будет отличаться для троняна, который загрузите вы сами. Пожалуйста, помните, что вредоносное программное обеспечение вы загружаете на свой страх и риск. Пожалуйста, убедитесь, что вы работаете с примером вредоносного программного обеспечения (malware), которые вы загрузили, в безопасном окружении, а именно вы делаете это не в промышленной среде (production system)! Извините, если я говорю очевидные вещи, но я хочу быть уверенным, что между нами нет недопонимания.

Что теперь?

В самом деле, хороший вопрос. Что теперь? Теперь, когда у вас есть пример вредоносного программного обеспечения (malware), который вы аккуратно перенесли на образ VMware image или отдельно стоящий компьютер, мы можем приступить к его рассмотрению. Перед тем, как сделать это, было бы неплохо применить методический подход (methodical approach). Под этим я подразумеваю, что вы должны начать вашу аналитическую методологию правильно. Т.е. вы должны начать выполнять восстановление структурной схемы по исходным текстам (reverse engineering) на регулярной основе (regular basis). По существу, вы можете выделить похожие части вредоносного программного обеспечения (malware). Проблема заключается в том, как однозначно различить две части вредоносного программного обеспечения (malware)? Для этого используются хеш-противоречия (hash collision), это можно сделать с помощью MD5 hash. Вредоносное программное обеспечение (Malware) часто имеет много вариаций, поэтому иногда увидеть различие между ними бывает очень сложно, если ваши навыки в reverse engineering не очень сильно развиты. Поэтому использование MD5, которое упоминается выше, может быть очень полезным.

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

54

Рисунок 3

Обратите внимание, что для содержимого папки “debanot” был применен MD5. Мы видим информацию о хеше, плюс название файла и его размер, измеряемый в байтах. В общем, это очень неплохая возможность. Я настоятельно рекомендую запускать MD5 hash для всех частей вредоносного программного обеспечения (malware), которое вы анализируете перед тем, как в результате его активности возникнут какие-либо изменения. Это позволит сэкономить немало времени, чтобы в будущем не анализировать то же самое вредоносное программное обеспечение дважды. Вы можете познакомиться с MAP более близко и узнать, что у него есть много инструментов, которые можно использовать для анализа вредоносного программного обеспечения (malware analysis). Это было целью написания этой программы. Я рекомендую вам изучить многие другие возможности MAP.

Мы еще здесь?

Итак, мы хоть немного приблизились к взлому исполняемого модуля вредоносного программного обеспечения (malware)? Да, да, мы на пути! Если вы скажете, что терпение – это качество, присущее мастеру, то я соглашусь с вами. Теперь, когда у нас есть пример вредоносного программного обеспечения (malware), и мы использовали для него MD5 hash, мы готовы двинуться дальше. Для продолжения нам нужен редактор шестнадцатиричного кода (hex editor). Существует несколько хороших шестнадцатиричных редакторов (hex editor), но тот, который буду использован мной, выпущен компанией Heaventools. Хотя существует много бесплатных шестандцатиричных редакторов, но мне кажется, что вы получает то, за что платите, поэтому я рекомендую использовать коммерческий редактор. Но вы вольны выбирать то, что вам нравиться, т.к. любой редактор будет выполнять свою работу.

Теперь я не знаю, как выглядит файл вредоносного программного обеспечения (malware), которое вы загрузили, т.к. я не загружал его для вас. Под этим я подразумеваю следующее, имеет ли вредоносное программное обеспечение (malware), которое вы нашли по ключевому слову trojan (троян) на Metasploit, какую-нибудь особую иконку? Выглядит ли она как обычная иконка winzip или winrar, которые мы привыкли видеть? Или же он выглядит, как обычный исполняемый файл Microsoft Windows в формате PE format? Вы можете сказать сами себе следующее: “Великолепно! Дон подготавливает меня к какому-то долгому и витьеватому объяснению ….”. Вы будете правы, если подумаете так.

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

Источник www.windowsecurity.com


Смотрите также:

Readers Comments (Комментариев нет)




Да человек я, человек! =)




Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]