
A nova ponte entre Burp Suite e Frida!
A Brida é uma extensão do Burp Suite que, funcionando como uma ponte entre o Burp Suite e o Frida, permite que você utilize e manipule os próprios métodos das aplicações enquanto altera o tráfego trocado entre as aplicações e seus serviços/servidores de back-end. Ela suporta todas as plataformas suportadas pelo Frida (Windows, macOS, Linux, iOS, Android e QNX).
Esta ideia nasce de uma necessidade que surge durante a análise de algumas aplicações móveis que utilizam criptografia simétrica forte com chaves aleatórias. Sem conhecer o segredo correto, todos os dados não eram modificáveis via Burp nem com um plugin personalizado. De forma mais geral, a lógica das aplicações pode ser baseada em tokens criptográficos, pode usar um algoritmo complexo de challenge-response, e assim por diante. Como podemos adulterar as mensagens? Na maioria das vezes, a única abordagem viável é descompilar/desmontar a aplicação, identificar as funções ou métodos que nos interessam E reimplementá-los. Essa abordagem é obviamente demorada e nem sempre realmente viável: por exemplo, a geração de tokens e/ou rotinas de criptografia podem ser baseadas em material criptográfico estritamente vinculado ao dispositivo (estado) ou armazenado em áreas protegidas e, portanto, não diretamente acessível... É aí que a Brida se torna útil: em vez de tentar extrair chaves/certificados e reescrever as rotinas que nos interessam, por que não deixar a aplicação fazer o trabalho pesado por nós?
A resposta curta é todos!
A resposta longa é que a Brida é uma coleção de ferramentas, algumas criadas para acelerar as avaliações móveis do dia a dia e ajudar novos usuários do Frida, enquanto outras são voltadas para lidar com situações muito complexas, nas quais a Brida pode realmente fazer a diferença.
As ferramentas que podem ser valiosas para lidar e acelerar as avaliações móveis diárias são as seguintes:
No entanto, a ideia que levou à criação da Brida foi ajudar pentesters/reversers/hackers a analisar os webservices de aplicações móveis alvo onde recursos complexos de segurança estão em vigor para proteger a confidencialidade e integridade das requisições e respostas HTTP. Criptografia, ofuscação, rotinas de assinatura executadas em requisições e respostas podem tornar o trabalho dos testadores muito difícil e demorado, porque geralmente é necessário reverter os mecanismos de segurança e implementar um plugin do Burp Suite ou uma ferramenta externa que primeiro descriptografe/desofusque as mensagens HTTP e depois eventualmente criptografe/ofusque/assine as mensagens editadas. O mesmo se aplica também a alguns cenários não relacionados à segurança, como por exemplo se um protocolo binário personalizado é usado para formatar o corpo das requisições/respostas HTTP para fins de interoperabilidade ou desempenho.
A Brida tenta acelerar esses procedimentos o máximo possível, limitando o esforço de engenharia reversa e removendo completamente (na maioria das situações) o esforço de desenvolvimento, oferecendo um motor que permite criar graficamente plugins personalizados que inspecionam e editam requisições e respostas HTTP usando as mesmas funções móveis usadas pela própria aplicação móvel, graças ao Frida. Tomando como exemplo uma aplicação móvel que criptografa/descriptografa todas as requisições e respostas com um algoritmo de criptografia personalizado/desconhecido, a Brida permite graficamente criar um plugin personalizado simples que descriptografe as mensagens HTTP criptografadas usando diretamente o código móvel usado pela aplicação móvel para fazer o trabalho. Outro exemplo pode ser um plugin personalizado que atualiza transparentemente as assinaturas de requisições HTTP assinadas quando são enviadas ao backend usando a mesma funcionalidade móvel usada pela própria aplicação.
Mais detalhadamente, a Brida permite criar graficamente os plugins que:
E se o motor de plugin personalizado da Brida não for suficiente para nossas situações supercomplexas, também é possível escrever extensões externas do Burp Suite em Python/Java que deixam para a Brida a tarefa de executar as funções da aplicação móvel alvo nos dados da extensão. A ferramenta 'Generate Stubs' da Brida gera o código Java ou Python que pode ser colado em extensões externas Python ou Java para usar a ponte Brida.
O Frida 17 traz grandes atualizações na própria ferramenta e em suas APIs JavaScript. Uma grande refatoração do código JS foi necessária, que quebrou a compatibilidade com versões anteriores do frida. Consequentemente, as últimas versões da Brida exigem uma versão do frida maior ou igual a 17. Se você precisar usar uma versão mais antiga do Frida, pode baixar a versão 0.6pre dos lançamentos do GitHub.
Requisitos:
pip install frida frida-tools pyro4)Instalação a partir do GitHub:
Instalação a partir da BApp Store do Burp Suite:
Atualizações na BApp Store levam tempo. Verifique no GitHub pela versão mais recente.
Requisitos:
pip install frida frida-tools pyro4)Instalação a partir do GitHub:
Erros de caminho no MacOS são bastante comuns; consulte este link se tiver problemas com o caminho do sistema.
Você pode construir a Brida usando Gradle ou Maven. A Brida usa uma versão modificada do RSyntaxTextArea, que você pode encontrar neste fork.
Construir com Gradle é mais simples. A tarefa 'jar' fará todo o trabalho, usando uma versão compilada do RSyntaxTextArea modificado (pasta 'libs').
Para poder construir a Brida com Maven, você precisa instalar a versão modificada do RSyntaxTextArea localmente com Maven usando os seguintes parâmetros:
Notas de instalação e uso podem ser encontradas na página Wiki.
Os slides da nossa conferência apresentada na HackInBo 2017 Winter Edition que descreve a primeira versão podem ser encontrados em:
Os slides e o vídeo da nossa conferência apresentada na Hack In The Box 2018 Amsterdam que descreve as novas funcionalidades da versão 0.2 podem ser encontrados em:
O vídeo da nossa conferência apresentada na Hack In Paris 2020 2021 (adiada devido à situação global da COVID-19) que descreve as novas funcionalidades da versão 0.4 0.5 pode ser encontrado em:
Duas aplicações de demonstração diferentes podem ser encontradas na pasta Demo , uma Android e uma iOS.
A pasta de demonstração também contém os plugins da Brida que podem ser usados para contornar os mecanismos de criptografia usados pelas aplicações!
A Brida usa muito código Frida para hooking dinâmico e inspeção binária, baseado no trabalho de:
Além disso, a Brida integra muitos hooks do Frida desenvolvidos por vários autores para inspecionar/contornar muitas funcionalidades de segurança. Uma lista de projetos (espero que bastante exaustiva) dos quais peguei código Frida para a seção 'Hooks and functions' da Brida é (ordem aleatória):

Copyright (c) 2025 Brida
A permissão é concedida, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e dos arquivos de documentação associados (o "Software"), para lidar com o Software sem restrição, incluindo, sem limitação, os direitos de usar, copiar, modificar, mesclar, publicar, distribuir, sublicenciar e/ou vender cópias do Software, e permitir que as pessoas a quem o Software é fornecido o façam, sujeito às seguintes condições:
O aviso de copyright acima e este aviso de permissão devem ser incluídos em todas as cópias ou partes substanciais do Software.
O SOFTWARE É FORNECIDO "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO A, GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM DETERMINADO FIM E NÃO VIOLAÇÃO. EM NENHUM CASO OS AUTORES OU TITULARES DE DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER REIVINDICAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM UMA AÇÃO DE CONTRATO, ATO ILÍCITO OU DE OUTRA FORMA, DECORRENTE DE, OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.