Материал: chapter_9_windows

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

16

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

Еще один бесплатный инструмент для монтирования образов – это IMDisk (версия 1.1.3 была выпущена 5 декабря 2008 года, см. www.ltr-data.se/opencode.html), драйвер виртуального диска, устанавливающий утилиту командной строки и добавляющий элемент панели управления, который предоставляет доступ к графическому интерфейсу для драйвера. На илл. 9.4 показан интерфейс пользователя программы IMDisk, в которой монтирован образ как накопитель (H:\) в режиме только для чтения.

Илл. 9.4. Интерфейс программы IMDisk, в которой монтирован образ как накопитель H:\.

Совет

Microsoft предоставляет (хотя не поддерживает и не рекламирует) бесплатный инструмент, который называется Virtual CD-ROM Control Panel for XP. Этот инструмент создает в панели управления Windows XP виртуальное устройство чтения компакт-дисков, которое можно использовать для монтирования файлов в формате .iso (обычно создаваемых с CD- или DVD-дисков) как файловые системы.

Прямая ссылка на этот инструмент довольно длинная, но ее можно найти на веб-

сайте Microsoft (http://msdn.microsoft.com/en-us/subscriptions/aa948864.aspx; прокрутите примерно две трети страницы вниз), а также в таких блогах как RaDaJo (http://radajo.blogspot.com/2006/09/mounting-cddvd-iso-images­in-windows.html) и help.net (http://weblogs.asp.net/pleloup/archive/2004/01/15/58918.aspx).

17

Анализ файлов

Часто эксперту нужно исследовать отдельные файлы, а не всю файловую систему или целый том. Во многих случаях эти файлы могут иметь собственные форматы (например, файлы корзины INFO2 в Windows, которые мы рассматривали в главе 5), и для них может отсутствовать подходящее средство просмотра.

Утилиты хэширования

При извлечении файлов из образа данных вы, возможно, захотите вычислить криптографический хэш этих файлов, чтобы позднее проверить их целостность. Алгоритмы хэширования – это криптографические вычисления, при которых обычно

берутся входные данные переменной длины и возвращаются уникальные выходные данные фиксированной длины. Если хотя бы один бит в файле изменится, то хэш- значение изменится также, что свидетельствует о полезности хэш-значений файлов. Джесси Корнблюм (Jesse Kornblum) разработал программу хэширования MD5Deep (http://md5deep.sourceforge.net), которая создает и сравнивает не только хэш-значения MD5 для файлов, но и хэш-значения SHA-1, SHA-256, Tiger и Whirlpool. Все программы хэширования имеют интерфейс командной строки, что позволяет использовать их в пакетных файлах, чтобы автоматизировать их развертывание.

Хэш-значения файлов можно использовать не только для проверки целостности данных, но и для того, чтобы быстро определить, был ли файл, с которым вы работаете, уже идентифицирован как вредоносный. На веб-сайт VirusTotal (www.virustotal.com) можно передать хэш файла для сравнения по базе данных, а не отправлять весь файл. Поэтому, если интересующий вас файл очень большой, или вы не хотите отправлять по Интернету копии вредоносных файлов, вы можете использовать возможность этого веб- сайта, чтобы выполнить быструю проверку. Ведь это не потребует от вас больших усилий и сделает ваши записи о деле или итоговые отчеты более полными независимо от того, являетесь вы консультантом или сотрудником правоохранительных органов.

Еще один инструмент хэширования от Джесси Корнблюма – это ssdeep (http://ssdeep.sourceforge.net), отличное средство для вычисления нечетких хэш-значений. Этот способ хэширования позволяет сравнивать похожие, но не идентичные файлы путем определения вероятности сходства между файлами. Я использовал этот инструмент

хэширования при сравнении двух файлов примерно одинакового размера и с одним и тем же именем, которые были собраны в результате расследований двух разных инцидентов, и обнаружил, что эти файлы были похожи на 98–99 процентов.

Шестнадцатеричные редакторы

Хороший шестнадцатеричный редактор, с которым вам удобно работать, может быть незаменимым инструментом для судебного анализа. Вам часто будут встречаться двоичные файлы, которые нужно будет открыть и просмотреть, а текстовые процессоры просто не смогут перевести эти данные в подходящий формат. В моей практике было несколько случаев, когда я получал необычные ответы из приложений для анализа, или когда Perl-скрипт, который я писал для анализа двоичного содержимого файла, просто не работал, и мне приходилось открывать этот файл в шестнадцатеричном редакторе, чтобы просмотреть его двоичное/шестнадцатеричное содержимое и увидеть, в чем может быть проблема. Примером того, как я применял этот способ, является исследование различий между файлами упреждающей выборки в Windows XP и Vista (см. главу 5).

Я предпочитаю редактор UltraEdit (www.ultraedit.com), потому что я использую его как в качестве среды программирования, так и в качестве шестнадцатеричного редактора. Мне нравятся многие возможности этого приложения (в нем видны номера строк, и если Perl-скрипт не работает, я могу быстро найти ошибку), поэтому я с удовольствием плачу за него номинальную плату. К другим возможностям этого приложения относится

18

выделение синтаксических конструкций Perl, автоматический отступ, возможность

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

§Cygnus Hex Editor Free Edition (www.softcircuits.com/cygnus/fe)

§XVI32 (www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm)

§Free Hex Editor Neo от компании HDD Software (www.hhdsoftware.com/Products/home/ hex-editor-free.html)

§HexEdit (www.physics.ohio-state.edu/~prewett/hexedit)

Имейте в виду, что это только примеры шестнадцатеричных редакторов, и вам, как эксперту, нужно выяснить, какой из них подходит вам. Если вы заинтересованы в изучении других опций, Википедия содержит сравнительную таблицу шестнадцатеричных редакторов (http://en.wikipedia.org/wiki/Comparison_of_hex_editors)

для различных платформ, которую вы, возможно, захотите просмотреть или даже

использовать в качестве основы для собственного исследования необходимых вам инструментов.

Сетевые инструменты

Надеюсь, что, читая эту книгу, вы поняли, что анализ систем, особенно во время расследования инцидентов, не ограничен только анализом операционных систем хост- компьютеров (хотя данному вопросу уделяется основное внимание в этой книге). Часто признаки взлома, вторжения или заражения вредоносной программой можно в первую очередь обнаружить в оповещениях систем обнаружения вторжений, в необычных данных журнала брандмауэра или просто в подозрительном сетевом трафике. В других ситуациях дополнительную информацию о вторжении (например, обмен данными между системами, место возникновения сетевых соединений, место назначения исходящих данных (в случае кражи информации)) можно будет определить только посредством сбора и анализа сетевых данных. Сбор и анализ сетевых данных – отдельная тема, которая выходит за рамки данной книги, но она так важна, что здесь будет представлено несколько необходимых инструментов, которые можно использовать для этих целей.

Сканирование

Одна из главных проблем, которая стоит перед сообществом людей, занимающихся расследованием инцидентов и проведением судебных анализов, заключается (по моему скромному мнению) в отсутствии взаимодействия между этими специалистами и специалистами, занимающимися поиском и устранением уязвимостей. Уязвимости выявляются и подтверждаются едва ли не ежедневно, и вскоре после этого рабочий эксплойт, использующий одну из новых уязвимостей, может быть опубликован в Интернете или обнаружен во время расследования инцидента. Кроме того, существуют компании, бизнес-модель которых состоит в том, чтобы искать, находить и подтверждать уязвимости в программных продуктах, а затем обеспечивать своим клиентам защиту от этих уязвимостей.

Отсутствие взаимодействия проявляется в том, что, когда обнаруживается уязвимость, очень редко проводятся исследования, чтобы определить артефакты, оставшиеся во взломанной системе после использования эксплойта. Для того чтобы уязвимость была успешно использована, в системе, как правило, должна быть служба или программа, которая прослушивает сетевой порт (например, Microsoft SQL Server прослушивает TCP-порт 1433, ожидая соединений) и подвержена действию эксплойта. Таким образом, исследователь должен иметь определенные средства подтверждения того,

19

 

 

что эксплойт был применен успешно. Результатом

успешного

применения

эксплойта будет взломанная система, которую позже можно проанализировать на наличие артефактов, связанных с эксплойтом.

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

Те же приложения сканирования можно использовать во время анализа с целью определить поверхность атаки исследуемых систем, чтобы у вас был способ установить, как эти системы могли быть взломаны. Например, в октябре 2008 года корпорация Microsoft выпустила «внеплановое» исправление, обозначенное как MS08-067 (http://blogs.technet.com/msrc/archive/2008/10/23/ms08-067-released.aspx) и устраняющее критическую уязвимость в службе Windows Server. Если бы вы исследовали взломанную систему Windows XP два месяца спустя и обнаружили, что критически важное исправление для данной уязвимости не было установлено, этот факт мог бы указать вам, в каком направлении проводить анализ, особенно если вредоносная программа, используемая в системе после применения эксплойта, была бы такой новой, что ее нельзя было обнаружить антивирусным приложением.

Существует несколько свободно доступных инструментов, которые могут помочь вам при проведении анализа, особенно если вы пытаетесь определить, какие уязвимости или «векторы атаки», возможно, использовались в инциденте. Вы можете использовать эти инструменты на работающих компьютерах, а также можете загрузить образ при помощи LiveView (http://liveview.sourceforge.net) и затем сканировать систему (системы, загруженные при помощи LiveView, по умолчанию не имеют возможностей работы в сети), чтобы получить представление относительно того, какая уязвимость, возможно, существовала в системе. Например, можно воспользоваться программой Baseline Security Analyzer (http://technet.microsoft.com/en-us/security/cc184924.aspx) от Microsoft, чтобы сканировать систему и определить, какие обновления или исправления для отдельных уязвимостей отсутствуют в системе.

Сканирование сети позволяет получить очень полезную информацию во время расследования инцидента или при проведении анализа образа данных. Но имейте в виду, что, для того чтобы данный тип сканирования оказался эффективным при проведении анализа образа, этот образ должен быть загружен в среду с поддержкой работы в сети. Возможно, самая популярная утилита для сканирования сетей – это Nmap (www.Nmap.org). Помимо простого сканирования портов, Nmap может определять операционную систему компьютера и службы, а с появлением графического интерфейса Zenmap в Nmap добавилась возможность составлять карту топологии сети.

Инструменты и ловушки…

Инструменты, поддерживающие Nmap

Существует несколько бесплатных инструментов, которые помогут вам проанализировать результаты утилиты Nmap. Один из таких инструментов, который особенно полезен при широкомасштабных сканированиях, – это fe3d (http://projects.icapsid.net/fe3d), средство визуализации данных, обладающее возможностью отображать выходные данные сканирований Nmap в графическом формате. Кроме того, специально для работы с утилитой Nmap разработано несколько Perl-модулей, в том числе

Nmap::Scanner, Nmap::Parser и Nmap::Parser::XML. Последние два модуля позволяют анализировать выходные данные Nmap, упорядочивая и предварительно обрабатывая их (т. е. выполняя поиск отдельных систем или служб и т. д.) при необходимости.

20

Сканирование системы не ограничивается простым сканирование портов и определением операционной системы компьютера и имеющихся служб. Сканирование на наличие уязвимостей, например, может быть важной частью анализа и продвинуть этот анализ на один шаг вперед. Отличные инструменты для данной цели – это Nessus (www.nessus.org/nessus) и Sara (www-arc.com/sara), причем Nessus является самым популярным и известным из этих двух. Оба инструмента находятся в списке 100 лучших инструментов обеспечения безопасности в сети (http://sectools.org) наряду с другими приложениями сканирования.

Перехват и анализ пакетов

Еще одна задача, с которой вы можете столкнуться во время расследования инцидента, – перехват и анализ сетевого трафика. Независимо от того, как вы будете выполнять эту задачу: самостоятельно, совместно с сотрудниками ИТ-отдела клиента или получите перехваченный трафик в виде данных от другого эксперта, вы можете столкнуться с необходимостью перехватывать и анализировать трафик.

Два популярных инструмента для перехвата и анализа сетевых пакетов для ОС Windows – это Wireshark (www.wireshark.org) и NetworkMiner (http://sourceforge.net/projects/networkminer). Эти бесплатные инструменты чрезвычайно полезны для любого специалиста по расследованию инцидентов.

На момент написания этой книги приложение Wireshark версии 1.0.3 было доступно для платформы Windows. Wireshark позволяет не только перехватывать сетевой трафик (на основе выбранного вами сетевого интерфейса), но и анализировать перехваченный трафик. На илл. 9.5 показан фрагмент графического интерфейса Wireshark.

Илл. 9.5. Фрагмент графического интерфейса приложения Wireshark версии 1.0.3. Одна из особенностей Wireshark, которую я нахожу очень полезной, – возможность

полностью собирать повторно TCP-потоки. Для этого, когда сетевой трафик будет загружен в Wireshark, щелкните по пункту «Анализ» (“Analyze”) в строке меню и выберите команду «Следить за TCP-потоком» (“Follow TCP Stream”) в раскрывающемся меню. Wireshark будет следить за потоком и полностью соберет повторно содержимое данных, передаваемых по TCP. Эта функция может быть очень полезной при изолировании отдельного соединения, а также при восстановлении диалога (трафик между двумя конечными точками). Например, вы можете восстановить веб-страницы, которые видит пользователь, сообщения электронной почты, обмен данными с сервером

контроля и управления в ботнете или обмен незашифрованными мгновенными сообщениями. Wireshark предоставляет возможность проводить подобный анализ с UDP- и SSL-пакетами.

Источник: https://studfile.net/preview/16436084/