performing-mobile-app-certificate-pinning-bypass
Ajuda seu agente a contornar proteções de segurança em aplicativos de celular. Permite ver o tráfego de dados em testes de segurança autorizados.
O que ela faz
Esta ferramenta ajuda a contornar uma medida de segurança chamada 'certificate pinning' em aplicativos de celular (Android e iOS). Isso permite que você veja o tráfego de rede do aplicativo durante testes de segurança autorizados.
Quando usar
- ✓Quando um aplicativo de celular bloqueia a conexão com um proxy.
- ✓Ao testar a segurança de um aplicativo com autorização.
- ✓Para verificar como o aplicativo protege suas conexões.
Exemplo do que pedir para a IA
“Como posso ver o tráfego de rede de um aplicativo de celular que está bloqueando minha conexão?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta usa outras ferramentas como Frida e Objection para desativar temporariamente a verificação de certificados do aplicativo. Isso permite que um programa como o Burp Suite intercepte e analise a comunicação.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill performing-mobile-app-certificate-pinning-bypassOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-mobile-app-certificate-pinning-bypass/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Realizando Bypass de Certificate Pinning em Aplicativos Mobile
Quando Usar
Use esta habilidade quando:
- O aplicativo mobile recusa conexões através de um proxy devido ao certificate pinning.
- Realizando testes de segurança autorizados que exigem a interceptação de tráfego HTTPS.
- Avaliando a força e a dificuldade de bypass das implementações de pinning.
- Avaliando a defesa em profundidade da segurança de rede de aplicativos mobile.
Não use para contornar o pinning em aplicativos sem autorização explícita para testes.
Pré-requisitos
- Burp Suite configurado como proxy com listener em todas as interfaces.
- Dispositivo Android com root ou dispositivo iOS com jailbreak.
- Servidor Frida em execução no dispositivo alvo.
- Objection instalado (
pip install objection) - Aplicativo alvo instalado e reproduzindo o comportamento de pinning.
Fluxo de Trabalho
Passo 1: Identificar a Implementação de Pinning
Métodos de pinning do Android para identificar:
1. Network Security Config (res/xml/network_security_config.xml)
<pin-set> with certificate hash pins
2. OkHttp CertificatePinner
CertificatePinner.Builder().add("api.target.com", "sha256/...")
3. Custom TrustManager
X509TrustManager overrides in code
4. Third-party libraries
- TrustKit
- Certificate Transparency checks
Métodos de pinning do iOS:
1. NSURLSession delegate (URLSession:didReceiveChallenge:)
2. ATS (App Transport Security) with custom trust evaluation
3. TrustKit framework
4. Alamofire ServerTrustPolicy
5. Custom SecTrust evaluation
Passo 2: Bypass com Objection (Abordagem Mais Rápida)
# Android
objection --gadget com.target.app explore
android sslpinning disable
# iOS
objection --gadget com.target.app explore
ios sslpinning disable
O Objection intercepta implementações comuns de pinning, incluindo OkHttp CertificatePinner, TrustManagerImpl, métodos de delegate do NSURLSession e avaliação do SecTrust.
Passo 3: Bypass com Scripts Frida Personalizados
Android - Bypass Universal de SSL Pinning:
// android_ssl_bypass.js
Java.perform(function() {
// Bypass TrustManagerImpl
var TrustManagerImpl = Java.use("com.android.org.conscrypt.TrustManagerImpl");
TrustManagerImpl.verifyChain.implementation = function(untrustedChain, trustAnchorChain,
host, clientAuth, ocspData, tlsSctData) {
console.log("[+] Bypassing TrustManagerImpl for: " + host);
return untrustedChain;
};
// Bypass OkHttp3 CertificatePinner
try {
var CertificatePinner = Java.use("okhttp3.CertificatePinner");
CertificatePinner.check.overload("java.lang.String", "java.util.List").implementation =
function(hostname, peerCertificates) {
console.log("[+] Bypassing OkHttp3 pinning for: " + hostname);
return;
};
} catch(e) {}
// Bypass custom X509TrustManager
var X509TrustManager = Java.use("javax.net.ssl.X509TrustManager");
var TrustManager = Java.registerClass({
name: "com.bypass.TrustManager",
implements: [X509TrustManager],
methods: {
checkClientTrusted: function(chain, authType) {},
checkServerTrusted: function(chain, authType) {},
getAcceptedIssuers: function() { return []; }
}
});
// Bypass SSLContext
var SSLContext = Java.use("javax.net.ssl.SSLContext");
SSLContext.init.overload("[Ljavax.net.ssl.KeyManager;",
"[Ljavax.net.ssl.TrustManager;", "java.security.SecureRandom").implementation =
function(km, tm, sr) {
console.log("[+] Replacing TrustManagers in SSLContext.init");
this.init(km, [TrustManager.$new()], sr);
};
// Bypass NetworkSecurityConfig (Android 7+)
try {
var NetworkSecurityConfig = Java.use(
"android.security.net.config.NetworkSecurityConfig");
NetworkSecurityConfig.isCleartextTrafficPermitted.implementation = function() {
return true;
};
} catch(e) {}
console.log("[*] SSL pinning bypass loaded");
});
frida -U -f com.target.app -l android_ssl_bypass.js --no-pause
iOS - Bypass Universal de SSL Pinning:
// ios_ssl_bypass.js
if (ObjC.available) {
// Bypass do delegate do NSURLSession
var resolver = new ApiResolver("objc");
resolver.enumerateMatches(
"-[* URLSession: didReceiveChallenge:completionHandler:]", {
onMatch: function(match) {
Interceptor.attach(match.address, {
onEnter: function(args) {
…
Perguntas frequentes
O que é 'certificate pinning'?
É uma medida de segurança que faz o aplicativo verificar se o certificado do servidor é o esperado, impedindo que proxies interceptem a comunicação.
Preciso de um celular com acesso especial?
Sim, geralmente é necessário um celular Android com 'root' ou um iPhone com 'jailbreak', além de ter o servidor Frida instalado.
Posso usar isso em qualquer aplicativo?
Não, você só deve usar esta ferramenta em aplicativos que você tem permissão explícita para testar.
Detalhes
Descrição original do autor
Bypasses SSL/TLS certificate pinning implementations in Android and iOS applications to enable traffic interception during authorized security assessments. Covers OkHttp, TrustManager, NSURLSession, and third-party pinning library bypass techniques using Frida, Objection, and custom scripts. Activates for requests involving certificate pinning bypass, SSL pinning defeat, mobile TLS interception, o
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6103
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC