Переплетчики и вредоносное программное обеспечение (Часть 4)

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

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

В последней статье из этого цикла мы посмотрим на наше только что созданное вредоносное программное обеспечение (malware) различными способами. Во-первых, мы просмотрим его с помощью щестнадцатиричного редактора (hex editor), который позволит нам безопасно увидеть его содержимое, т.е. не запуская его на выполнение. С помощью этого просмотра в шестнадцатиричном редакторе мы узнаем очень много важной информации. После этого мы используем инструменты LordPE и Procdump для обнаружения всех следов активности троянского сервера (trojan server) в памяти. Это позволит нам посмотреть на вредоносное программное обеспечение в момент его работы. Наконец, мы узнаем, как выглядите вредоносное программное обеспечение, упакованное в UPX, на шестнадцатиричном уровне. Это позволит нам понять, для чего используется UPX упаковка. На этом давайте приступим.

Практикуем безопасный просмотр

Недавно я видел футболку с такой надписью “Practice safe hex” (практикуем безопасный просмотр). Но такая игра слов очень четко выражает действительность! Если вы открываете исполняемый модуль с помощью шестнадцатиричного редактора (hex editor), то вы в действительности не запускаете программу, а просто просматриваете ее содержимое. Поэтому это можно назвать безопасным просмотром. Использование шестнадцатиричного редактора для первичного просмотра подозрительной программы – это очень рекомендуемая практика. С помощью такого просмотра вы сможете убедится в некоторых аспектах, например, в действительности ли программа имеет формат PE: т.е. является ли она исполняемым модулем (Microsoft Windows executable). Упаковано ли вредоносное программное обеспечение, предполагая, что заголовки упаковки не были уничтожены, а также вытащить другую информацию с помощью ASCII, внедренный внутрь самого исполняемого кода. Давайте посмотрим на рисунок ниже.

Упаковано upx

Рисунок 1

Все исполняемые модули Microsoft удовлетворяют файловому формату Portable Executable (PE) file format, а раз так, то в начале файла у них должны находится ASCII символы “MZ”. Как мы можем убедиться, символы “MZ” действительно присутствуют там. Теперь мы с полной определенностью можем сказать, что эта вредоносная программа в самом деле является программой для Microsoft Windows. Причина, по которой я пришел к такому заключению, заключается в том, что в мире Linux такжу существует свой формат для исполняемых модулей. Файловый формат для Linux называется Executable and Linking Format (ELF). Вы можете увидеть это сокращение “ELF” в программе для Linux. Поэтому, просто открыв программу в шестнадцатиричном редакторе, вы можете узнать, предназначена она для Windows или нет.

Итак, мы также знаем, что ранее мы взяли два исполняемых модуля для Microsoft Windows и связали их вместе с помощью переплетчика YAB. Тогда возникает вопрос, а куда подевались два заголовка PE в связанной программе?” В действительности очень хороший вопрос, и я сразу же на него отвечу. Для этого я возьму связанный файл с вредоносным программным обеспечением и открою его в своем шестнадцатиричном редакторе. У заметил, что он упакован UPX.

Как выглядит вредоносная программа?

Рисунок 2

На рисунке выше мы видим, что появились ASCII строки “UPX0” и “UPX1”. Это говорит нам, что этот исполняемый модуль имеет что-то внутри, что было упаковано с помощью упаковщика UPX packer. Это делается для того, чтобы уменьшить размеры связанной программы. Поэтому, если вы видите эти строки в подозрительном файле, то вы должны понимать, что вы должны распаковать его с помощью UPX. Давайте сделаем это прямо сейчас.

Вредоносное программное обеспечение

Рисунок 3

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

Упаковано upx

Рисунок 4

В левом нижнем углу мы видим девять ссылок на байтовый шаблон “4D 5A” или “MZ” в формате ASCII. Это говорит нам о том, что очень вероятно, что в этом файле содержится более одного исполняемого модуля. Теперь я нажму на каждую ссылку и проверю, случайное ли это попадание, или еще одни заголовок PE header.

Вредоносные программы обеспечения

Рисунок 5

Из рисунка выше мы видим, что в самом деле у нас есть второй заголовок PE header в этом файле. Это говорит о том, что кто-то связал или имплантировал еще один исполняемый модуль в существующую программу, точно также, как мы сами сделали раньше. Это является четким доказательством того, что что-то не так. Мы можете сделать более смелое предположение, сказав, что вы смотрите на вредоносное программное обеспечение (malware).

Мы только что рассказали вам, как выявить исполняемый модуль для Microsoft Windows или PE на байтовом уровне, а также выяснить для чего он. Также мы увидели, как выглядит модуль, упакованный с помощью UPX, и как легко его распаковать. Это может быть гораздо более сложным, если уничтожены заголовки UPX для усложнения анализа. Мы пойдем дальше и коротко расскажем об использовании инструментов LordPE и Procdump очистки памяти от работающих вредоносных процессов.

Инструменты LordPE и Procdump

Вредоносное программное обеспечение

Рисунок 6

На рисунке выше вы видите диалоговое окно LordPE Этот инструмент очень прост в использовании, и необходим для очистки памяти от вредоносных процессов. На рисунке вы можете увидеть, что выделен процесс “msiexec16.exe”, который является процессом для троянского сервера Optix Pro, который успешно работает на моей виртуальной машине. Выделяем этот процесс, щелкаем правой кнопкой мыши и выбираем “dump full” (полностью выгрузить), затем вам предложат задать имя для файлы выгрузки. Назовите его, и укажите, куда сохранять. Вы успешно освободили память, занимаемую этим процессом. Далее мы откроем эту исполняемую программу с помощью шестнадцатиричного редактора. После того, как вы откроете программу, поищите некоторые интересные ASCII строчки.

Упакован upx

Рисунок 7

Из рисунка выше мы видим, что в самом деле нашлись некие настораживающие строки. Такой тип статического анализа (статический анализ, означает, что мы не запускали файл на исполнение) очень полезен для получения информации относительно того, на что способно вредоносное программное обеспечение, а также для выяснения того, что оно таковым является. Инструмент LordPE также очень полезен в том случае, если не удается распаковать вредоносную программу. Очень часть авторы вредоносного программного обеспечения сознательно уничтожают некоторые части исполняемого модуля, чтобы замаскировать, что в него было упаковано что-то еще. Если вы столкнулись с такой ситуацией, то просто запустите программу, а затем почистите память. Грубые методы по-прежнему эффективны. Инструмент Procdump по принципу работы очень похож на LordPE. Пожалуйста, обратите внимание, что я не смог найти подходящую ссылку на Procdump, поэтому вам придется самостоятельно найти ее с помощью Google.

Резюме

В рамках этого цикла статей мы узнали, что вещи не всегда являются тем, чем выглядят. Для эффективного администрирования вашей сети, очень часто необходимо, чтобы вы умели анализировать некоторые подозрительные файлы. Это можно сделать, как мы только что увидели, с помощью шестнадцатиричного редактора (hex editor) и других инструментов, наподобие LordPE. Всегда очень полезно знать, как хакеры делают свою работу. Для этого мы прошли путь по созданию своем собственного примера вредоносного программного обеспечения с использованием троянского сервера Optix Pro trojan server и переплетчика под названием YAB. Благодаря этой работе мы смогли гораздо лучше понять, как все это происходит. Вооружившись такими знаниями, вы сможете создать очень эффективную демонстрацию, посвященную опасности вредоносного программного обеспечения, для своих пользователей. Как всегда, я искренне надеюсь, что это статья была полезной для вас. До новых встреч.

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


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

Tags: ,

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 – часть ... [+]