Архив

Архив рубрики ‘Реверсивная инженерия’

Как в MS хучат таблицу сервисов ядра

Недавно наткнулся на то, что мой драйвер, который мониторит SSDT начал падать на одной системе. Заподозрил, что это руткит который тоже лезет хучить SSDT. Посмотрел в таблицу и увидел что функции NtUnloadKey и NtFlushKey захучены каким-то драйвером uphcleanhlp. И файла такого на диске нет.
Читать далее…

Реассемблирование. Full version.

Сентябрь 8, 2011 2 комментариев(я)

Издавна предпринимались попытки по реассемблированию. Например раз, два и три. Но ни разу не описывался опыт полного, и главное удачного реассемблирования exe файла. Их есть у меня.
Читать далее…

Об именах процессов в ядре

Каждый кто писал драйвера для Windows сталкивался с потребностью фильтрации чего-либо по имени процесса. И вот тут начинаются свистопляски, потому что нет нормального документированного способа получить имя процесса в ядре.
Читать далее…

Как работает обработчик сискола в Windows

Все вроде бы понимают, как происходит переход из ring-3 в ring-0 но никто не рассказывает детально.
Читать далее…

А где PatchGuard в WRK?

В инете запросто можно найти Windows Research Kernel, частичные сорцы ядра Windows Server 2003. То есть сорцы там есть, но не все. Тем не менее оно компиляберное. И части кода ядра, для которых нет сорцов, линкуются из либ в каталоге \base\ntos\BUILD\PREBUILT. Естественно, если WRK собирается для x64, возникает вопрос: а что с PatchGuard’ом в этом ядре, в сорцах его точно нет.
Читать далее…

Тренировка на кошках. Анализ эксплоита CVE-2008-0015

В предидущей статье я описал общий подход к анализу эксплоитов. Теперь будет конкретный пример: анализ эксплоита CVE-2008-0015 из метасплоита.
Читать далее…

Как начать изучать эксплоиты

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

Плагин к IDA для поиска сигнатур по COFF файлам

Октябрь 12, 2010 3 комментариев(я)

Набрел недавно на программу, которая написана на VC 6. А сигнатуры VC в IDA для VC 6 почему-то не подходят – не находится ничего. Попытался сделать сигнатуры сам, через FLAIR. Облом. Отказываются тулзы обрабатывать либы от VC 6. После недолгого поиска был найден плагин Advanced obj and lib IDA signature ripper by gerbay. Идея плагина замечательная: открываем obj, находим в нем код, ищем этот же код в базе байт в байт. Линкер не церемонится при сборке obj файлов и они ложатся как есть, поэтому если у вас есть тот же самый obj, который вошел в состав exe, то удается восстановить все, вплоть до локальных переменных. Это даже круче чем FLIRT!
Читать далее…

Автоматизация поиска базы при загрузке прошивки

Основная проблема, с которой сталкивается любой реверсер прошивок, – определить базовый адрес. Каждый раз это нужно делать заново. Есть набор эмпирических приемов, по которым можно поглядев на код понять какова база. Я же предлагаю использовать статистику. Читать далее…

Follow

Get every new post delivered to your Inbox.