Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Bropper — Инструмент для автоматической эксплуатации Blind ROP | Kitploit
Инструменты/GitHubGitHub/hakumarachi/bropper
Фреймворки для эксплойтовЭксплуатацияCTFЭксплуатация Бинарных Файлов
GitHubhakumarachi/bropper

Bropper

Инструмент для автоматической эксплуатации Blind ROP

Репозиторий
209183 лет назадПроверено Kitploit

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

BROPPER

Автоматический Python-инструмент для эксплуатации Blind ROP

Аннотация

BROP (Blind ROP) — техника, обнаруженная Эндрю Биттау из Стэнфорда в 2014 году.

  • Оригинальная статья
  • Слайды

Большинство серверов, таких как nginx, Apache, MySQL, создают дочерние процессы и общаются с клиентом. Это означает, что канарейка и адреса остаются неизменными, даже при включённых ASLR и PIE. Таким образом, мы можем использовать обученный перебор для утечки информации и последующего создания рабочего эксплойта.

Порядок эксплуатации

  1. Найти смещение для переполнения буфера
  2. Найти канарейку (canary)
  3. Найти сохранённые регистры (RBP / RIP)
  4. Найти стоп-гаджеты (stop gadgets)
  5. Найти brop-гаджеты
  6. Найти функцию записи (write / dprintf / puts / ...)
  7. Утечка бинарного файла

Примеры результатов

В репозитории представлено 3 пользовательских уязвимых примера. Вы можете запустить их напрямую или собрать Dockerfile.

BROPPER затем извлечёт бинарный файл:

После этого можно извлечь все ROP-гаджеты из дампа, например с помощью ROPgadget:

root@kitploit:~
$ ROPgadget --binary dump
Gadgets information
============================================================
0x0000000000001177 : adc al, 0 ; add byte ptr [rax], al ; jmp 0x1020
0x0000000000001157 : adc al, byte ptr [rax] ; add byte ptr [rax], al ; jmp 0x1020
0x0000000000001137 : adc byte ptr [rax], al ; add byte ptr [rax], al ; jmp 0x1020
...
...
...
0x0000000000001192 : xor ch, byte ptr [rdi] ; add byte ptr [rax], al ; push 0x16 ; jmp 0x1020
0x000000000000182e : xor eax, 0x891 ; mov rdi, rax ; call rcx
0x0000000000001861 : xor eax, 0xffffff22 ; mov rdi, rax ; call rcx

Unique gadgets found: 235

Использование скрипта

Для использования скрипта:

root@kitploit:~
python3 -m pip install -r requirements.txt
python3 bropper.py -t 127.0.0.1 -p 1337 --wait "Password :" --expected Bad --expected-stop Welcome -o dump
root@kitploit:~
$ python3 bropper.py -h
usage: bropper.py [-h] -t TARGET -p PORT --expected-stop EXPECTED_STOP --expected EXPECTED --wait WAIT -o OUTPUT [--offset OFFSET] [--canary CANARY] [--no-canary] [--rbp RBP] [--rip RIP] [--stop STOP]
                  [--brop BROP] [--plt PLT] [--strcmp STRCMP] [--elf ELF]

Description message

options:
  -h, --help            show this help message and exit
  -t TARGET, --target TARGET
                        target url
  -p PORT, --port PORT  target port
  --expected-stop EXPECTED_STOP
                        Expected response for the stop gadget
  --expected EXPECTED   Expected normal response
  --wait WAIT           String to wait before sending payload
  -o OUTPUT, --output OUTPUT
                        File to write dumped remote binary
  --offset OFFSET       set a offset value
  --canary CANARY       set a canary value
  --no-canary           Use this argument if there is no stack canary protection
  --rbp RBP             set rbp address
  --rip RIP             set rip address
  --stop STOP           set stop gadget address
  --brop BROP           set brop gadget address
  --plt PLT             set plt address
  --strcmp STRCMP       set strcmp entry value
  --elf ELF             set elf address

Вклад

Pull request'ы приветствуются. Не стесняйтесь открывать issue, если хотите добавить другие функции.

Скачать инструмент