Алмазный фонд «Хакера». Самые крутые материалы по реверсингу и malware за три года
Содержание статьи- Библиотека антиотладчика
- Антиотладочные трюки. Активно противодействуем отладке нашего приложения
- VEH в Windows x64. Усложняем анализ кода с помощью векторной обработки исключений
- Отладка VS защита. Простые способы сложной отладки
- Бурим ядро Windows. Kernel Pool Overflow — от теории к практике
- Кряк без дизассемблера
- Энциклопедия антиотладочных приемов
- Дизассемблирование C# программ от A до Z
- Виртуальная отладка
- Убить DEP’а. Теория и практика обмана hardware-DEP
- Руткитам — бой!
- Морфим, не отходя от кассы. Мутация кода во время компиляции
- Многоразрядные шелл-коды. Пишем ring0-shellcode под Windows x64
- Обуздать WinDbg. Простые приемы сложного отладчика
- Драйверы антивирусов — источник зла. Уязвимости в драйверах проактивных защит
- Ассемблером по эвристике. Накорячиваем AVG, Avast, ClamAV, Panda, Comodo: просто, эффективно и без извращений
- Малварщики против PatchGuard. Лезем в недра таинственной технологии Microsoft — Kernel Patch Protection
- Изучаем антивирус. Расковыриваем антивирусный сканер, эвристический анализатор и эмулятор в антивирусных программах
- Бурим антивирус. Еще глубже! Рассматриваем способы мониторинга событий и проактивной защиты в разных антивирусных программах
- Тибериумный реверсинг. Внедрение Х-кода и виртуальная машина: теория и практика
- X-препарация: вскрываем хитрый Sality.aa. Учимся распознавать полиморфизм и обфускацию кода на примере известного вируса
- Мобильная малварь под микроскопом. Рассматриваем «эротический» J2ME-зловред во всех интимных подробностях
- На малварь без антивируса. Что делать, если его базы еще не успели обновиться?
- Заключение
В общем, мы решили прошерстить все выпуски и сделать для тебя подборочку самых крутых материалов, которые ты, в принципе, мог и пропустить. Как говорится, от преданных читателей журнала — для преданных читателей журнала (а что, я как раз такой — у меня вся подшивка с 2000 года лежит, могу достать с антресолей и предъявить! — Прим. ред.).
Библиотека антиотладчикаПеред нами небольшой гайд по техникам антиотладки приложений. Несмотря на то что статья довольно скромная по объему, она очень качественно описывает основные методы и трюки использования антиотладочных приемов для противодействия анализу бинарного кода, то есть приложения. Помимо теории, даются примеры кода, описание параметров и флагов. В общем, это must have настоящего реверсера! В заключении также приведены мнения авторитетных экспертов Вячеслава Закоржевского из «Лаборатории Касперского» и Александра Матросова, некогда Senior virus researcher в лаборатории ESET.
Антиотладочные трюки. Активно противодействуем отладке нашего приложенияВ материале рассматриваются кейсы использования особенностей выполнения машинного кода для противодействия отладке. В частности, API-функции rdtsc (Read Time Stamp Counter) и особенности реализации на процессорах Intel и AMD. Рассказывается про выполнение некоторых инструкций CPU, позволяющих создавать антиотладочные методы, обойти которые способен не каждый реверсер.
VEH в Windows x64. Усложняем анализ кода с помощью векторной обработки исключенийБыть может, тебе уже доводилось читать об обработке исключений в x64. Ну а если нет, эта статья как раз для тебя! Описывается и теория и практика использования векторной обработки исключений в приложениях, написанных под ОС Windows. Представленная информация довольно редкая и почти не имеет аналогов в программистской русскоязычной литературе.
Отладка VS защита. Простые способы сложной отладкиТы помнишь игрушки, защищенные от копирования технологией StarForce Protection System? Так вот, в этой статье автор предлагает познакомиться с некоторыми непростыми видами защитных механизмов, их описанием, примерами реализации и оценкой. Это хоть небольшой, но полезный экскурс в мир противостояния средств защиты и средств анализа. Ты сможешь узнать подробности и технические детали и первого и второго.
Бурим ядро Windows. Kernel Pool Overflow — от теории к практикеЯдро Windows всегда было лакомым кусочком для хакера, особенно при наличии готовых эксплоитов, приводящих к повышению прав. Автор статьи рассказывает о том, как можно проэксплуатировать уязвимости ядра современных NT-систем путем манипуляций со страницами памяти. Приводятся примеры кода и описание технологии использования кода. Всем, кто интересуется rootkit-технологиями, к прочтению обязательно!
Кряк без дизассемблераСтатья легендарного Криса Касперски. Универсальный взлом триальных программ. У тебя установлен триальный шаровар? Тридцать дней истекли и программа не работает? Ни знания ассемблера, ни навыка работы с отладчиком, ни утомительного поиска торкающего кряка/серийника/кейгена не требуется. Просто берем и ломаем!
Энциклопедия антиотладочных приемовЕще одна статья Криса Касперски. На этот раз он рассказывает, какой софт и для каких целей понадобится, если ты всерьез решил взяться за дело реверсинга. Несмотря на то что мажорные номера версий этого ПО уже давно ушли вперед, сами инструменты остаются актуальными и востребованными по сей день!
Дизассемблирование C# программ от A до ZЯзык программирования C# активно продвигается Microsoft. А платформа .NET продолжает победоносное шествие. Поэтому неудивительно, что довольно много программ компилируются именно на этом языке. В статье опять же Криса Касперски объясняется, как дизассемблировать Visual Basic / C# сборки, патчить в hiew’е, вести отладку на уровне байт-кода. Ты также поупражняешься в написании своего собственного crackme.
Виртуальная отладкаОтладка кода режима ядра существенно сложнее, чем отладка обычных программ. Оно и понятно: если для отладки пользовательского кода ты можешь использовать стандартный дебаггер, например вшитый в Visual Studio или в IDA, то для отладки кода режима ядра требуются спецсредства. В статье до деталей описывается отладка kernel mode кода с использованием VMware. Такого подробного гайда на русском языке я еще не встречал.
Убить DEP’а. Теория и практика обмана hardware-DEPDEP, он же Data Execution Prevention, — это механизм, придуманный разработчиками Microsoft для защиты понятно каких ОС от выполнения нелегитимного кода, который чаще всего применяется для эксплуатации уязвимостей или инфицирования целевой машины жертвы. Помимо софтового DEP’a, в современное железо вшита функция контроля на аппаратном уровне. Механизм оказался вполне рабочий. Но рабочий не значит неуязвимый. В статье автор на реальных примерах рассказывает о DEP на аппаратном уровне и том, как его можно хакнуть!
Руткитам — бой!Руткиты, как известно, очень коварная и опасная вещь. С помощью тулз данного класса вирусописатели скрывают присутствие инфекции в системе и успешно заметают следы взлома. Но и для борьбы с ними в последнее время создано немалое количество специальных утилит помимо встроенных механизмов детекции антивирусного ПО. В статье автор рассматривает, как вручную с помощью программ Anti-Spy Info, RootkitRevealer и некоторых других найти в системе руткит, как для поиска использовать отладчик SoftICE и чем предотвратить возможное заражение системы.
Морфим, не отходя от кассы. Мутация кода во время компиляцииТы написал свой первый софт и задумался, как защитить его от взлома? Покупать навесные защиты нет желания, а из freeware-тулз нет ничего действенного? Есть возможность защитить свою программу средствами компилятора FASM. Автор рассказывает на простых примерах про методы полиморфизма (генерация мусорного кода), метаморфинга (замена инструкций аналогами), пермутации (случайное перемешивание блоков кода с сохранением функциональности и логики работы), обфускации (метод запутывания логики кода, противодействие анализу), контроля целостности кода (для защиты от изменения, патчей), шифрование кода и данных.
Многоразрядные шелл-коды. Пишем ring0-shellcode под Windows x64Заполучить шелл-код — славная добыча для любого хакера, ведь это прямой доступ в систему! Но дело требует существенных сил и знаний матчасти. И если учесть, что 32-битные ОС значительно разнятся со своими 64-битными братьями, привычные способы написания шелл-кодов становятся совершенно бесполезными. Поэтому по х64 приходится копаться ручками, сравнивать и анализировать. Чем и предлагает заняться автор в данной статье. В итоге после практических занятий ты сам сможешь написать свой первый ring0-shellcode под х64-винду! Ты готов? Вперед!
Обуздать WinDbg. Простые приемы сложного отладчикаИ снова тема отладки. На доске для препарирования — WinDbg, мощный отладчик для юзермодных приложений и драйверов. И данная тема особенно актуальна для реверсеров, которым пришлось полностью или частично перейти на 64-битные платформы. Ведь, по сути, ни один имеющийся x64-отладчик не способен сравниться с WinDbg по возможностям, так что в статье речь пойдет в основном про 64-битные версии Windows. Но и обладатели 32-битных смогут обнаружить для себя интересную информацию.
Драйверы антивирусов — источник зла. Уязвимости в драйверах проактивных защитИз теории кодописательства известно, что большое количество программ, предназначенных для антивирусной защиты, используют драйверы режима ядра в Windows как «окно» для доступа в более привилегированный режим — ring 0. Это класс ПО, к которому можно отнести антивирусы, межсетевые экраны, HIPS’ы (Host Intrusion Prevention System) и популярные ныне программы класса internet security. Но, как показывает практика, многие из них содержат уязвимости. А в большинстве софтверных компаний их драйверы не тестируют. Вывод прост: драйверы антивирусов — лакомый кусочек для хакера. Автор описывает, какие есть проблемы в современных драйверах защитного ПО, и показывает, как их можно успешно проэксплуатировать. Вот настоящая тема для исследователей багов и разработчиков эксплоитов!
Ассемблером по эвристике. Накорячиваем AVG, Avast, ClamAV, Panda, Comodo: просто, эффективно и без извращенийЭвристический анализатор стал штатным механизмом современного антивирусного ПО. Резон в этом есть: его задача — обнаруживать необнаруживаемое, находить неизведанное. Концепция, направленная в противовес сигнатурному детекту, основанному на базах данных. Поэтому антивирусные лаборатории постоянно совершенствуют алгоритмы своих эвристических анализаторов. Однако и их можно обойти. Как? В данной статье автор демонстрирует, как, используя код на ассемблере, уделать многих именитых вендоров. Читаем, смотрим, экспериментируем.
Малварщики против PatchGuard. Лезем в недра таинственной технологии Microsoft — Kernel Patch ProtectionКто, как не Microsoft, знает цену атаки на производимые ей операционные системы? Так, с релизом Windows Server 2003 MS запустила в массы механизм защиты ядра от изменений, получивший название Kernel Patch Protection, более известный ныне как PatchGuard. Фича, помогающая защититься больше от кривых рук программистов, пишущих корявые поделки, может пригодиться и в деле борьбы с руткитами. Итак, автор статьи погружает нас в дебри Kernel Patch Protection, рассказывает, как можно ее юзать для защиты системы от падения ядра, и собственно о том, как этот механизм можно преодолеть.
Изучаем антивирус. Расковыриваем антивирусный сканер, эвристический анализатор и эмулятор в антивирусных программахМеня всегда интересовало, как работает антивирусное ПО. Просто было любопытно. А после того, как я занялся темой reverse malware, это перешло в область профессиональных интересов. Только вот по-настоящему полезной инфы на эту тему никогда не было. Да и в официальных источниках она вряд ли когда-то появится. А вот в этой статье автор на понятном для читателя языке популярно рассказывает, как работает современный антивирус. Мы увидим под микроскопом, как сканер анализирует файлы, как отрабатывает эвристика и пашет эмулятор кода, зашитый в антивирусный движок.
Бурим антивирус. Еще глубже! Рассматриваем способы мониторинга событий и проактивной защиты в разных антивирусных программахИ снова тема изучения потрохов антивирусного ПО. На сей раз рассказывается о технологии HIPS (Host Intrusion Prevention System) — так называемом проактивном детектировании (поведенческий анализ, анализ, основанный на мониторинге системных событий). И автор копает в глубину вопроса, ведь под этими понятиями может скрываться, например, как примитивная защита нескольких ключей реестра или уведомления о попытках доступа к определенным директориям, так и анализ поведения программ или какая-либо другая технология, основанная на мониторинге системных событий. Подходит для тех, кто серьезно интересуется малварью.