Print This Post С наступающим 2013 годом!

Понедельник, 31. Декабрь 2012
Раздел: Жизнь, автор:

Поздравляем всех читателей с наступающим Новым Годом!

new_year_2013

Print This Post Code review #1

Воскресенье, 5. Август 2012
Раздел: Code Review, автор:


Вот и наступило время для первого обзора исходников от Kaimi и dx. Не все исходники попали в этот пост, потому что прислано их было немало. Не огорчайтесь, если не увидели своего творения, мы постараемся включить его в следующие выпуски!
Читать дальше »

Print This Post С наступающим 2012 годом!

Суббота, 31. Декабрь 2011
Раздел: Жизнь, автор:

Поздравляем всех читателей с наступающим Новым Годом!
Счастья, удачи и успехов Вам в новом году!

С наступающим 2012 годом!

Print This Post С 8-м марта!

Вторник, 8. Март 2011
Раздел: Жизнь, автор:

Print This Post С наступающим 2011 годом!

Пятница, 31. Декабрь 2010
Раздел: Жизнь, автор:

Поздравляем всех с наступающим Новым Годом!
Желаем, чтобы в новом году Ваши мечты воплощались в жизнь, и Вы стремились к новым высотам!

Print This Post Делаем собственный инжектор

Суббота, 14. Август 2010
Раздел: Assembler, C/C++, Windows, автор:

Давным-давно, во времена мифов и легенд, когда древние Боги были мстительны и жестоки и обрушивали на программистов все новые и новые проклятия... На хабре была опубликована статья про сплайсинг.

В качестве примера в статье был приведен довольно масштабный код, который воспринимался не особо легко. Захотелось разобраться в процессе инжекта, а также написать более простой и менее громоздкий код.
Вкратце, инжектинг - это подгрузка нашей библиотеки в сторонний процесс, а сплайсинг - перехват какой-либо функции (мы перехватывали WinAPI) и модификация её работы средствами этой самой библиотеки.
Пример будет состоять из двух частей: 1 - библиотека, 2 - инжектор, который будет внедрять библиотеку в целевой процесс. Библиотеку будем писать на masm, что позволит в разы сократить объемы кода, а инжектор - на Си.
Читать дальше »

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 KWM bruteforce

Среда, 2. Июнь 2010
Раздел: C/C++, автор:

Консольный брутфорс для .kwm файлов (файл ключей webmoney keeper classic) по словарю. Использование аналогично предыдущему брутфорсу для .pfx сертификатов.
Скорость перебора составляет ~100-200 тысяч паролей в секунду.

kwm bruteforce

kwm брутфорс

Скачать: kwm bruteforce

Update 03.04.11: Исправлена проблема совместимости с текущей версией kwm-файлов WebMoney.

Update 09.07.12: Немного измененная версия брутфорса, если предыдущий вариант на Intel Core i5 выдавал скорость ~190000 паролей/сек, то этот ~250000 паролей/сек. Скачать.

Update (07.02.14):
kwm bruteforce source
GitHub: kwm-bruteforce

Print This Post PFX bruteforce

Вторник, 11. Май 2010
Раздел: C/C++, автор:

Как-то раз случилось забыть пароль от сертификата Webmoney. Для того, чтобы ускорить процесс вспоминания, был написан простой консольный брутфорс (на Си + Win32 API) для pfx файлов (PKCS #12 Certificate File) по словарю.
Скорость работы на компьютере с процессором CoreDuo 2Ghz под Windows XP SP3 составляет примерно 30000 паролей/сек.

pfx bruteforce

pfx брутфорс

В комплекте с брутфорсом идет Crypt32.dll из WinXP, ибо с ней почему-то достигается наибольшая скорость работы (по сравнению с библиотеками из Windows Vista и Windows 7).

Скачать: pfx bruteforce (пароль на архив: kaimi-ru)
Update (07.02.14):
Скачать: pfx bruteforce source
GitHub: pfx-bruteforce

12