
🐸 Identifique qualquer coisa. pyWhat permite identificar facilmente e-mails, endereços IP e mais. Alimente-o com um arquivo .pcap ou algum texto e ele lhe dirá o que é! 🧙♀️
➡️ Discord ⬅️
A maneira mais fácil de identificar qualquer coisa
pip3 install pywhat && pywhat --help
What?
Imagine isto: você se depara com um texto misterioso 🧙♂️ 0x52908400098527886E0F7030069857D2E4169EE7 ou dQw4w9WgXcQ e se pergunta o que é. O que você faz?
Bem, com what tudo o que você precisa fazer é perguntar what "0x52908400098527886E0F7030069857D2E4169EE7" e what vai te dizer!
O trabalho do what é identificar o que algo é. Seja um arquivo ou texto! Ou até mesmo o hex de um arquivo! E quanto a texto dentro de arquivos? Também temos isso! what é recursivo, ele identificará tudo no texto e mais!
$ pip3 install pywhat
ou
# instala dependências opcionais que podem melhorar a velocidade
$ pip3 install pywhat[optimize]
$ brew install pywhat
Ou para os fãs do MacPorts:
$ sudo port install pywhat

Você se depara com um novo malware chamado WantToCry. Você se lembra do Wannacry e de como ele foi interrompido porque um pesquisador encontrou um kill-switch no código.
Quando um domínio, codificado no Wannacry, era registrado, o vírus parava.
Você usa What para identificar todos os domínios no malware e usa uma API de registrador de domínios para registrar todos os domínios.

Digamos que você tenha um arquivo .pcap de um ataque de rede. What pode identificar isso e encontrar rapidamente para você:
Com what, você pode identificar as coisas importantes no pcap em segundos, não em minutos.
Você pode usar o PyWhat para procurar coisas que vão te render dinheiro via bug bounties, como:
Execute o PyWhat com:
pywhat --include "Bug Bounty" TEXT
Para fazer isso.
Aqui estão alguns exemplos 👇
# Baixa todos os repositórios
GHUSER=CHANGEME; curl "https://api.github.com/users/$GHUSER/repos?per_page=1000" | grep -o 'git@[^"]*' | xargs -L1 git clone
# Imprimirá quando encontrar coisas.
# Percorre todos os arquivos no diretório atual.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;
# Baixa recursivamente todas as páginas web de um site
wget -r -np -k https://skerritt.blog
# Imprimirá quando encontrar coisas.
# Percorre todos os arquivos no diretório atual.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;
PS: Suportamos mais filtros além de bug bounties! Execute pywhat --tags
Sempre que você tiver um arquivo e quiser encontrar dados estruturados úteis nele, What é para você.
Ou se você se deparar com algum texto e não souber o que é, What vai te dizer.
Abertura de Arquivos Você pode passar um caminho de arquivo com what 'this/is/a/file/path'. What é inteligente o suficiente para descobrir que é um arquivo!
E quanto a um diretório inteiro? What também dá conta disso! Ele buscará recursivamente por arquivos e exibirá tudo o que você precisa!
Múltiplas entradas Você pode passar vários arquivos, diretórios ou textos de uma vez, como what file1 file2 this/is/a/directory 'some text' ou find . -name '*.log' -exec what {} +. What mostra o arquivo de cada correspondência, as correspondências em texto ficam sob text, e --json retorna tudo em um único objeto JSON.
Unicode Arquivos e textos enviados para What podem ser UTF-8, ou UTF-16 ou UTF-32 com byte order mark, como os arquivos de texto "Unicode" que o Windows salva. What também busca as strings UTF-16 em arquivos binários (como strings -el), que é como os programas do Windows armazenam a maior parte do seu texto. Caracteres que seu terminal não consegue exibir são impressos como sequências de escape, como \u20bf, em vez de travar.
Às vezes, você só se importa em ver coisas relacionadas à AWS. Ou bug bounties, ou criptomoedas!
Você pode filtrar a saída usando what --rarity 0.2:0.8 --include Identifiers,URL https://skerritt.blog. Use what --help para obter mais informações.
Por padrão, what só mostra correspondências com raridade de 0.1 ou mais, pois correspondências com raridade menor geralmente são falsos positivos. Por exemplo, um ID de vídeo do YouTube sozinho, como dQw4w9WgXcQ, poderia ser qualquer sequência de 11 caracteres aleatórios, então what dQw4w9WgXcQ não encontra nada, mas what --rarity 0: dQw4w9WgXcQ o mostra. Links do YouTube, como https://youtu.be/dQw4w9WgXcQ ou youtube.com/watch?v=dQw4w9WgXcQ&t=42s, são mostrados por padrão.
Para ver todos os filtros, execute pywhat --tags! Você também pode combiná-los, por exemplo, para ver todas as carteiras de criptomoedas menos Ripple, você pode fazer:
pywhat --include "Cryptocurrency Wallet" --exclude "Ripple Wallet" 1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY
Os nomes das regexes funcionam como tags, e muitas regexes também têm nomes alternativos mais curtos, como BTC Wallet para Bitcoin (₿) Wallet Address ou ARN para Amazon Resource Name (ARN). Para ver apenas carteiras Bitcoin e Ethereum:
pywhat --include "BTC Wallet,ETH Wallet" TEXT
Execute pywhat --names para ver o nome de cada regex com seus nomes alternativos.
Ordenação Você pode ordenar a saída usando what -k rarity --reverse TEXT. Use what --help para obter mais informações.