SignFinder

Автор: Auth0r
URL: https://github.com/coruws/SignFinder
Система: Windows

Написанный на Python скрипт поможет в нелегком деле поиска сигнатур антивирусов в PE32-файлах. На данный момент утилита имеет пять режимов сканирования, позволяющих шаг за шагом детализировать места расположения сигнатур.

Поиск начинается с быстрого режима, уточняющего, какой вид сигнатур нам встретился:

  • скан-строка в конкретной секции;
  • сигнатура эмулятора;
  • сигнатура на импортируемых WinAPI
  • или (методом исключения) на оставшихся заголовках PE32.

    python SF.py fast path_to_exe

После поверхностного осмотра принимается решение просканировать заголовки:

python SF.py head path_to_exe

или найти сигнатуру в конкретной секции:

python SF.py sect path_to_exe section_number

Для финальной стадии поиска подходит ручной режим, по очереди затирающий отрезки заданного участка:

python SF.py man path_to_exe offset size part_num

Таким нехитрым образом можно найти участок размером в пару байтов, гарантированно ломающий сигнатуру.

Утилита обновляется, обрастая новыми режимами сканирования.

 

Protocol Learning and Stateful Fuzzing

Автор: Hugo Gascon
URL: https://github.com/hgascon/pulsar
Система: Linux

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

Работа с инструментом заключается в двух этапах.

  1. Обучение. Например, на основе PCAP-файла:

    $> pulsar.py -l -p file.pcap (1 pcap file)
    $> pulsar.py -b 016169EBEBF1CEC2AAD6C7F0D0EE9026 (1 or more binaries from cuckoo storage)
    $> pulsar.py -a (all binaries from cuckoo storage)

  2. Использование полученной модели. Например, для моделирования:

    $> pulsar.py -s -m model_file

Или для фаззинга:

$> pulsar.py -z -m model_file

Более подробно с инструментом и его подходами можно ознакомится в работе Pulsar: Stateful Black-Box Fuzzing of Proprietary Network Protocols.

 

TLS-Attacker

Авторы: Ruhr University Bochum
URL: https://github.com/RUB-NDS/TLS-Attacker
Система: Windows/Linux

TLS-Attacker — это фреймворк на языке программирования Java для анализа TLS-библиотек. Он способен отправлять произвольные сообщения протокола в произвольном порядке в TLS-общении и определять их модификацию, используя предоставленный интерфейс. Это дает разработчику возможность достаточно просто определить собственный поток TLS-протокола и проверить это против собственной TLS-библиотеки.

Проект состоит из пяти подпроектов:

  • Transport. Транспортные утилиты для TCP и UDP;
  • ModifiableVariable. Содержит изменяемые переменные, которые позволяют выполнять конкретные, а также случайные модификации переменных во время потока протокола. Изменяемые переменные используются в сообщениях протокола;
  • TLS. Реализация протокола, на данный момент совместимого с (D)TLS 1.2;
  • Attacks. Реализация нескольких хорошо известных атак (Bleichenbacher, Dtls Padding Oracle, EarlyCCS, Heartbleed, Invalid Curve, Padding Oracle, Poodle, Winshock) и тестов для этих атак;
  • Fuzzer. Фаззинг-фреймворк, реализованный поверх функциональности TLS-Attacker.

На текущий момент есть поддержка следующих стандартов и алгоритмов:

  • TLS versions 1.0 (RFC-2246), 1.1 (RFC-4346) и 1.2 (RFC-5246);
  • DTLS 1.2 (RFC-6347);
  • алгоритмы обмена (EC)DH и RSA key;
  • AES CBC;
  • расширения: EC, EC point format, Heartbeat, Max fragment length, Server name, Signature и Hash algorithms;
  • TLS-клиент (сервер скоро обещают).

Продолжение статьи доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все статьи на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи одну статью

Заинтересовала статья, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для статей, опубликованных более двух месяцев назад.


Комментарии

Подпишитесь на ][, чтобы участвовать в обсуждении

Обсуждение этой статьи доступно только нашим подписчикам. Вы можете войти в свой аккаунт или зарегистрироваться и оплатить подписку, чтобы свободно участвовать в обсуждении.

Check Also

Хакер ищет авторов. Читатель? Хакер? Программист? Безопасник? Мы тебе рады!

Восемнадцать лет мы делаем лучшее во всем русскоязычном пространстве издание по IT и инфор…