KASLRfinder — утилита для поиска в памяти Windows 10

Автор: Ulf Frisk
URL: https://github.com/ufrisk/kaslrfinder
Система: Windows

KASLRfinder — это небольшая утилита, которая может быть использована для поиска в памяти Windows 10 ядра и загруженных драйверов, несмотря на базовые адреса, рандомизированные таким механизмом, как Kernel Address Space Layout Randomization (KASLR). Инструмент может запускаться как обычная программа и не требует привилегий администратора.

Инструмент работает на основе времени выполнения неудачных инструкций внутри Transactional Synchronization Extensions (TSX) блока. TSX был впервые введен в процессорах на базе Haswell, но был отключен из-за некоторых проблем. Инструкции TSX доступны на всех процессорах Skylake. Для получения более детальной информации советуем ознакомиться с записями Рафаля Войтчука (Rafal Wojtczuk) из Bromium Labs или презентацией c Black Hat.

KASLRfinder способен:

  • найти адрес ядра в пределах допустимой погрешности 1 Мбайт;
  • найти драйвер или адрес модуля точно, используя сигнатурный поиск;
  • создать новые сигнатуры.

Системные требования:

  • Skylake CPU или более новый (некоторые Haswells также могут работать);
  • Windows 10 64-bit.

Подробнее об инструменте можно узнать из поста Windows 10 KASLR Recovery with TSX.

 

Фреймворк с открытым исходным кодом для аудита WAF

Авторы: George Argyros, Ioannis Stais
URL: https://github.com/lightbulb-framework/lightbulb-framework
Система: Linux

LightBulb — это фреймворк на Python с открытым исходным кодом для аудита Web Application Firewalls (WAF, файрволов уровня веб-приложения). Фреймворк состоит из двух основных алгоритмов:

  • GOFA — алгоритм активного обучения, который позволяет анализировать программы удаленно, то есть запрашивать нужную программу и изучать вывод;
  • SFADiff — алгоритм дифференциального тестирования черного ящика на основе обучения символических конечных автоматов (SFA). Выявлять различия между программами с аналогичной функциональностью — одна из важных проблем безопасности: такие различия могут быть использованы для снятия цифрового отпечатка (fingerprinting) или обхода атак против ПО для безопасности, такого как WAFs, предназначенные для обнаружения вредоносных входных данных для веб-приложений.

Инструмент впервые был представлен на конференции Black Hat Europe 2016 в презентации Another Brick Off the Wall: Deconstructing Web Application Firewalls Using Automata Learning и whitepaper.

 

POC генератора архитектурно независимого VBA-кода

Автор: Vincent Yiu
URL: https://github.com/mwrlabs/wePWNise
Система: Linux, Windows

WePWNise — это proof-of-concept Python-скрипт, который генерирует архитектурно независимый VBA-код для использования в документах Office или шаблонах. Помогает автоматизировать обход механизмов контроля и предотвращения эксплуатации в программном обеспечении.

Инструмент перечисляет Software Restriction Policies (SRPs) и присутствие EMET и динамически идентифицирует наиболее подходящие бинарные файлы для инжекта payload. WePWNise интегрируется с фреймворками эксплуатации (например, Metasploit, Cobalt Strike), также он принимает любые пользовательские полезные нагрузки в raw-формате.

WePWNise понимает как 32-, так и 64-битный raw-формат полезных нагрузок для того, чтобы быть в рабочем состоянии, когда он попадает на заранее неизвестную цель (с точки зрения архитектуры). Однако если требуется только архитектура x86, то все равно должна быть некая заглушка для архитектуры x64.

 

Компилятор Shellcode для Windows

Автор: Ionut Popescu
URL: https://github.com/NytroRST/ShellcodeCompiler
Система: Windows

Shellcode Compiler — это небольшая программа, которая компилирует код в стиле C/C++ в миниатюрный, позиционно независимый (PIC, position-independent) и без NULL-значений шелл-код для Windows. На текущий момент он с легкостью позволяет вызывать любые Windows API функции. К сожалению, обрабатывать условия и циклы он не умеет — внутренний язык написания шелл-кодов не позволяет этого, но так как проект с открытым исходным кодом, то можно расширить поддержку внутреннего представления данного компилятора шелл-кода.

Shellcode Compiler принимает на вход исходный файл, использует собственный компилятор для интерпретации кода и генерирует ассемблерный листинг, который собирается с помощью NASM.

Пример использования:

ShellcodeCompiler.exe -r Source.txt -o Shellcode.bin -a Assembly.asm

Текущие ограничения:

  • не умеет взаимодействовать с return value от API-вызовов;
  • не умеет взаимодействовать с указателями и буферами;
  • не поддерживает переменные.

Все эти упущения обещают исправить как можно скорее. Однако есть и другие ограничения, все же это пока только альфа-версия. Если обнаружишь какие-то баги — смело пиши разработчикам.

Данная разработка впервые была представлена на конференции DefCamp в Румынии в ноябре 2016-го.

 

Linux LD_PRELOAD руткит для архитектур x86, x86_64 и ARM

Автор: mempodippy
URL: https://github.com/mempodippy/vlany
Система: Linux

Vlany — это Linux-руткит, базирующийся на LD_PRELOAD, для архитектур x86, x86_64 и ARM.

Особенности:

  • скрытие процессов;
  • скрытие пользователей в системе;
  • скрытие сетевой деятельности;
  • LXC-контейнер;
  • антиотладка;
  • антифорензика;
  • стойкость к удалению;
  • модификация динамического линкера;
  • бэкдоры: accept() (взят из Jynx2), PAM-бэкдор, PAM auth логгер;
  • набор специализированных команд.

Более подробно обо всем можно узнать из описания. Находится в активной стадии разработки.

 

Скрипт-демонстрация подмены MBR

Автор: David Buchanan
URL: https://github.com/DavidBuchanan314/pwn-mbr
Система: Linux

Простая демонстрация подмены MBR.

Фаза 1: инъекция

Зловредный бинарник запускается с привилегиями root. Исходная MBR копируется в другое свободное место (первый сектор, полностью содержащий нули) на диске до первого раздела. Boot-сектор перезаписывается вредоносным кодом.

Фаза 2: выполнение

В следующий раз при перезагрузке BIOS начнет исполнение пейлоада. В примере на GitHub у тебя высветится текст MBR PWNED! несколько сотен раз. Пейлоад определяет местоположение исходного boot-сектора (по magic number) и копирует его на свое законное место (0x7C00). Однако раньше там располагался пейлоад, поэтому прежде он копирует себя в другое место. Наконец, пейлоад переходит обратно на адрес 0x7C00, и загрузка продолжается в обычном режиме.

 

Демонстрационный пример рансомвари с командным сервером

Автор: NullArray
URL: https://github.com/NullArray/Cypher
Система: Windows/Linux

Cypher — демонстрационный пример ransomware, то есть вредоносного программного обеспечения, предназначенного для вымогательства. Написан с использованием PyCrypto и использует Gmail как командный сервер. Проект находится в стадии активной разработки.

При заражении каждой машине присваивается уникальный ID, который будет выслан вместе с ключом шифрования на почтовый адрес Gmail. После этого Cypher определит, какие файлы нужно зашифровать, и начнет собственно шифрование. Процесс распараллеливается, поэтому достигается высокая скорость. В последней версии добавлена функция перезаписи исходной MBR.

В итоге Cypher создаст файл README, в котором будут даны указания для получения ключа расшифрования.

2 комментария

  1. Аватар

    e6a3dec

    28.12.2016 в 15:30

    Сами то этот vlany rootkit тестили?)

  2. Аватар

    Khazhinov

    29.12.2016 в 16:05

    Не сказал бы, что софт за декабрь лучший, но довольно хорошая подборка.

Оставить мнение