Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
birp — Reconhecimento e Pwnage de Mainframes | Kitploit
Ferramentas/GitHubGitHub/sensepost/birp
ReconhecimentoAnálise de VulnerabilidadesProxies Web e InterceptaçãoColeta de InformaçõesTestes de Penetração
GitHubsensepost/birp

birp

Reconhecimento e Pwnage de Mainframes

Ver Repositório
125324há 8 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Big Iron Recon & Pwnage (BIRP)

por @singe (Dominic White @ SensePost)

Visão Geral

BIRP é uma ferramenta que auxilia na avaliação de segurança de aplicações mainframe servidas através de TN3270. Assim como o BURP e outros proxies de aplicações web fazem para avaliações de aplicações web, o BIRP tem como objetivo fazer o mesmo para avaliações de aplicações TN3270. E, assim como acontece com aplicações web, ser capaz de ver e modificar campos que o desenvolvedor da aplicação assumiu que não eram visíveis nem modificáveis permite que premissas de segurança sejam contornadas.

Em particular, o BIRP fornece duas capacidades para o aspirante a hacker de TN3270. A primeira é que mostra todos os dados retornados pela aplicação na tela. Isto inclui campos ocultos. A segunda é que permite que campos marcados como "protegidos", também conhecidos como "não modificáveis", sejam modificados. Dependendo de como a aplicação foi desenvolvida, isto pode permitir que a funcionalidade da aplicação seja modificada.

Execução

Execute ./birp.py -h para obter ajuda de inicialização se quiser começar.

Tudo o que você precisa é especificar um alvo com -t. A especificação do alvo pode incluir uma porta com : depois do IP, por exemplo, 10.10.10.10:1023. Se nenhuma porta for especificada, o padrão será :23, conforme o comportamento padrão do x3270.

Você pode usar -l para carregar um arquivo de histórico previamente salvo no histórico. Infelizmente, você precisa sempre especificar um alvo e ainda não é possível visualizar apenas o histórico.

Verifique os pré-requisitos abaixo para instalar. Infelizmente, isso só funciona em ambientes Unix por enquanto, sem suporte para Windows.

Funcionalidades

Atualmente, o BIRP tem um conjunto de funcionalidades bastante limitado. São estas:

  • Modo Interativo

O modo interativo é o coração da funcionalidade do BIRP. Ele transmite teclas e outros comandos do BIRP para o x3270 e permite que o analista interaja com a aplicação como faria se estivesse usando o x3270 diretamente. No entanto, também exibe a "visão de hacker" anotada de cada tela retornada, bem como registra "transações" e as armazena no histórico do proxy para análise e inspeção posteriores.

No modo interativo, pressionar Ctrl-h imprime uma tela de ajuda, Ctrl-k exibe uma legenda de cores e ESC volta ao menu.

O BIRP tenta descobrir quando uma "transação" ocorreu e registra a tela antes e depois, assim como os campos modificados. Certas teclas normalmente garantem o início de uma transação, como Enter ou qualquer uma das teclas PF/PA. No entanto, se por qualquer motivo a tela exigir teclas diferentes para funcionar, você pode "forçar" manualmente uma transação com Ctrl-u logo após realizar a ação.

Por fim, se quiser que a tela seja reimpressa, pressione Ctrl-r.

  • Ver Histórico

Isso exibe o histórico de todas as transações que o BIRP registrou e permite que sejam inspecionadas. Especificamente, fornece acesso à tela submetida, aos campos que foram modificados nessa tela (ou seja, os dados submetidos) e à resposta.

Para cada tela, apenas a primeira linha é exibida como contexto, mas a tela completa pode ser impressa se você visualizar a transação.

Além disso, você pode entrar no python e examinar o objeto da tela diretamente.

  • Pesquisar Histórico

Aqui você pode realizar uma pesquisa sensível a maiúsculas/minúsculas para encontrar transações com telas que contenham determinado texto.

  • Salvar Histórico

Você pode salvar seu histórico em um arquivo e carregá-lo novamente mais tarde com a opção -l na linha de comando. Você precisa salvá-lo com um nome de arquivo único.

  • Console Python

A ferramenta ainda não está concluída e, neste momento, existem muitas boas razões para poder brincar com os objetos diretamente. Você pode entrar em uma shell IPython incorporada em vários locais. O BIRP tem um conjunto bastante útil de objetos python que podem ser interrogados, e garanti que eles tenham uma saída pythonica útil (str/repr). O objeto de topo é o "history", que contém uma lista de "transactions". Você pode interrogar a última transação adicionada referindo-se a history.last(). Cada transação tem um objeto de tela de solicitação e de resposta. Assim, por exemplo, para obter uma lista de todos os campos ocultos na última resposta do servidor, você pode usar: history.last().response.hidden_fields

Para mais detalhes, o melhor é consultar o módulo tn3270.py.

Pré-requisitos:

  • Bibliotecas Python: py3270 (v0.3.4), colorama, IPython Elas podem ser instaladas com pip ou easy_install. Até o py3270 aceitar este pull request (https://github.com/py3270/py3270/pull/13), use a minha biblioteca py3270 (https://github.com/singe/py3270).

  • Cliente x3270 modificado (v3.6) Os patches estão incluídos. Você pode baixar o código-fonte em http://x3270.bgp.nu/download.html, depois cd para o diretório suite3270 após extrair, e patch -p1 < suite3270-full.patch Você pode usar um cliente não modificado, mas nesse caso não conseguirá editar campos protegidos. O patch faz duas alterações: a primeira é permitir que campos protegidos sejam editados; a outra é tornar os campos ocultos visíveis (mostrados com realce de texto invertido). Esta funcionalidade está dividida em dois outros patches, se por algum motivo você quiser apenas um ou outro.

Decisões de Design

A funcionalidade de manipulação de teclas que uso é a minha própria implementação personalizada de getch. É bastante horrível, mas funciona. Adoraria usar uma implementação de manipulação de teclas mais madura, como curses, pygame, urwid, etc., mas todas elas também querem assumir o controle da sua tela. Pessoalmente, considero o buffer de scrollback inestimável para registrar minhas atividades ou simplesmente para poder rolar para cima e lembrar o que fiz, por isso não queria perder isso, daí esta abordagem.

Achei o py3270 bastante cru e acabei por criar um wrapper para parte dele. Forneci isto como um wrapper separado que você pode usar nos seus próprios programas.

Agradecimentos

  • Obrigado a Soldier of Fortran (@mainframed767) pela ajuda a entender essas coisas de mainframe.
  • Andreas Lindh (@addelindh) pelo nome engenhoso da ferramenta.
  • Rogan Dawes por estar sentado à minha frente durante a maior parte da escrita da ferramenta, sempre com dicas úteis.
  • Um cliente anônimo que me deu a oportunidade de testar seus mainframes e desenvolver a ferramenta.

Por dominic () sensepost.com (@singe)

Licença

Big Iron Recon & Pwnage da SensePost está licenciado sob uma Licença Internacional Creative Commons Atribuição-CompartilhaIgual 4.0 (http://creativecommons.org/licenses/by-sa/4.0/) Permissões além do âmbito desta licença podem estar disponíveis em http://sensepost.com/contact us/.

Baixar ferramenta