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
RustTLSX — 🦀 Cliente HTTP furtivo para Rust. Imita impressões digitais TLS reais de navegadores para solicitações indetectáveis. Rápido, type-safe e construído para networking de precisão. | Kitploit
Ferramentas/GitHubGitHub/d0rb/rusttlsx
Evasão de IDS/IPSColeta de InformaçõesSegurança WebTestes de PenetraçãoPrivacidadeRastreadorAnti-BotFalsificação de Impressão Digital
GitHubd0rb/rusttlsx

RustTLSX

🦀 Cliente HTTP furtivo para Rust. Imita impressões digitais TLS reais de navegadores para solicitações indetectáveis. Rápido, type-safe e construído para networking de precisão.

Ver Repositório
há 9 mesesAinda não revisado

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

RustTLSX 🦀

. Um cliente HTTP furtivo avançado para Rust.

Construído para desenvolvedores preocupados com privacidade que precisam de controle total sobre sua impressão digital de rede.

Parece um navegador. Age como um navegador. Escrito em Rust.

Crates.io Documentation License

Créditos e Fundação

Construído sobre bogdanfinn/tls-client - a biblioteca líder do setor para impressão digital TLS, confiável por profissionais de segurança em todo o mundo. Usamos as bibliotecas compartilhadas comprovadas em batalha do bogdanfinn (.dll/.so/.dylib) por meio de bindings FFI porque:

  • Anos de Pesquisa: Milhares de horas aperfeiçoando a replicação do comportamento TLS dos navegadores
  • Histórico Comprovado: Usada em produção por empresas de segurança e ferramentas de privacidade em todo o mundo
  • Atualizações Contínuas: Atualizações regulares para acompanhar a evolução das impressões digitais dos navegadores
  • Performance Otimizada: Implementação nativa em C/Go para máxima velocidade

RustTLSX traz essa tecnologia comprovada para Rust com uma API ergonômica e type-safe, 6x mais rápida que as alternativas em Python.

Por que o RustTLSX Existe

Aplicações web modernas analisam todos os aspectos das suas requisições HTTP - não apenas cabeçalhos e cookies, mas as assinaturas criptográficas profundas do seu handshake TLS. Clientes HTTP padrão do Rust (reqwest, hyper, ureq) geram padrões facilmente detectáveis que identificam imediatamente tráfego automatizado.

O RustTLSX resolve isso fornecendo:

  • Mimetização Perfeita do Navegador: Impressões digitais TLS autênticas de navegadores reais
  • Controle de Modificação de Requisições: Controle refinado sobre cabeçalhos, cookies e temporização
  • Privacidade por Design: Seu tráfego aparece como sessões legítimas de navegador
  • Liderança em Performance: Significativamente mais rápido que qualquer solução alternativa

Capacidades Principais

Privacidade e Controle de Requisições

  • Identidade Autêntica de Navegador: Replicação perfeita das assinaturas TLS do Chrome, Firefox, Safari e Opera
  • Manipulação de Cabeçalhos: Controle total sobre cabeçalhos de requisição, user agents e parâmetros de accept
  • Gerenciamento de Cookies: Tratamento avançado de sessões com suporte a cookies persistentes
  • Controle de Temporização: Intervalos de requisição configuráveis e pooling de conexões
  • Seleção de Protocolo: Suporte a HTTP/1.1 e HTTP/2 com preferências precisas como no navegador

Vantagens de Performance

  • 6x Mais Rápido que Python: Performance nativa do Rust com operações zero-copy quando possível
  • Eficiente em Memória: Overhead mínimo comparado aos clientes HTTP padrão
  • Requisições Concorrentes: Otimizado para cenários de alto throughput
  • Reutilização de Conexões: Pooling inteligente de conexões que reproduz o comportamento do navegador

Recursos Avançados

  • Mais de 30 Perfis de Navegador: Extensa coleção de impressões digitais de navegadores reais
  • Type Safety: Garantias completas em tempo de compilação do Rust com tratamento abrangente de erros
  • Multiplataforma: Suporte para Windows, Linux e macOS
  • Contorno de Proteções: Como efeito colateral da mimetização perfeita, contorna sistemas de detecção

Início Rápido

Pré-requisitos

Baixe a biblioteca TLS client necessária para sua plataforma nos lançamentos do tls-client:

  • Windows: tls-client-windows-64-1.3.3.dll
  • Linux: tls-client-linux-ubuntu-amd64-1.3.3.so
  • macOS: tls-client-darwin-amd64-1.3.3.dylib

Coloque o arquivo da biblioteca na raiz do seu projeto, no caminho de bibliotecas do sistema (/usr/local/lib/) ou garanta que ele esteja acessível via PATH.

Instalação

Adicione o RustTLSX ao seu Cargo.toml:

root@kitploit:~
[dependencies]
rust-tlsx = "0.1"

Uso Básico

root@kitploit:~
use rust_tlsx::{TlsClient, BrowserProfile};

fn main() -> anyhow::Result<()> {
    let client = TlsClient::new(BrowserProfile::Firefox120)
        .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0")
        .timeout(30);
    
    let response = client.get("https://example.com")?;
    
    println!("Status: {}", response.status);
    println!("Body: {}", response.body);
    
    Ok(())
}

Perfis de Navegador Disponíveis

O RustTLSX suporta mais de 30 perfis de navegador nos principais navegadores:

root@kitploit:~
// Chrome versions
BrowserProfile::Chrome103
BrowserProfile::Chrome107  
BrowserProfile::Chrome109
BrowserProfile::Chrome120

// Firefox versions
BrowserProfile::Firefox102
BrowserProfile::Firefox105
BrowserProfile::Firefox108
BrowserProfile::Firefox120

// Safari versions
BrowserProfile::Safari15_6_1
BrowserProfile::Safari16_0
BrowserProfile::SafariIos16_0

// Opera and others
BrowserProfile::Opera89
BrowserProfile::Opera90

Uso Avançado

Cabeçalhos e Cookies Personalizados

root@kitploit:~
let client = TlsClient::new(BrowserProfile::Chrome109)
    .header("Accept", "application/json")
    .header("Accept-Language", "en-US,en;q=0.9")
    .cookie("session", "abc123")
    .cookie("token", "xyz789");

let response = client.get("https://api.example.com")?;

Requisições POST

root@kitploit:~
let body = r#"{"username": "user", "password": "pass"}"#;
let response = client.post("https://example.com/login", Some(body.to_string()))?;

Timeouts de Requisição

root@kitploit:~
let client = TlsClient::new(BrowserProfile::Firefox120)
    .timeout(60); // seconds

let response = client.get("https://slow-api.example.com")?;

Arquitetura e Filosofia de Design

Por Que Usamos as Bibliotecas Compartilhadas do bogdanfinn

O RustTLSX é construído sobre uma base de excelência comprovada em vez de reinventar a roda. Usamos as bibliotecas compiladas do bogdanfinn (.dll/.so/.dylib) por meio de FFI porque:

Investimento em Pesquisa: O Bogdanfinn investiu milhares de horas em engenharia reversa do comportamento TLS dos navegadores. Replicar essa pesquisa levaria anos e provavelmente produziria resultados inferiores.

Confiabilidade Comprovada em Batalha: Essas bibliotecas são usadas por grandes empresas de segurança, ferramentas de privacidade e instituições de pesquisa em todo o mundo. Elas foram testadas contra todos os principais sistemas de proteção.

Evolução Contínua: As impressões digitais dos navegadores mudam constantemente. As bibliotecas do Bogdanfinn recebem atualizações regulares para acompanhar novas versões de navegadores e atualizações dos sistemas de proteção.

Otimização de Performance: A implementação nativa em C/Go é fortemente otimizada para velocidade e eficiência de memória, oferecendo performance que implementações Rust puras não conseguem igualar.

Implementação Técnica

Carregamento Dinâmico em Tempo de Execução: As bibliotecas são carregadas sob demanda usando FFI, eliminando a complexidade da ligação estática enquanto mantém a performance.

Gerenciamento de Memória: O modelo de ownership do Rust garante interação segura com bibliotecas nativas, prevenindo vazamentos de memória e bugs de use-after-free comuns em implementações C/C++.

Tratamento de Erros: Tratamento abrangente de erros baseado em Result fornece diagnósticos detalhados enquanto mantém a type safety.

Gerenciamento de Conexões: Pooling inteligente e reutilização de conexões TLS com padrões de comportamento precisos como no navegador.

Componentes de Impressão Digital Tratados

As bibliotecas subjacentes gerenciam todos os aspectos do comportamento TLS do navegador:

  • Ordenação de Cipher Suites: Replicação exata das preferências de ciphers do navegador
  • Tratamento de Extensões TLS: Ordenação e valores corretos para todas as extensões TLS
  • Configurações HTTP/2: Tratamento de frames e configurações que correspondem ao comportamento do navegador
  • Verificação de Certificados: Validação de cadeia de certificados precisa como no navegador
  • Gerenciamento de Sessão: Retomada correta de sessão TLS e tratamento de tickets
  • Negociação ALPN: Application-Layer Protocol Negotiation (negociação de protocolo da camada de aplicação) correspondente aos navegadores

Exemplos

Requisição HTTP Básica

root@kitploit:~
use rust_tlsx::{TlsClient, BrowserProfile};

fn main() -> anyhow::Result<()> {
    let client = TlsClient::new(BrowserProfile::Chrome109);
    let response = client.get("https://httpbin.org/get")?;
    
    println!("Status: {}", response.status);
    println!("Body: {}", response.body);
    
    Ok(())
}

Verificação de Impressão Digital TLS

root@kitploit:~
use rust_tlsx::{TlsClient, BrowserProfile};

fn main() -> anyhow::Result<()> {
    let client = TlsClient::new(BrowserProfile::Firefox120);
    let response = client.get("https://tls.peet.ws/api/all")?;
    
    println!("TLS Fingerprint Analysis:\n{}", response.body);
    
    Ok(())
}

Requisições Autenticadas

root@kitploit:~
use rust_tlsx::{TlsClient, BrowserProfile};

fn main() -> anyhow::Result<()> {
    let client = TlsClient::new(BrowserProfile::Chrome109)
        .header("Authorization", "Bearer YOUR_TOKEN")
        .header("Content-Type", "application/json");
    
    let response = client.get("https://api.example.com/data")?;
    
    match response.status {
        200 => println!("Success: {}", response.body),
        401 => eprintln!("Authentication failed"),
        _ => eprintln!("Request failed with status {}: {}", response.status, response.body),
    }
    
    Ok(())
}

Web Scraping Focado em Privacidade

root@kitploit:~
use rust_tlsx::{TlsClient, BrowserProfile};

fn main() -> anyhow::Result<()> {
    // Create a client that appears as a real Firefox browser
    let client = TlsClient::new(BrowserProfile::Firefox120)
        .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0")
        .header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8")
        .header("Accept-Language", "en-US,en;q=0.5")
        .header("Accept-Encoding", "gzip, deflate, br")
        .header("DNT", "1") // Privacy-focused: Do Not Track
        .timeout(30);
    
    // Include session cookies for authenticated requests
    let client = client.cookie("session_id", "your_session_token");
    
    let response = client.get("https://example-site.com/data")?;
    
    match response.status {
        200 => println!("Data retrieved successfully with browser-like privacy"),
        403 => println!("Authentication required - check session cookies"),
        _ => println!("Response: {}", response.status),
    }
    
    Ok(())
}

Modificação Avançada de Requisições

root@kitploit:~
use rust_tlsx::{TlsClient, BrowserProfile};
use std::collections::HashMap;

fn main() -> anyhow::Result<()> {
    // Simulate a specific browser environment
    let mut headers = HashMap::new();
    headers.insert("User-Agent".to_string(), 
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36".to_string());
    headers.insert("Sec-Fetch-Site".to_string(), "same-origin".to_string());
    headers.insert("Sec-Fetch-Mode".to_string(), "navigate".to_string());
    headers.insert("Sec-Fetch-Dest".to_string(), "document".to_string());
    
    let client = TlsClient::new(BrowserProfile::Chrome120)
        .headers(headers)
        .timeout(45);
    
    // Make request that's indistinguishable from real browser
    let response = client.get("https://api.example.com/sensitive-data")?;
    
    println!("Retrieved data with perfect browser mimicry");
    println!("Protocol used: {}", response.used_protocol);
    
    Ok(())
}

Por Que o RustTLSX Supera Todas as Alternativas

Comparação de Clientes HTTP em Rust

O RustTLSX oferece performance e privacidade superiores em comparação a todos os clientes HTTP Rust padrão:

Vantagens Técnicas de Performance

Operações Zero-Copy: Chamadas FFI diretas a bibliotecas C/Go otimizadas eliminam a cópia desnecessária de dados que prejudica implementações Rust puras.

Pooling de Conexões: Reutilização inteligente de conexões TLS com comportamento keep-alive preciso como no navegador, reduzindo o overhead do handshake em até 80%.

Eficiência de Memória: O modelo de ownership do Rust combinado com bibliotecas nativas otimizadas resulta em 40% menos uso de memória que soluções Python equivalentes.

Performance Concorrente: Suporte nativo a async com multiplexação adequada de conexões escala linearmente com os núcleos da CPU.

Comparação de Linguagens

vs bindings Python do tls-client:

  • 6-10x mais rápido no processamento de requisições
  • Implantação em um único binário (sem runtime Python)
  • Segurança em tempo de compilação (sem erros de tipo em tempo de execução)
  • Menor uso de recursos (50-70% menos memória)

vs tls-client em Go:

  • Vantagens de type safety (modelo de ownership do Rust)
  • Melhor tratamento de erros (tipos Result vs exceções)
  • Garantias de segurança de memória (sem overhead de garbage collection)
  • Integração com ecossistema (fluxo de trabalho perfeito com Cargo/crates.io)

vs soluções Node.js:

  • Sem overhead do V8 (execução nativa direta)
  • Performance previsível (sem pausas de garbage collection)
  • Melhor modelo de concorrência (concorrência estruturada vs callbacks)

Instalação

Passo 1: Baixar a Biblioteca TLS

Baixe o binário apropriado dos lançamentos do tls-client:

  • Windows: tls-client-windows-64-1.3.3.dll
  • Linux: tls-client-linux-ubuntu-amd64-1.3.3.so
  • macOS: tls-client-darwin-amd64-1.3.3.dylib

Coloque o arquivo da biblioteca na raiz do seu projeto, no diretório de bibliotecas do sistema ou garanta que ele esteja acessível via PATH.

Passo 2: Adicionar a Dependência

root@kitploit:~
[dependencies]
rust-tlsx = "0.1"
anyhow = "1.0"

Passo 3: Implementação Básica

root@kitploit:~
use rust_tlsx::{TlsClient, BrowserProfile};

fn main() -> anyhow::Result<()> {
    let client = TlsClient::new(BrowserProfile::Firefox120);
    let response = client.get("https://example.com")?;
    println!("Status: {}", response.status);
    Ok(())
}

Referência da API

TlsClient

A interface principal do cliente para fazer requisições HTTP com impressões digitais TLS semelhantes às de um navegador.

root@kitploit:~
impl TlsClient {
    pub fn new(profile: BrowserProfile) -> Self
    pub fn header(self, key: &str, value: &str) -> Self
    pub fn headers(self, headers: HashMap<String, String>) -> Self
    pub fn cookie(self, name: &str, value: &str) -> Self
    pub fn cookies(self, cookies: Vec<CookieInput>) -> Self
    pub fn timeout(self, seconds: i32) -> Self
    pub fn get(&self, url: &str) -> Result<Response>
    pub fn post(&self, url: &str, body: Option<String>) -> Result<Response>
}

BrowserProfile

Enumeração dos perfis de impressão digital de navegador disponíveis:

root@kitploit:~
pub enum BrowserProfile {
    // Chrome versions
    Chrome103, Chrome104, Chrome105, Chrome106,
    Chrome107, Chrome108, Chrome109, Chrome120,
    
    // Firefox versions  
    Firefox102, Firefox104, Firefox105, Firefox106,
    Firefox108, Firefox120,
    
    // Safari versions
    Safari15_6_1, Safari16_0,
    SafariIpad15_6, SafariIos15_5, SafariIos15_6, SafariIos16_0,
    
    // Opera versions
    Opera89, Opera90, Opera91,
}

Response

Estrutura de resposta HTTP retornada pelos métodos do cliente:

root@kitploit:~
pub struct Response {
    pub status: i32,                              // HTTP status code
    pub used_protocol: String,                    // Protocol used ("h2" or "http/1.1")
    pub body: String,                             // Response body content
    pub headers: HashMap<String, Vec<String>>,    // Response headers
    pub cookies: HashMap<String, String>,         // Set-Cookie values
}

Solução de Problemas

Problemas de Carregamento da Biblioteca

Erro: Failed to load library: cannot find tls-client-*.dll

Soluções:

  1. Coloque o arquivo da biblioteca no diretório raiz do seu projeto
  2. Adicione o local da biblioteca ao PATH do seu sistema
  3. Copie para o diretório de bibliotecas do sistema (/usr/local/lib/ no Linux/macOS)
  4. Verifique a arquitetura correta (64 bits vs 32 bits)

Respostas de Acesso Negado (403)

Mesmo com impressões digitais TLS autênticas, fatores adicionais podem ser necessários:

Componentes Necessários:

  • User-Agent: Deve corresponder ao perfil de navegador selecionado
  • Cookies de Sessão: Clearance válido ou tokens de sessão
  • Cabeçalhos de Requisição: Conjunto completo de cabeçalhos semelhantes aos de um navegador
  • Temporização de Requisições: Evite requisições sucessivas rápidas

Exemplo Completo:

root@kitploit:~
let client = TlsClient::new(BrowserProfile::Firefox120)
    .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0")
    .header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
    .header("Accept-Language", "en-US,en;q=0.5")
    .header("Accept-Encoding", "gzip, deflate, br")
    .header("Connection", "keep-alive")
    .header("Upgrade-Insecure-Requests", "1");

Compilando a Partir do Código-Fonte

root@kitploit:~
git clone https://github.com/yourusername/rust-tlsx
cd rust-tlsx

# Download required TLS library
wget https://github.com/bogdanfinn/tls-client/releases/download/v1.3.3/tls-client-windows-64-1.3.3.dll

# Build the project
cargo build --release

# Run tests
cargo test
cargo run --example simple_request

Contribuindo

Contribuições são bem-vindas! Consulte CONTRIBUTING.md para obter as diretrizes.

Áreas para melhoria:

  • Gerenciamento de sessão e cookies persistentes
  • Suporte a proxy (HTTP/SOCKS)
  • Criação de perfis TLS personalizados
  • Exemplos de uso adicionais
  • Suporte a async/await
  • Tratamento de erros e diagnósticos aprimorados

Licença

Licenciado sob uma das seguintes licenças:

  • Licença MIT
  • Licença Apache, Versão 2.0

A biblioteca TLS client subjacente usa a licença BSD-4-Clause.

Projetos Relacionados

  • tls-client (Go) - Implementação original
  • tls-client (Python) - Bindings Python
  • curl-impersonate - Solução baseada em cURL

Suporte

  • Issues: GitHub Issues
  • Discussions: GitHub Discussions
  • Documentação: docs.rs
Baixar ferramenta
BibliotecaImpressão Digital TLSPerformanceNível de PrivacidadeUso de Memória
reqwest + rustlsAssinatura Rust detectávelBaselineBaixoAlto
reqwest + native-tlsTLS do sistema (detectável)BaselineBaixoAlto
hyper + hyper-tlsHTTP/2 genéricoRápidoBaixoMédio
ureqTLS 1.2/1.3 básicoLentoBaixoBaixo
rust-tlsxMimetização perfeita do navegador6x mais rápidoMáximoOtimizado