Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
birp — Big Iron Recon & Pwnage | Kitploit
Outils/GitHubGitHub/sensepost/birp
ReconnaissanceAnalyse des VulnérabilitésProxies Web et InterceptionCollecte d'InformationsTests d'Intrusion
GitHubsensepost/birp

birp

Big Iron Recon & Pwnage

Voir le dépôt
12532il y a 8 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Big Iron Recon & Pwnage (BIRP)

par @singe (Dominic White @ SensePost)

Aperçu

BIRP est un outil qui assiste l'évaluation de la sécurité des applications mainframe servies via TN3270. Tout comme BURP et les autres proxys d'applications web le font pour l'évaluation des applications web, BIRP vise à faire de même pour l'évaluation des applications TN3270. Et, comme pour les applications web, pouvoir voir et modifier des champs que le développeur de l'application supposait ni visibles ni modifiables permet de contourner les hypothèses de sécurité.

En particulier, BIRP offre deux capacités à l'aspirant hacker TN3270. La première est qu'il affiche toutes les données renvoyées par l'application à l'écran. Cela inclut les champs cachés. La seconde est qu'il permet de modifier les champs marqués comme « protégés », alias « non modifiables ». Selon la façon dont l'application a été développée, cela peut permettre de modifier les fonctionnalités de l'application.

Exécution

./birp.py -h vous donnera l'aide de démarrage si vous voulez vous lancer.

Tout ce dont vous avez besoin est de spécifier une cible avec -t . La spécification de la cible peut inclure un port avec un : après l'IP, par exemple 10.10.10.10:1023. Si aucun port n'est spécifié, il utilisera par défaut :23 conformément au comportement par défaut de x3270.

Vous pouvez utiliser -l pour charger un fichier d'historique précédemment enregistré dans l'historique. Vous devez toujours spécifier une cible et ne pouvez malheureusement pas encore simplement consulter l'historique.

Consultez les pré-requis ci-dessous pour l'installation. Malheureusement, cela ne fonctionnera pour le moment que dans des environnements Unix, pas de support Windows.

Fonctionnalités

Actuellement, BIRP dispose d'un ensemble de fonctionnalités assez limité. Les voici :

  • Mode interactif

Le mode interactif est le cœur des fonctionnalités de BIRP. Il transmet les pressions de touches et autres commandes de BIRP à x3270 et permet à l'analyste d'interagir avec l'application comme il le ferait s'il utilisait x3270 directement. Cependant, il affiche également la vue « hacker » annotée de chaque écran renvoyé, et enregistre les « transactions » qu'il stocke dans l'historique du proxy pour une analyse et une inspection ultérieures.

En mode interactif, appuyer sur Ctrl-h affichera un écran d'aide, Ctrl-k affichera une légende des couleurs, et ESC reviendra au menu.

BIRP essaie de déterminer quand une « transaction » s'est produite, et enregistre l'écran avant et après, ainsi que les champs modifiés. Certaines touches sont généralement garanties pour initier une transaction, comme Entrée ou n'importe laquelle des touches PF/PA. Cependant, si pour une raison quelconque l'écran nécessite des touches différentes pour fonctionner, vous pouvez « pousser » manuellement une transaction avec Ctrl-u juste après avoir effectué l'action.

Enfin, si vous souhaitez que l'écran soit réaffiché, appuyez sur Ctrl-r.

  • Voir l'historique

Ceci affichera l'historique de toutes les transactions enregistrées par BIRP et permettra de les inspecter. Plus précisément, il donne accès à l'écran soumis, aux champs qui ont été modifiés dans cet écran (c'est-à-dire les données soumises) et à la réponse.

Pour chaque écran, seule la première ligne est affichée comme contexte, mais l'écran complet peut être imprimé si vous consultez la transaction.

De plus, vous pouvez entrer dans python et examiner l'objet écran directement.

  • Rechercher dans l'historique

Ici, vous pouvez effectuer une recherche sensible à la casse pour trouver des transactions avec des écrans contenant un certain texte.

  • Enregistrer l'historique

Vous pouvez enregistrer votre historique dans un fichier, puis le recharger plus tard avec l'option -l en ligne de commande. Vous devez l'enregistrer sous un nom de fichier unique.

  • Console Python

L'outil n'est pas encore terminé, et pour le moment il y a de bonnes raisons de pouvoir jouer directement avec les objets. Vous pouvez entrer dans un shell IPython intégré à divers endroits. BIRP possède un ensemble d'objets python assez utiles que vous pouvez interroger, et j'ai veillé à ce qu'ils aient une sortie Python utile (str/repr). L'objet principal est « history », qui contient une liste de « transactions ». Vous pouvez interroger la dernière transaction ajoutée en vous référant à history.last(). Chaque transaction possède un objet écran de requête et de réponse. Ainsi, par exemple, pour obtenir une liste de tous les champs cachés dans la dernière réponse du serveur, vous pourriez utiliser : history.last().response.hidden_fields

Pour plus de détails, il serait préférable de consulter le module tn3270.py.

Pré-requis :

  • Bibliothèques Python : py3270 (v0.3.4), colorama, IPython Celles-ci peuvent être installées avec pip ou easy_install. Jusqu'à ce que py3270 accepte cette pull request (https://github.com/py3270/py3270/pull/13), utilisez ma bibliothèque py3270 (https://github.com/singe/py3270).

  • Client x3270 modifié (v3.6) Les correctifs sont inclus. Vous pouvez télécharger les sources à http://x3270.bgp.nu/download.html puis cd dans le répertoire suite3270 une fois extrait, et patch -p1 < suite3270-full.patch Vous pouvez utiliser un client non modifié, mais vous ne pourrez alors pas modifier les champs protégés. Le correctif apporte deux modifications : la première permet de modifier les champs protégés, l'autre rend les champs cachés visibles (affichés en surbrillance vidéo inversée). Cette fonctionnalité est répartie dans deux autres correctifs si vous ne souhaitez que l'un ou l'autre pour une raison quelconque.

Choix de conception

La gestion des touches que j'utilise est ma propre implémentation personnalisée de getch. Elle est assez horrible, mais elle fonctionne. J'adorerais utiliser une implémentation plus mature de gestion des touches comme curses, pygame, urwid, etc., mais elles veulent toutes, elles aussi, prendre le contrôle de votre écran. Personnellement, je trouve le buffer de défilement arrière inestimable pour enregistrer mes activités ou simplement pouvoir faire défiler vers le haut et me rappeler ce que j'ai fait, donc je ne voulais pas le perdre, d'où cette approche.

J'ai trouvé py3270 assez brut et j'ai fini par en envelopper une partie. Je l'ai fourni comme un wrapper séparé que vous pouvez utiliser dans vos propres programmes.

Remerciements

  • Merci à Soldier of Fortran (@mainframed767) pour m'avoir aidé à comprendre ces trucs de mainframe.
  • Andreas Lindh (@addelindh) pour le nom astucieux de l'outil.
  • Rogan Dawes pour s'être assis en face de moi pendant la majeure partie de la rédaction de l'outil, toujours avec des conseils utiles.
  • Un client anonyme qui m'a donné l'opportunité de tester ses mainframes et de développer l'outil.

Par dominic () sensepost.com (@singe)

Licence

Big Iron Recon & Pwnage de SensePost est sous licence Creative Commons Attribution-ShareAlike 4.0 International (http://creativecommons.org/licenses/by-sa/4.0/) Les autorisations au-delà du cadre de cette licence peuvent être disponibles à l'adresse http://sensepost.com/contact us/.

Télécharger l’outil