Показаны сообщения с ярлыком Reversing. Показать все сообщения
Показаны сообщения с ярлыком Reversing. Показать все сообщения

среда, 3 июля 2013 г.

REcon'13

REcon эта наверное еденствинная конференция, которая посвещена целиком и полностью реверс инжинирингу. Для меня REcon'13 стал вторым по счету выступлением на этой конференции.  


Только в предыдущий раз мы выступали по скайп, так как нам задержали выдачу канадцких виз на несколько недель и мы не смогли поехать. Но в этом году с визами все проршло гладко :)

понедельник, 26 ноября 2012 г.

Win32/Flamer: Reverse Engineering and Framework Reconstruction

Одноименный доклад был представлен нами на конференции ZeroNights'2012. Целью доклада было осветить проблемы реверсинга больших программ на C++ в которых применяется ООП. Проблема освещалась через призму реконструкции объектно-ориентированной платформы на которой была разработана вредоносная программа Flame.


понедельник, 6 августа 2012 г.

Flame: реконструкция ООП фреймворка

Уже много слов было сказано про червя Flame (Win32/Flamer), но почему то никто не публикует результаты более детального изучения кода этой вредоносной программы. А код у Flame между тем очень интересен и таит в себе еще не мало открытий для вдумчивых и усидчивых исследователей. Ведь не спроста он оставался незамеченным на атакованных системах долгое время, причем на этих системах стаяло антивирусное ПО некоторых известных вендоров, но сейчас все же не об этом ;)

Итак, в чем же связь между Flame, Duqu и Stuxnet? Так как нами были проанализированы все три вредоносные программы, то мы решили не просто описать свои внутренние ощущения, а подтвердить это родство техническими фактами.

Начнем с того, что код Win32/Flamer анализировать не очень приятно, даже при отсутствии жесткой обфускации. Объектно-ориентированный код схож с тем, что уже встречалось ранее в Stuxnet и Duqu, но однозначного сходства не так уж и много. В основном схожесть кроется в стиле кодирования и архитектуре этих вредоносных программ. Если в случае Stuxnet и Duqu ООП архитектура была построена на одном фреймворке и концепциях, то у Flame есть отличия. У всех трех вредоносных программ реализована сложная логика работы, а использование ООП концепций, реализованных на C++, заставляют разбираться в работе не только самой вредоносной программы, но и компилятора тоже. В качестве наглядного примера посмотрите на реконструкцию вызова метода Rc4_GetBufferSize() в модуле mssecmgr.ocx:


среда, 1 августа 2012 г.

Rovnix.D: механизмы мультиинжекта

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

Сейчас у нас нет данных о существовании большой ботсети на основе Rovnix.D,  а в тестовой C&C насчитывается около 9000 активных ботов.


понедельник, 23 июля 2012 г.

ESET crackme challenge for BlackHat


Очередной конкурс по реверсингу от ESET и на это раз мы добрались до Black Hat в Вегасе. Задание, как всегда сложное, но интересное ;)

Итак, официальный сайт: go.eset.com/us/rulethecode (стоит заходить только с US IP адресов)
Или же, вот прямой линк на бинарь с заданием: забирать здесь

Всем удачи и терпения =)

вторник, 17 июля 2012 г.

Обновился фреймворк Rovnix для разработки VBR-буткитов

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


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


Подробнее обо всех изменениях читайте в моем англоязычном блоге.

среда, 27 июня 2012 г.

Новый ZeroAccess: хроники внедрения кода

В конце весны текущего года произошло обновление семейства Win32/Sirefef и Win64/Sirefef, так же известных под именем ZeroAccess. Мы отследили появление новых модификаций в начале мая, примерно в это же время стартовала новая партнерская программа (PPI) по распространению ZeroAccess. Обновленная версия не содержит системных драйверов и скрытого хранилища для хранения файлов. Сначала разработчики в предыдущей версии избавились от драйвера для версии Win64/Sirefef, а теперь и для всего семейства целиком.  Как и в предыдущих версиях для монетизации используется схема по подмене поискового трафика в популярных поисковиках. Объявление призывающая участвовать в новой партнерской программе, размещенное на закрытом форуме verified.ms, выглядит следующем образом:


четверг, 21 июня 2012 г.

JS/Exploit.CVE-2012-1889: тихий 0-day

Не успела MS отрапортовать об успешно закрытых 13-ти уязвимостях в MS12-037, как Google наводит панику с очередной уязвимостью нулевого дня (CVE2012-1889) во всей линейке IE. А к тому же уязвимость еще проявляется в MS Office 2003/2007 и вполне пригодна для целенаправленных атак. Cпустя несколько дней появляется публичный эксплойт в составе проекта Metasploit.

Собственно уязвимость кроется в Microsoft XML Core Services. Происходит повреждение памяти при обращении к не инициализированному участку с несуществующим XML Node (посредством вызова метода get_definition()), что в итоге может привести к удаленному выполнению кода. Простейший код приводящий к IE к аварийному завершению выглядит следующим образом:


Этот код пытается обратиться к  не инициализированному объекту в памяти, но ссылка на этот регион памяти все же создается, что собственно приводит к потенциальной возможности выполнения кода в функции  _dispatchImpl :: InvokeHelper().


понедельник, 18 июня 2012 г.

Bootkit threats: in-depth reverse engineering & defense

Нам выпала честь в этом году выступить на конференции REcon в Монреале. Где был представлен доклад "Bootkit threats: in-depth reverse engineering & defense", который рассказывал о современных тенденциях в разработке буткитов и подходах реверсинга для них. Ниже привожу слайды нашего доклада.

понедельник, 4 июня 2012 г.

Впечатления от PHDays'2012


Выжидал я время, пока утихнут блоги ИБ деятелей от PHDays'2012, но чувствую произойдет это не скоро и к тому моменту я уже с трудом припомню свои собственные ощущения от мероприятия, поэтому все-таки не удержусь и выскажусь сейчас. 

Сначало искренне хочется поблагодарить организаторов, которые проделали колоссальную работу по подготовке PHDays'2012 и продолжали напряженно работать на протяжении всего мероприятия. Ребята, большой вам респект за все это!

Приехав на конференцию к 8:30, я так и не смог посмотреть доклады других участников до своего выступления, так как критическая масса друзей и знакомых просто зашкаливала. 


А так же в этом году приехал мой коллега Пьер-Марк Бюро из Канадского R&D, чтобы представить мастер-класс по реверсингу "Win32/Georbot. Особенности вредоносных программ и их автоматизированный анализ". Конечно, там речь не шла о каком-то мега хардкоре, но было интересно все собрано в одном практическом примере, как можно использовать возможности автоматизации на встроенном в  IDA питоне. И мне было нужно ему помочь освоится в незнакомой обстановке :)


четверг, 24 мая 2012 г.

Впечатления от CARO'2012


Я уже писал о конференции CARO, на которой мне посчастливилось побывать уже три раза, при чем два из них в качестве докладчика. В прошлом году нами было представлено исследование "Cybercrime in Russia: Trends and Issues" проведенное совместно с Group-IB. В этом году мы углубились в тему расследования наверное одной из самых крупных групп по мошенничеству в системах ДБО, которая продолжает разработку вредоносной программы Carberp. И представили доклад "Carberp Evolution and BlackHole: Investigation Beyond the Event Horizon" в котором рассказали много интересных деталей по расследованию, техническому анализу и привели примеры реальных атак.

Конференцию CARO выгодно отличает от других отсутствие журналистов и непонятных людей, участниками конференции могли стать только непосредственно люди имеющие репутацию среди исследователей ИБ. В этот раз было запрещено делать самим какие-либо фото в конференц-зале, фотографировать было разрешено только фотографу со стороны организаторов.

Ниже вы можете увидеть публичную версию слайдов нашего доклада:



пятница, 18 мая 2012 г.

King of Spam: Festi botnet analysis

Мы подготовили очередное исследование интересного на наш взгляд семейства руткитов Win32/Rootkit.Festi с довольно уникальными функциональными характеристиками. Основная направленность этого бота рассылка спама, но так же присутствует специальный плагин для DDoS атак. Интересен этот бот еще тем, что именно с этого ботнета была осуществлена DDoS атака на платежную систему Ассист, в результате расследования которой был арестован Павел Врублевский.

Ну не будем углубляться в конспирологические теории, нашей основной задачей был технический анализ. По статистике M86 Security Labs, активного спам-трафика Festi ботнет занимает почетное третье место.


суббота, 31 марта 2012 г.

Blackhole + CVE-2012-0507 = Carberp

На этой неделе известный набор эксплойтов Blackhole обновился до версии 1.2.3 и в его составе появился новый эксплойт для Java на уязвимость CVE-2012-0507 (Java/Exploit.CVE-2012-0507). Первыми обратила внимание общественности на актуальность этой уязвимости компания Microsoft, которая опубликовала в своем блоге сообщение об интересном способе выполнения Java кода за пределами песочницы JRE (Java Runtime Environment).

Первые упоминания о боевом эксплойте для этой уязвимости появились от компании Immunity, которая выпустила специальный модуль для своего продукта Immunity CANVAS еще в начале марта 7.03.2012. Эта уязвимость была закрыта 15 февраля в рамках критического обновления от Oracle. Буквально вчера поздним вечером, на момент подготовки этой публикации, появился публичный эксплойт для CVE-2012-0507 в составе Metasploit Framework. Отдельно стоит отметить его кроссплатформенность и возможность эксплуатации на системах Windows, Linux, Solaris и OSX. Последняя особенно интересна в свете увеличения количества вредоносных программ для нее, распространяющихся в том числе и посредством эксплуатации Java уязвимостей. Эксплойт из Metasploit Framework выглядит очень похожим на тот, что был обнаружен в обновленном Blackhole и складывается впечатление, что он был рипнут по большей части от туда ;)

В последнее время я довольно часто писал об эксплойтах для Java и они действительно в последний год самые пробивные в инцидентах массового распространения вредоносных программ. Разработчики наборов эксплойтов, таких как Blackhole, используют только так называемые 1-day уязвимости, т.е. уже содержащие официальное исправление от разработчиков. Потому что использование 0-day слишком дорого для их целей и совершенно себя не окупает, но бывают исключения, когда 0-day попадает на паблик вместе с PoC. Использование уязвимости нулевого дня на данный момент можно чаще всего увидеть в целенаправленных атаках. Кстати довольно занимательный пост о ценах на 0-day и карме ресечеров можно почитать тут.

Вернемся к нашему эксплойту, на этой неделе было замечено снова распространение Win32/TrojanDownloader.Carberp через популярные веб-ресурсы, посредством внедрения iFrame конструкций для перенаправления на ресурс с набором эксплойтов.

Первым нам попался ресурс lifenews.ru, на котором содержался следующий iFrame:


Как видно из внедренного кода сразу происходила атака именно CVE-2012-0507, а доменное имя на котором был расположен Blackhole очень схоже с именем атакованного веб-ресурса. Результат выполнения кода в iFrame можно увидеть даже визуально на модифицированной оригинальной странице.


среда, 28 марта 2012 г.

Мастер-класс по анализу Win32/Georbot на PHD

На прошлой неделе мы обнародовали информацию о распространении Win32/Georbot нацеленного на хищение конфиденциальной информации, установки дополнительных модулей, предоставления злоумышленникам несанкционированного удаленного доступа и много чего еще.  


Подробный отчет по Win32/Georbot  можно найти здесь

Вся работа по анализу этой угрозы была проделана нашей канадской лабораторией. В рамках конференции PHD пройдет эксклюзивный мастер-класс, подготовленный Пьер-Марком Бюро, по анализу этой угрозы. Пьер-Марк возглавляет программу по глобальному мониторингу вредоносной активности и до недавнего времени занимал должность старшего вирусного аналитика, а это говорит о том, что он знаком с анализом вредоносных программ не понаслышке. В рамках мастер-класса будут рассмотрены наиболее интересные моменты по анализу Win32/Georbot:

  • IDA Pro кунг-фу 
  • деобфускация вызовов системных функций
  • написание скрипта для расчистки мусорных команд
  • обратный анализ протокола взаимодействия с командным центром
  • анализ управляющих команд и восстановление их логики работы
  • анализ дополнительных модулей и алгоритма взаимодействия с ними  

Помимо этого можно будет обсудить все детали атаки и попробовать узнать не паблик информацию. Приходите будет интересно!

среда, 21 марта 2012 г.

Обнаружен новый драйвер для Duqu

Обнаружен новый драйвер (mcd9x86.sys) для Duqu, у которого дата компиляции соответствует концу февраля текущего года. До этого момента наборы компонентов Duqu, которые были у нас в распоряжении, датировались: 2010-11-03/2010-11-03/2011-10-17.


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

понедельник, 19 марта 2012 г.

Drive-by FTP: новый вектор атаки CVE-2011-3544

Не так давно нам стало известно, об интересной активности с использованием Java/Exploit.CVE-2011-3544. Собственно основной интерес скрывался в том, что помимо стандартной активности по HTTP протоколу, была замечена загрузка полезной нагрузки через FTP. Причем эксплойт CVE-2011-3544 использовавшийся для этой атаки не подходил не под один шаблон, который  был известен в составе распространенных эксплойт паков.

Сразу после посещения вредоносной веб-страницы начиналась атака с использованием Java/Exploit.CVE-2011-3544:


Проанализировав сетевую активность сразу бросается в глаза загрузка /1/s.hml по протоколу FTP, а в дальнейшем и загрузка /1/exp.jar тем же способом.  

среда, 14 марта 2012 г.

MS12-020 или червивый RDP

Вчера Microsoft выпустила очередную порцию патчей и среди них мое внимание особенно привлек MS12-020, который имеет критический статус. Уязвимость позволяет выполнить произвольный код на удаленной системе при мощи специально сформированного RDP пакета. Данной уязвимости подвержены все версии MS Windows в том числе и 64-битные версии. На самом деле в рамках патча MS12-020 было закрыто две уязвимости CVE-2012-0002 (RCE в RDP) и CVE-2012-0152 (DoS в Terminal Server). Меня больше интересует первая уязвимость, так как она гораздо более опасная и может повлечь за собой появление сетевых червей, которые будут ее активно эксплуатировать (на данный момент о случаях ее использования во вредоносных программах мне не известно).

Кстати относительно недавно уже закрывалась уязвимость MS11-065 (август 2011), которая позволяла осуществлять DoS (WinXP/2003) и была замечена в том же драйвере rdpwd.sys, в котором была найдена CVE-2012-0002. Эти изменения можно отследить по временным меткам в   rdpwd.sys до и после патча. А также в официальных списках изменений для MS11-065 и для MS12-020.


воскресенье, 11 марта 2012 г.

Обзор книги: Practical Malware Analysis

В феврале вышла любопытная книга Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software, авторы которой Michael Sikorski и Andrew Honig, являются известными практиками в области анализа вредоносных программ. 


И уже традиционно обозреваемые мной книги выходят в издательстве No Starch Press, именно это издательство выпускает сейчас больше всего книг для исследователей в области информационной безопасности и любезно предоставило специальный скидочный код «MATROSOVBLOGS», который дает вам 30% скидку на покупку любых книг (в том числе и электронных) на сайте издательства до первого мая текущего года.

понедельник, 27 февраля 2012 г.

Новый виток развития VBR-буткита Rovnix

В начале февраля мы столкнулись с новой модификацией уже хорошо знакомого нам семейства Win32/Rovnix, которое продолжило развитие VBR-буткитов. По сути Rovnix, это единственное семейство инфицирующие VBR и получившее широкое распространение (ну разве, что Olmasco еще использует VBR, но совсем по другому). Буткит фреймворк Rovnix был так же использован в качестве платформы для буткит части известного банковского троянца Carberp. Больше информации о семействе Win32/Carberp можно будет узнать из нашего доклада “Carberp Evolution and BlackHole: Investigation Beyond the Event Horizon”, который планируется сделать на конференции CARO 2012.

В процессе анализа распакованного дропера Win32/Rovnix.B, нами были замечены интересные строковые константы и отладочные сообщения:


Примерно такие же строки можно было найти и в дропере Carberp с буткитом, только были некоторые отличия в идентификаторе версии установщика. У Rovnix мы видим версию 2.5, а у Carberp версию 2.1

вторник, 21 февраля 2012 г.

IDA и Appcall: зачем это все?

Начиная с версии IDA Pro 5.6 появился достаточно интересный, но не однозначный функционал, который позволяет вызывать нативные функции из отлаживаемого приложения прямо в процессе его отладки. Называется он appcall, но я встречал мало людей, которые действительно нашли ему применение в реальной жизни. Для себя же я счел его полезным для некоторых вещей в процессе исследования вредоносных программ, о чем и хочу рассказать вам ниже.

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