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

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

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

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

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

Категории

Все категории
Loading categories
birp — Big Iron Recon & Pwnage | Kitploit
Инструменты/GitHubGitHub/sensepost/birp
ReconnaissanceVulnerability AnalysisWeb Proxies & InterceptionInformation GatheringPenetration Testing
GitHubsensepost/birp

birp

Big Iron Recon & Pwnage

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

Популярное

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

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

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

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

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

Big Iron Recon & Pwnage (BIRP)

автор @singe (Dominic White @ SensePost)

Обзор

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

В частности, BIRP предоставляет две возможности для начинающего хакера TN3270. Первая — он показывает все данные, возвращаемые приложением на экран. Это включает скрытые поля. Вторая — он позволяет изменять поля, помеченные как "защищённые" (aka "неизменяемые"). В зависимости от того, как разработано приложение, это может позволить изменить функциональность приложения.

Запуск

./birp.py -h выведет справку для запуска.

Всё, что нужно — указать цель с помощью -t. Спецификация цели может включать порт после двоеточия после IP, например, 10.10.10.10:1023. Если порт не указан, по умолчанию используется :23, как и в x3270.

Вы можете использовать -l для загрузки ранее сохранённого файла истории в историю. Вы должны всегда указывать цель и пока, к сожалению, не можете просто просматривать историю.

Ознакомьтесь с предварительными требованиями ниже для установки. К сожалению, сейчас это работает только в Unix-средах, поддержка Windows отсутствует.

Функциональность

В настоящее время BIRP имеет довольно ограниченный набор функций. Это:

  • Интерактивный режим

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

В интерактивном режиме нажатие Ctrl-h выведет справку, Ctrl-k отобразит цветовую легенду, а ESC вернёт в меню.

BIRP пытается определить, когда произошла "транзакция", и записывает экран до и после, а также изменённые поля. Некоторые клавиши обычно гарантированно инициируют транзакцию, например Enter или любые клавиши PF/PA. Однако, если по какой-то причине экран требует других клавиш для работы, вы можете вручную "запушить" транзакцию с помощью Ctrl-u сразу после выполнения действия.

Наконец, если вы хотите, чтобы экран был перерисован, нажмите Ctrl-r.

  • Просмотр истории

Это отобразит историю всех транзакций, записанных BIRP, и позволит их просмотреть. В частности, предоставляет доступ к отправленному экрану, полям, которые были изменены на этом экране (т.е. отправленным данным) и ответу.

Для каждого экрана отображается только первая строка для контекста, но полный экран можно распечатать, если просмотреть транзакцию.

Также можно войти в Python и изучить объект экрана напрямую.

  • Поиск в истории

Здесь вы можете выполнить поиск с учётом регистра, чтобы найти транзакции с экранами, содержащими определённый текст.

  • Сохранение истории

Вы можете сохранить свою историю в файл и загрузить её позже с помощью параметра -l в командной строке. Сохранять нужно в уникальное имя файла.

  • Python-консоль

Инструмент ещё не завершён, и сейчас есть много веских причин иметь возможность напрямую работать с объектами. Вы можете войти во встроенную оболочку IPython в различных местах. BIRP имеет довольно полезный набор объектов Python, которые можно опрашивать, и я убедился, что они имеют полезный вывод в стиле Python (str/repr). Главный объект — это "history", который содержит список "транзакций". Вы можете опросить последнюю добавленную транзакцию, обратившись к history.last(). Каждая транзакция имеет объекты экрана запроса и ответа. Так, например, чтобы получить список всех скрытых полей в последнем ответе от сервера, вы можете использовать: history.last().response.hidden_fields

Для более подробной информации лучше всего изучить модуль tn3270.py.

Предварительные требования:

  • Библиотеки Python: py3270 (v0.3.4), colorama, IPython Их можно установить с помощью pip или easy_install. До тех пор, пока py3270 не примет этот pull request (https://github.com/py3270/py3270/pull/13), используйте мою библиотеку py3270 (https://github.com/singe/py3270).

  • Модифицированный клиент x3270 (v3.6) Патчи прилагаются. Вы можете загрузить исходный код по адресу http://x3270.bgp.nu/download.html, затем перейти в каталог suite3270 после распаковки и выполнить patch -p1 < suite3270-full.patch Вы можете использовать немодифицированный клиент, но тогда вы не сможете редактировать защищённые поля. Патч вносит два изменения: первое позволяет редактировать защищённые поля, второе делает скрытые поля видимыми (отображаются инверсным выделением текста). Эта функциональность разделена на два отдельных патча, если по какой-то причине вам нужен только один из них.

Дизайнерские решения

Обработка клавиш, которую я использую, — это моя собственная реализация getch. Она довольно ужасна, но работает. Я бы хотел использовать более зрелую реализацию обработки клавиш, такую как curses, pygame, urwid и т.д., но все они хотят захватывать экран. Лично я считаю, что буфер прокрутки неоценим для записи моих действий или просто возможности прокрутить вверх и вспомнить, что я делал, поэтому я не хотел терять эту возможность, отсюда и такой подход.

Я счёл py3270 довольно грубым и в итоге обернул некоторые его части. Я предоставил это как отдельную обёртку, которую вы можете использовать в своих собственных программах.

Благодарности

  • Спасибо Soldier of Fortran (@mainframed767) за помощь в разборе этих мейнфреймовых штучек.
  • Андреасу Линду (@addelindh) за умное название инструмента.
  • Рогану Доусу за то, что сидел напротив меня большую часть времени написания инструмента и всегда давал полезные советы.
  • Неназванному клиенту, который предоставил мне возможность тестировать их мейнфреймы и разработать инструмент.

Автор: dominic () sensepost.com (@singe)

Лицензия

Big Iron Recon & Pwnage от SensePost лицензирован под Creative Commons Attribution-ShareAlike 4.0 International License (http://creativecommons.org/licenses/by-sa/4.0/) Разрешения, выходящие за рамки этой лицензии, могут быть доступны по адресу http://sensepost.com/contact us/.

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