Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
warcannon — RegExp de CommonCrawl de alta velocidade / baixo custo em Node.js | Kitploit
Ferramentas/GitHubGitHub/c6fc/warcannon
OSINT (Inteligência de Fontes Abertas)Exfiltração de DadosColeta de InformaçõesSegurança na NuvemUtilitários e FrameworksRastreador
GitHubc6fc/warcannon

warcannon

RegExp de CommonCrawl de alta velocidade / baixo custo em Node.js

Ver Repositório
2563715há 2 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

WARCannon - Processamento paralelo catastroficamente poderoso de WARC

Image

O WARCannon foi criado para simplificar e baratear o processo de 'grep na internet'.

Com o WARCannon, você pode:

  • Construir e testar padrões regex contra dados reais do Common Crawl
  • Carregar facilmente conjuntos de dados do Common Crawl para processamento paralelo
  • Escalar capacidades de computação para processar WARCs de forma assíncrona com capacidade francamente irracional.
  • Armazenar e recuperar facilmente os resultados

Como Funciona

WARCannon aproveita o uso inteligente de tecnologias AWS para escalar horizontalmente para qualquer capacidade, minimizar custos por meio de frotas spot e transferência de dados na mesma região, extrair do S3 em velocidades incríveis (até 100 Gbps por nó), paralelizar em centenas de núcleos de CPU, relatar status via DynamoDB e CloudFront e armazenar resultados via S3.

No geral, o WARCannon pode processar vários padrões de expressão regular em 400 TB em algumas horas por cerca de $30.

Instalação via CloudShell

A maneira mais rápida e fácil de começar é usar o AWS CloudShell. Basta colar este one-liner:

source <(curl https://raw.githubusercontent.com/c6fc/warcannon/master/cloudshell/deploy.sh)

Se quiser usar uma branch que não seja a master do WARCannon, basta digitar:

export GIT_BRANCH=branch_name
source <(curl https://raw.githubusercontent.com/c6fc/warcannon/$GIT_BRANCH/cloudshell/deploy.sh)

Nota: A implantação via CloudShell usa armazenamento efêmero, o que significa que os padrões regex personalizados serão perdidos quando o CloudShell for encerrado. Se você for usar o WARCannon com frequência, recomendo usar a 'Instalação Local' abaixo.

Instalação Local

O WARCannon requer que você tenha os seguintes itens instalados:

  • awscli (v2)
  • cmake3
  • node.js (v17.0.1+)

Dica profissional: Para manter as coisas organizadas e distintas de outras coisas que você possa ter na AWS, é FORTEMENTE recomendado implantar o WARCannon em uma nova conta. Você pode criar uma nova conta facilmente no console 'Organizations' da AWS. Por 'FORTEMENTE recomendado', quero dizer 'seriamente, não instale isso perto de outras coisas'.

Primeiro, clone o repositório e copie as configurações de exemplo.

$ git clone [email protected]:c6fc/warcannon.git
$ cd warcannon
warcannon$ cp settings.json.sample settings.json

Edite settings.json a gosto:

Configurações obrigatórias

  • nodeInstanceType: Um array de tipos de instância a serem usados para processamento paralelo. Tipos 'c' oferecem o melhor custo-benefício para esse propósito, e qualquer tamanho pode ser usado. ["c5n.18xlarge"] é o valor recomendado para campanhas reais.
  • nodeCapacity: O número de nós a serem solicitados durante o processamento paralelo. Os nós resultantes serão uma distribuição arbitrária dos nodeInstanceTypes que você especificar.
  • nodeParallelism: O número de WARCs simultâneos a serem processados por vCPU. 2 é um bom número aqui. Se os nós tiverem RAM insuficiente para executar nesse nível de paralelismo (como pode acontecer com instâncias do tipo 'c'), eles serão executados no maior paralelismo seguro.
  • nodeMaxDuration: A vida útil máxima dos nós de computação em segundos. Os nós serão automaticamente encerrados após esse tempo se o job ainda não tiver sido concluído. O valor padrão é 24 horas.

Configurações opcionais (deixe-as de fora completamente se não forem usadas)

  • sshKeyName: O nome de uma chave SSH EC2 que já existe em us-east-1.
  • allowSSHFrom: Uma máscara CIDR para permitir SSH. Normalmente será &lt;yourpublicip&gt;/32

Para instalar, execute:

$ npm install
$ npm link
$ warcannon deploy

Início Rápido

Executar uma campanha no WARCannon usa um fluxo de trabalho simples e fácil de seguir que pode ser melhor descrito nestas poucas etapas:

  1. Implantar a infraestrutura: warcannon deploy
  2. Desenvolver e testar padrões regex localmente: warcannon testLocal -s
  3. Verificar padrões regex na AWS via Lambda: warcannon test
  4. Mostrar crawls disponíveis: warcannon list 2022
  5. Popular a fila com o crawl de sua escolha: warcannon populate 2022-21
  6. Executar a campanha: warcannon fire
  7. Aguardar a conclusão da campanha e, em seguida, recuperar os resultados do S3 com warcannon syncResults

Continue lendo para um entendimento mais detalhado de cada etapa.

Usando o WARCannon

O WARCannon é alimentado pelo Common Crawl através do programa AWS Open Data. O Common Crawl é único porque os dados recuperados por seus spiders não apenas capturam o texto do site, mas também outros conteúdos baseados em texto, como JavaScript, TypeScript, HTML completo, CSS, etc. Ao construir Expressões Regulares adequadas capazes de identificar componentes únicos, os pesquisadores podem identificar sites pelas tecnologias que usam, e fazer isso sem nunca tocar no próprio site. O problema é que isso requer a análise de centenas de terabytes de dados, o que é uma tarefa difícil, independentemente dos recursos que você tem à disposição. Felizmente, o WARCannon possui várias ferramentas que você pode usar para realizar isso!

Desenvolvendo Expressões Regulares

Fazer grep na internet não é para os fracos de coração, mas começar com uma peneira eficaz é o primeiro passo. O WARCannon oferece suporte a isso permitindo a verificação local de expressões regulares contra dados reais do Common Crawl. Primeiro, abra lambda_functions/warcannon/matches.js e modifique o objeto regex_patterns para incluir as expressões regulares que você deseja usar no formato name: pattern. Aqui está um exemplo do conjunto de pesquisa padrão:

exports.regex_patterns = {
	"access_key_id": /(\'A|"A)(SIA|KIA|IDA|ROA)[JI][A-Z0-9]{14}[AQ][\'"]/g,
};

Strings que correspondem a esta expressão serão salvas sob a chave correspondente nos resultados; access_key_id neste caso. Dica profissional: Use RegExr com o formato 'JavaScript' para construir e testar expressões regulares contra correspondências conhecidas.

Você também tem a opção de capturar apenas resultados de domínios especificados. Para fazer isso, basta preencher o array domains com os FQDNs que você deseja incluir. Recomenda-se deixar vazio [] já que quase nunca vale a pena (o esforço de processamento economizado é muito pequeno), mas pode ser útil em alguns casos específicos.

exports.domains = ["example1.com", "example2.com"];

Assim que o matches.js estiver preenchido, execute o seguinte comando:

warcannon$ warcannon testLocal -s

Você pode opcionalmente adicionar um caminho para um WARC no bucket S3 commoncrawl se desejar, mas um padrão hardcoded será usado caso contrário.

O WARCannon processará o arquivo WARC em streaming (ou o baixará completamente se você omitir -s) para encontrar as correspondências configuradas. O WARCannon salvará os resultados na pasta ~/.warcannon/ quando você interromper com ctrl+c ou quando o processamento terminar. Isso facilita testar correspondências comuns rapidamente com largura de banda mínima.

Além de tudo isso, o WARCannon tentará avaliar o custo computacional total de suas expressões regulares quando executadas localmente. Dessa forma, você pode ser informado se uma determinada expressão regular irá impactar significativamente o desempenho antes de executar sua campanha.

Image

Realizando Processamento Personalizado

Baixar ferramenta