Читал я читал по вечерам книгу Сикорски М., Хониг Э. "Вскрытие покажет! Практический анализ вредоносного ПО" (2018), и вот сегодня решил подвести итог перечнем популярных инструментов для анализа вредоносного ПО из нее. Список довольно обширный, где каждый могжет подобрать для себя инструментарий, который лучше всего подойдет для будущих исследований. Ну как, готовы? Тогда поехали.
ApateDNS.
Это утилита для управления DNS-ответами. Она обладает простым графическим интерфейсом. В сущности, это фиктивный DNS-сервер, который перехватывает DNS-ответы для заданного IP-адреса, прослушивая локальный UDP-порт под номером 53. Кроме того, ApateDNS автоматически указывает локальный DNS-сервер в качестве системного, восстанавливая исходные параметры при выходе. Используйте ApateDNS во время динамического анализа. Вы можете бесплатно загрузить эту программу по адресу www.mandiant.com.
Autoruns.
Это утилита с длинным списком мест, которые используются в Windows для автоматического запуска. Вредоносное ПО часто устанавливается в такие места, чтобы обеспечить свое постоянное присутствие; это относится к реестру, папке начального запуска и т. д. Autoruns проверяет все возможные места и выводит отчет в графическом виде. Используйте эту утилиту для динамического анализа, чтобы узнать, куда установилась вредоносная программа. Она входит в состав пакета Sysinternals Suite, и вы можете загрузить ее на сайте www.sysinternals.com.
BinDiff.
Это мощный плагин к IDA Pro, с помощью которого можно быстро сравнить разные варианты зараженных двоичных файлов. Он позволяет выделить новые функции и распознать похожие или отсутствующие участки кода. BinDiff сравнивает две функции и показывает степень их схожести. BinDiff также может оценить степень схожести двух двоичных файлов, но, чтобы это сработало, вам придется сгенерировать IDB-файл для обеих версий (полностью промаркированный IDB-файл поможет вам понять, какой именно код отсутствует). Программу BinDiff можно купить на сайте www.zynamics.com.
BinNavi.
Это среда для обратного проектирования, похожая на IDA Pro. Ее сильной стороной является графическое представление кода. В отличие от IDA Pro, BinNavi может самостоятельно управлять базами данных с результатами анализа, что помогает в поиске нужной информации; члены команды могут свободно работать с одним и тем же проектом, обмениваясь полученными сведениями. Программа BinNavi доступна для покупки по адресу www.zynamics.com.
Bochs.
Это отладчик с открытым исходным кодом, который симулирует полноценный компьютер на базе х86. Он наиболее полезен при отладке небольших фрагментов кода в IDA Pro. IDA Pro поддерживает отладку IDB-файлов напрямую с помощью Bochs. В этом режиме формат входящего файла не имеет значения - это может быть DLL, сохраненный на диск код командной оболочки или любая другая база данных с кодом для платформы x86. Вы можете просто указать фрагмент кода и начать отладку. Этот подход часто помогает при работе с закодированными строками или конфигурационными данными. Bochs можно бесплатно загрузить на сайте www.bochs.sourceforge.net. Руководство по установке и использованию этой программы в IDA Pro можно найти по адресу www.hex-rays.com/products/ida/debugger/bochs_tut.pdf.
Burp Suite.
Этот пакет обычно используется для тестирования веб-приложений. Его можно сконфигурировать для перехвата определенных серверных запросов и ответов; это позволяет изменять данные, которые приходят в систему. Burp можно использовать в роли промежуточного звена. В этом случае вы можете модифицировать HTTP- и HTTPS-запросы, изменяя заголовки, данные и параметры, отправляемые вредоносной программой на удаленный сервер, чтобы извлечь c этого сервера дополнительную информацию. Загрузить Burp Suite можно по адресу www.portswigger.net/burp.
Capture BAT.
Это средство динамического анализа, которое используется для отслеживания активной вредоносной программы в ходе ее работы. Capture BAT следит за файловой системой, реестром и активными процессами. Вы можете использовать списки с исключениями (в том числе и множество уже готовых), чтобы убрать лишнюю информацию и сосредоточиться на вредоносе, который вы анализируете. Этот инструмент не обладает развитым графическим интерфейсом, как Process Monitor, но он поставляется с открытым исходным кодом, поэтому вы можете его модифицировать. Он доступен для свободной загрузки на сайте www.honeynet.org.
CFF Explorer.
Это инструмент, предназначенный для простого редактирования PE-файлов. С его помощью можно модифицировать разделы с ресурсами, добавлять импорты и искать сигнатуры. CFF Explorer поддерживает платформы x86 и x64 и способен работать с .NET-файлами без установки .NET Framework. Вы можете бесплатно загрузить эту программу по адресу www.ntcore.com.
Deep Freeze.
Этот продукт компании Faronics полезен при анализе вредоносного ПО без применения виртуализации. Он позволяет делать снимки, аналогичные тем, что доступны в VMware, но для реальной системы. Вы можете запустить вредоносную программу, проанализировать ее и затем просто перезагрузить компьютер. Любой вред, причиненный зараженным файлом, будет нивелирован, а ваша система вернется к исходному состоянию. Deep Freeze можно купить на сайте www.faronics.com.
Dependency Walker.
Это средство статического анализа, которое используется для исследования библиотек и функций, импортируемых вредоносными программами. Dependency Walker поддерживает двоичные файлы форматов x86 и x64, позволяя строить древовидные диаграммы всех библиотек, которые будут загружены при запуске вредоноса. Он находится в свободном доступе по адресу www.dependencywalker.com.
Hex-редакторы.
Подобного рода инструменты позволяют редактировать и просматривать файлы, содержащие двоичные данные. Существует множество hex-редакторов, включая WinHex (который мы использовали в этой книге), Hex Workshop, 010 Editor, HexEdit, Hex Editor Neo, FileInsight и FlexHEX. Выбирая между ними, ориентируйтесь на такие свойства, как развитый графический интерфейс, возможность двоичного сравнения, богатый набор методов декодирования данных (например, многобайтное исключающее ИЛИ), встроенное средство для вычисления хешей, распознавание форматов файлов, поиск по шаблону и т. д. Многие из этих программ платные, но большинство имеет пробные версии.
Hex-Rays Decompiler.
Это мощный, но дорогой плагин к IDA Pro, который способен приводить ассемблерный код в удобочитаемый вид (псевдокод, напоминающий язык C). Он вызывается по нажатию F5. Нажмите эту клавишу при просмотре дизассемблированного кода в IDA Pro, чтобы открыть новое окно с кодом на C. Это лучший инструмент подобного рода, но и у него есть свои недостатки. Вы можете купить его на сайте www.hex-rays.com.
IDA Pro.
Это самый популярный дизассемблер для анализа вредоносного ПО. Мы рекомендуем использовать коммерческую версию, доступную по адресу www.hex-rays.com. Бесплатную версию можно загрузить на странице www.hex-rays.com/products/ida/support/download_freeware.shtml.
Immunity Debugger.
ImmDbg - это бесплатный отладчик, работающий в пользовательском режиме. Вы можете загрузить ImmDbg на сайте www.immunityinc.com.
Import REConstructor.
ImpREC - это инструмент, который может пригодиться при ручной распаковке вредоносного кода. В ходе этой процедуры память сбрасывается на диск, в результате чего таблица адресов импорта (IAT) часто оказывается поврежденной. С помощью ImpREC ее можно восстановить. Вы указываете вредоносный процесс, работающий в памяти, и его копию, сохраненную на диске, а ImpREC пытается сделать все возможное, чтобы привести двоичный файл в исходный вид. Эту утилиту можно бесплатно загрузить на странице www.tuts4you.com/download.php?view415.
INetSim.
Это программный пакет на основе Linux, предназначенный для эмуляции популярных сетевых служб в ходе динамического анализа. Его следует установить на виртуальную машину с поддержкой Linux и разместить в той же виртуальной сети, в которой находится ваша ВМ, для анализа вредоносного ПО. INetSim может эмулировать множество распространенных служб, таких как веб-сервер Internet Information Services (IIS) от Microsoft, и даже прослушивать все порты на предмет входящих соединений. Этот инструмент доступен для свободной загрузки на сайте www.inetsim.org.
LordPE.
Это бесплатная утилита для сбрасывания на диск процессов, находящихся в памяти. Она поддерживает редактирование PE-файлов и может использоваться для восстановления программ, сброшенных на диск другими методами. Чаще всего LordPE применяется для распаковки вредоносного ПО. Вы можете загрузить эту утилиту по адресу www.woodmann.com/collaborative/tools/index.php/LordPE.
Malcode Analyst Pack.
Содержит набор утилит, одна из которых устанавливает полезные расширения командной оболочки Windows для работы со строками, вычисления MD5-сумм и декомпиляции CHM. Последняя функция может пригодиться при работе с зараженными справочными файлами формата CHM. В этот пакет также входит FakeDNS — инструмент для эмуляции DNS-ответов, когда программа запрашивает определенный адрес. И хотя эти утилиты больше не имеют официальной поддержки, вы все еще можете загрузить их на сайте www.labs.idefense.com/software/download/?downloadID=8.
Memoryze.
Это бесплатный инструмент, который позволяет анализировать память в реальном времени и сбрасывать ее на диск. С его помощью можно захватить либо всю память целиком, либо сегменты, принадлежащие отдельным процессам. Вы также можете определить, какие модули загружены в память текущей системы, включая драйверы и исполняемые файлы в пространстве ядра. Memoryze может распознавать руткиты и перехватчики, которые они устанавливают. Если вы остановите свой выбор на этой утилите, мы советуем также загрузить Audit Viewer - инструмент для визуализации результатов, сгенерированных в Memoryze: это сделает процедуру анализа памяти более быстрой и интуитивно понятной. Audit Viewer включает в себя каталог оценки вредоносного ПО, что поможет вам идентифицировать подозрительные участки памяти, сброшенной на диск. Оба инструмента можно найти по адресу www.mandiant.com.
Netcat.
Этот инструмент известен как «швейцарский нож для TCP/IP». Он подходит как для мониторинга, так и для создания входящих и исходящих соединений. Программа Netcat наиболее полезна во время динамического анализа, позволяя прослушивать порты, к которым должно подключаться вредоносное ПО; все полученные данные она направляет в стандартный вывод. Netcat устанавливается по умолчанию в Cygwin и большинстве дистрибутивов Linux. Версия для Windows находится в свободном доступе по ссылке www.joncraton.org/media/files/nc111nt.zip.
OfficeMalScanner.
Это бесплатная утилита командной строки для поиска вредоносного кода в документах Microsoft Office. Она ищет код командной оболочки, встроенные PE-файлы и OLE-потоки в документах Excel, Word и PowerPoint, а также поддерживает новый сжатый формат Microsoft Office. Мы рекомендуем запускать эту программу с параметрами scan и brute, если вы имеете дело с документами до версии Office 2007, или inflate для более новых форматов. OfficeMalScanner можно загрузить на сайте www.reconstructer.org.
OllyDbg.
Это один из самых распространенных отладчиков для анализа вредоносного ПО. OllyDbg имеет графический интерфейс и работает в пользовательском режиме на платформе x86. Для него написано несколько плагинов - например, OllyDump для распаковки. Этот отладчик находится в свободном доступе по адресу www.ollydbg.de.
OSR Driver Loader.
Это бесплатный инструмент для загрузки в память драйверов устройств. Он представляет собой графический интерфейс, который упрощает загрузку и запуск драйверов без перезапуска системы. Это может пригодиться при динамическом анализе зараженного драйвера, у которого нет установщика. Вы можете загрузить его на сайте www.osronline.com.
PDF Dissector.
Это коммерческая программа с оконным интерфейсом для графического анализа PDF-файлов. Она поддерживает автоматическую распаковку объектов, что упрощает извлечение зараженного кода на языке JavaScript. PDF Dissector включает в себя деобфускатор и интерпретатор, которые помогут в исследовании и запуске вредоносных скриптов. Кроме того, она позволяет находить известные уязвимости. Вы можете купить ее по ссылке www.zynamics.com.
PDF Tools.
Это классический программный пакет для анализа PDF. Он состоит из двух инструментов: pdfid.py и pdf-parser.py. Первый ищет объекты в PDF-файле и сигнализирует о том, что в нем может содержаться код на JavaScript. JavaScript используется в большинстве зараженных PDF-документов, поэтому данная информация может помочь вам быстро обнаружить потенциальный риск. pdf-parser.py помогает исследовать содержимое важных объектов внутри PDF-файла, не выводя его на экран. Пакет PDF tools находится в свободном доступе на сайте www.blog.didierstevens.com/programs/pdf-tools.
PE Explorer.
Это инструмент для просмотра заголовков, разделов и таблиц импорта/экспорта в PE-файлах. Он имеет больше возможностей, чем PEview, позволяя редактировать структуры данных. PE Explorer содержит статические распаковщики для файлов, упакованных в форматах UPX, Upack и NsPack. Упакованный двоичный файл, открытый в этой программе, будет автоматически распакован. Пробную и коммерческую версии PE Explorer можно найти по адресу www.heaventools.com.
PEiD.
Это бесплатная утилита для статического анализа, которая позволяет определять упаковщики и компиляторы. Она содержит более 600 сигнатур для обнаружения упаковщиков, шифровальщиков и компиляторов внутри файлов формата PE. Кроме того, у PEiD есть плагины, самым полезным из которых является Krypto ANALyzer (KANAL). KANAL можно использовать для поиска в PE-файлах распространенных криптографических алгоритмов с последующим экспортом информации в IDA Pro. PEiD по-прежнему должен быть доступен для загрузки на сайте www.peid.info.
PEview.
Это бесплатный инструмент для просмотра структуры PE-файлов. Он позволяет исследовать PE-заголовок, отдельные разделы и таблицы импорта/экспорта. Загрузить ее можно по адресу www.magma.ca/~wjr.
Process Explorer.
Это мощный диспетчер задач, который используется при динамическом анализе и предоставляет информацию о процессах, запущенных в системе в данный момент. Он может показать вам DLL отдельных процессов, дескрипторы, события, строки и т. д. Process Explorer входит в состав пакета Sysinternals Suite, который можно загрузить на странице www.sysinternals.com.
Process Hacker.
Еще один мощный диспетчер задач, аналогичный Process Explorer, но с поддержкой дополнительных возможностей. Он может искать строки и регулярные выражения в памяти, подключать или отключать библиотеки, загружать драйверы, создавать и запускать службы и т. д. Process Hacker можно найти на сайте www.processhacker.sourceforge.net.
Process Monitor.
Process Monitor - это инструмент для динамического анализа, который позволяет в реальном времени следить за активностью файловой системы, реестра и процессов. Вы можете фильтровать его вывод, чтобы отбросить лишнюю информацию. Загрузить эту программу в составе пакета Sysinternals Suite можно по адресу www.sysinternals.com.
Python.
Язык программирования Python позволяет быстро создавать скрипты для выполнения динамического анализа. Мы использовали его на страницах этой книги, в том числе в лабораторных работах. IDA Pro и Immunity Debugger имеют встроенную поддержку интерпретаторов Python, позволяя вам легко автоматизировать задачи или менять интерфейс. Мы советуем вам изучить этот язык программирования и установить его на компьютере, на котором делается анализ. Он бесплатен и доступен для загрузки на сайте www.python.org.
Regshot.
Это инструмент для динамического анализа, который позволяет сравнить два снимка реестра. Достаточно просто сделать снимок реестра, запустить вредоносную программу, дождаться, когда она закончит вносить изменения в систему, сделать второй снимок и затем выполнить сравнение. Regshot позволяет делать то же самое со снимками каталога в файловой системе. Вы можете бесплатно загрузить эту утилиту на странице www.sourceforge.net/projects/regshot.
Resource Hacker.
Это утилита для статического анализа, позволяющая просматривать, переименовывать, модифицировать, добавлять, удалять и извлекать ресурсы из двоичных файлов в формате PE. Она совместима с архитектурами x86 и x64. Во время выполнения вредоносное ПО часто извлекает из своего раздела с ресурсами дополнительные зараженные программы, библиотеки или драйверы, а данный инструмент позволяет нам делать это без запуска вредоноса. Вы можете загрузить ее на странице www.angusj.com/resourcehacker.
Sandboxie и Buster Sandbox Analyzer.
Sandboxie - это инструмент для запуска программ в изолированной среде, который не дает им вносить в систему необратимые изменения. Изначально он разрабатывался для безопасного просмотра веб-страниц, но его также можно использовать в качестве песочницы для анализа вредоносного ПО. Например, с его помощью можно следить за тем, как анализируемая программа обращается к файловой системе и реестру. В связке с Sandboxie можно применять утилиту Buster Sandbox Analyzer (BSA), которая обеспечивает автоматический анализ и создание отчетов. Эти инструменты доступны на сайтах www.sandboxie.com и www.bsa.isoftware.nl.
Snort.
Это наиболее популярная открытая система для обнаружения вторжений (IDS). Snort может работать в режиме реального времени или с предварительно перехваченными пакетами. Если вы пишете сетевые сигнатуры для вредоносного ПО, проверка их с помощью этого инструмента будет хорошей отправной точкой. Snort можно загрузить на странице www.snort.org.
Strings.
Это полезная утилита для статического анализа, которая позволяет исследовать строки в форматах ASCII и Unicode, хранящиеся среди двоичных данных. С помощью Strings можно быстро получить краткое высокоуровневое описание возможностей вредоноса, однако применение данного инструмента может быть ограничено в результате упаковки и обфускации строк. Эта утилита входит в состав пакета Sysinternals Suite и доступна на сайте www.sysinternals.com.
TCPView.
Это инструмент для подробного графического представления всех конечных точек в TCP- и UDP-соединениях в системе. Он позволяет узнать, какому процессу принадлежит та или иная конечная точка, что может пригодиться в ходе анализа вредоносного ПО. TCPView может помочь отследить имя процесса, когда ваш компьютер подключается к порту, который обслуживается неизвестным процессом (что довольно часто происходит в результате внедрения в процесс). Эта утилита является частью пакета Sysinternals Suite, который можно найти на странице www.sysinternals.com.
The Sleuth Kit.
The Sleuth Kit (ТСК) - это библиотека на языке C и набор утилит командной строки для анализа безопасности, которые позволяют находить альтернативные потоки данных и файлы, спрятанные руткитами. TSK работает с файловыми системами NTFS и FAT в обход Windows API. Этот инструмент можно запускать в Linux или внутри Cygwin в Windows. Вы можете бесплатно загрузить его по адресу www.sleuthkit.org.
Tor.
Это свободно доступная сеть маршрутизации поверх протокола onion, которая обеспечивает анонимный просмотр веб-страниц. Мы рекомендуем использовать Tor во время проведения анализа — например, при проверке IP-адресов, интернет-поиске, доступе к доменам или попытке найти информацию, которую вы бы не хотели раскрывать. Обычно вредоносу не стоит позволять пользоваться сетью, но, если это нужно сделать, вы должны применять технологии наподобие Tor. Сразу после установки Tor зайдите на сайт www.whatismyipaddress.com и убедитесь в том, что он не показывает ваш настоящий IP-адрес. Tor можно загрузить на странице www.torproject.org.
Truman.
Это инструмент для создания безопасной среды без использования виртуальных машин. Он состоит из Linux-сервера и клиентской системы под управлением Windows. Как и INetSim, Truman эмулирует подключение к Интернету, но при этом позволяет легко захватывать память в Windows и быстро ее воссоздавать. Truman поставляется вместе со скриптами для эмуляции разных служб и выполнения анализа в Linux. И хотя этот инструмент больше не развивается, на его примере вы можете научиться создавать собственные среды без применения виртуализации. Truman находится в свободном доступе на сайте www.secureworks.com/research/tools/truman.
WinDbg.
Это самый популярный отладчик общего назначения, свободно распространяемый компанией Microsoft. Он поддерживает отладку в режиме пользователя и ядра на платформах x86 и x64. В отличие от OllyDbg с его развитым оконным интерфейсом, WinDbg работает в командной строке. Для пользовательского режима многие аналитики безопасности предпочитают использовать OllyDbg. WinDbg можно загрузить отдельно или в составе Windows SDK по адресу www.msdn.microsoft.com.
Wireshark.
Это анализатор сетевых пакетов с открытым исходным кодом, который может пригодиться для динамического анализа. С его помощью можно перехватывать сетевой трафик, сгенерированный вредоносом, и анализировать множество разных протоколов. Wireshark предоставляет простой в использовании графический интерфейс и является самым популярным бесплатным средством захвата пакетов. Загрузить его можно на сайте www.wireshark.org.
UPX.
Упаковщик Ultimate Packer for eXecutables (UPX) пользуется наибольшей популярностью среди авторов вредоносного ПО. Если встретите в своей работе файл, упакованный с его помощью, попробуйте распаковать его с использованием команды upx -d. Этот инструмент доступен для загрузки по адресу www.upx.sourceforge.net.
VERA.
Visualizing Executables for Reversing and Analysis (VERA) - это средство визуализации скомпилированных исполняемых файлов, которое можно использовать при анализе вредоносного ПО. В нем применяется фреймворк Ether, генерирующий графическое представление трассированных данных. VERA дает общее представление о вредоносной программе и помогает в ее распаковке. Этот инструмент способен взаимодействовать с IDA Pro, связывая блок-схемы с дизассемблированным кодом. VERA можно загрузить на странице www.offensivecomputing.net.
VirusTotal.
Это интернет-приложение, которое сканирует вредоносное ПО с помощью разных антивирусов. Вы можете загрузить файл прямо на сайт VirusTotal, где он будет пропущен через более чем 40 антивирусных систем. Если вы не хотите загружать вредонос, можете поискать его MD5-хеш: возможно, VirusTotal уже попадался этот экземпляр. VirusTotal можно найти на сайте www.virustotal.com.
VMware Workstation.
Это популярное средство виртуализации для настольных систем. Несмотря на множество альтернатив, VMware является самым популярным продуктом подобного рода, поэтому мы используем его в этой книге. Много разных возможностей VMware, включая виртуальные сетевые адаптеры, создание снимков (что позволяет сохранять текущее состояние гостевой системы) и клонирование существующей виртуальной машины. Вы можете приобрести VMware Workstation на странице www.vmware.com или загрузить урезанную, но бесплатную версию VMware Player на том же сайте. Мне лично больше в тему Oracle VirtualBox.
Volatility Framework.
Это набор инструментов с открытым исходным кодом на языке Python для анализа захваченной памяти. Подходит для анализа вредоносного ПО, так как с его помощью можно извлекать внедренные DLL, обнаруживать руткиты, искать скрытые процессы и т. д. Этот проект имеет множество участников и пользователей, поэтому он регулярно обзаводится новыми возможностями. Вы можете загрузить его последнюю версию по адресу www.code.google.com/p/volatility.
YARA.
Это проект, предназначенный для распознавания и классификации образцов вредоносного ПО. С его помощью можно описывать целые семейства вредоносов, исходя из строк или других двоичных шаблонов, которые в них можно найти. Эти описания называются правилами и состоят из строк и логики. Правила применяются к двоичным данным на диске или в памяти, чтобы классифицировать образец. Этот инструмент помогает создавать собственные антивирусные приложения и сигнатуры. Его можно бесплатно загрузить на сайте www.code.google.com/p/yara-project.
Zero Wine.
Это песочница с открытым исходным кодом для запуска вредоносного ПО, поставляемая в виде виртуальной машины с Debian Linux внутри. При запуске зараженных файлов Zero Wine эмулирует вызовы Windows API и записывает их в журнал, чтобы позже включить в отчет о вредоносной активности. Этот инструмент способен распознавать и нивелировать определенные методики для противодействия виртуализации, отладке и эмуляции. Вы можете загрузить Zero Wine на странице www.zerowine.sourceforge.net.
Размеется обязательно используйте песочницу(sandbox) с приватной подсетью. Многие песочницы находятся в свободном доступе, но вы также можете написать свою собственную.
Успехов.
Слава Украине!
No comments:
Post a Comment
А что вы думаете по этому поводу?