Print This Post Simple PE Dumper

Среда, 1. Сентябрь 2010
Раздел: C/C++, Windows, автор:

Simple PE Dumper 1.0.

Программа, позволяющая вытянуть немного информации из исполняемых PE-файлов, а также PE .NET-файлов.

Дампит:

[+] Some DOS & NT-headers info
[+] DATA_DIRECTORY
[+] Section table
[+] Security directory
(все сертификаты, содержащиеся в файле)
[+] Debug directory
(+COFF / частично CodeView / Misc)
[+] Import directory
[+] Bound import directory
[+] Delay import directory
[+] Relocation directory
[+] Export directory
[+] TLS directory (incl. callbacks)
[+] Config directory (incl. SE Handlers)
[+] Resource directory (full STRINGTABLE and MESSAGETABLE dump)
[+] COM descriptor (full dotnet headers, streams and tables dump)

Способен корректно показать инфо о файлах, запакованных upack'ом, в отличие от многих других программ редактирования PE, а также лишен багов CFF explorer в плане просмотра информации о .NET-таблицах.

Для создания дампа просто перетащите PE-файл на форму открытого Simple PE Dumper'а.

Скачать: Simple PE Dumper

Print This Post Simple Engine Scanner

Пятница, 16. Июль 2010
Раздел: C#, Perl, автор:

Simple Engine Scanner - инструмент для автоматического сканирования веб-сайтов на наличие уязвимостей по заранее созданной базе. Инструмент состоит из двух частей: скрипт для определения уязвимостей (Perl) и программа на C# для облегченного создания базы уязвимостей, которую этот скрипт использует.

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

База содержит информацию о движках для проверки. Можно добавлять новые. Каждый движок имеет секцию "Соответствие", в которой задаются критерии, по которым двиг будет идентифицирован. Эта секция позволяет делать запросы, проверять наличие файлов на сайте, проверять, присутствуют ли заданные строки в полученном запросом контенте и проверять его соответствие заданными регулярными выражениями. Можно задать число необходимых совпадений для идентификации движка.
Секции движков также содержат подраздел "Модули", куда можно добавлять уязвимости модулей движка. Имеется такая же секция соответствия (она тут вполне может быть пустой). Можно добавить системную секцию для создания временных переменных, необходимых для тестирования модуля. Созданные переменные можно использовать для тестирования текущего модуля - они вставляются с помощью фигурных скобок, например, {myvar}. Вставка работает в запросах, в данных POST-запросов, в Cookies, в именах и описаниях уязвимостей. Обязательно парсите переменную перед тем, как ее использовать. Системная секция выполняется перед всеми остальными запросами модуля, и поэтому может быть только одна. В секцию модуля можно также добавлять уязвимости, которые опять-таки детектируются с помощью уже знакомых соответствий.

В программе редактирования БД после изменения параметров не забудьте нажать кнопку "Сохранить", а после завершения редактирования - "Сохранить БД...".

Теперь немного о скрипте для проведения тестирования.
Запускается он следующим образом:

check.pl http://example.com/forum vuln_xml_file delay log_type log_file

Первый параметр - сайт для тестирования, vuln_xml_file - имя базы, по которой будет проводиться тестирование, delay - задержка между запросами, log_type - тип логирования (0 - простой вывод в консоль краткой информации, 1 - вывод в консоль и также запись лога в файл log_file, 2 - вывод в консоль краткой информации и в файл полной информации с найденными уязвимостями и информацией о них (этот режим и рекомендуем)).

Опциональные параметры:
-encoding
Примеры использования:
-encoding=auto - автоопределение кодировки сайта;
-encoding=enc (например, -encoding=utf8) - явное задание кодировки сайта.

-redirect404
Если она указана, то 301 и 302 редиректы будут считаться за страницу 404. Полезно, например, при работе с хостингом majordomo. Если она не указана, то скрипт теперь автоматически определит, стоит ли считать 301 и 302 редиректы за страницу 404. Стоит заметить, что такие вещи работают только с HEAD-запросами (и как раз с проверками существования файлов).

Также в скрипте есть строки, позволяющие при необходимости задать http-прокси или socks5 для проведения запросов:

#Proxy
my $proxy = '127.0.0.180';
#0 - no proxy; 1 - http; 2 - socks5
my $ptype = 0;

Скачать: simple engine scanner

Print This Post Exe2Pdf

Понедельник, 7. Июнь 2010
Раздел: C#, автор:

Выходя из самолета в аэропорту Балтимор, d_x поднял голову и увидел такое знакомое и дорогое американское небо, так не похожее на питерское… В ставшем родным Вашингтоне его ждал Kaimi, который как раз к приезду d_x’а закупился энергетиками и проходил очередную миссию Halo3 на максимальной сложности, ожидая друга, чтобы прояснить ему ситуацию, описанную ниже.

В начале года несколькими людьми была найдена "уязвимость" в формате PDF, позволяющая запускать произвольный код при открытии файла, которая на самом деле является документированной возможностью формата. Всего было опубликовано два типа уязвимостей: с использованием и без использования JavaScript.
После беглого изучения формата и специфики этой проблемы была реализована программа для внедрения exe файлов в тело pdf и последующего запуска exe при открытии. Конечно, при открытии pdf выдается предупреждение, однако, существует возможность вывести произвольный текст в окне предупреждения (актуально для Acrobat Reader 9.*, в 8.* весь внедренный код вываливается целиком, и пользователь, скорее всего, что-нибудь заподозрит :) ).

Программа обладает следующими возможностями:
[+] Задание произвольного текста сообщения (лучше не делать текст длинным)
[+] Задание имени временного vbs файла (используется для создания exe файла из тела pdf)
[+] Задание имени временного exe
[+] Возможность удаления exe через заданный интервал времени

Интерфейс программы предельно прост и выглядит следующим образом:

exe2pdf

Скачать: exe2pdf (пароль на архив: kaimi-ru)

Последнее обновление: 7 Jun 22-30 msk

Print This Post Как сделать BSOD из User-mode

Воскресенье, 17. Май 2009
Раздел: Assembler, автор:

Наткнулся на забавный исходник на одном китайском сайте, где показано, как можно сделать BSOD (Blue Screen of Death, синий экран смерти) в Windows из User-Mode (ring 3) без всякого Native API:

Код на c++:

Код на ассемблере (переписал с си++ для уменьшения размера, весит всего 1кб):

Код проверен и работает на WinXP SP3 и Windows Vista SP1. На Windows 7 не работает, пофикшено, на XP SP2 тоже вроде бы не работает.

UPD: обнаружился код на c++, который способен вызвать BSOD на Win XP SP2, Win 2003 SP1 и Win NT SP4 (Discovered on 23.12.2004 by YuraN).
Читать дальше »

123