
🐸 Identifiez n'importe quoi. pyWhat vous permet facilement d'identifier des e-mails, des adresses IP, et plus encore. Fournissez-lui un fichier .pcap ou du texte et il vous dira ce que c'est ! 🧙♀️
➡️ Discord ⬅️
La façon la plus simple d'identifier n'importe quoi
pip3 install pywhat && pywhat --help
Qu'est-ce que c'est ?
Imaginez ceci : vous tombez sur un texte mystérieux 🧙♂️ 0x52908400098527886E0F7030069857D2E4169EE7 ou dQw4w9WgXcQ et vous vous demandez ce que c'est. Que faites-vous ?
Eh bien, avec what, tout ce que vous avez à faire est de demander what "0x52908400098527886E0F7030069857D2E4169EE7" et what vous le dira !
Le travail de what est d'identifier _ce qu'_est quelque chose. Qu'il s'agisse d'un fichier ou d'un texte ! Ou même de l'hexadécimal d'un fichier ! Et le texte à l'intérieur des fichiers ? Nous avons cela aussi ! what est récursif, il identifiera tout dans le texte et plus encore !
$ pip3 install pywhat
ou
# installe les dépendances optionnelles qui peuvent améliorer la vitesse
$ pip3 install pywhat[optimize]
$ brew install pywhat
Ou pour nos fans de MacPorts :
$ sudo port install pywhat

Vous tombez sur un nouveau morceau de malware appelé WantToCry. Vous repensez à Wannacry et vous vous souvenez qu'il a été arrêté parce qu'un chercheur a trouvé un kill-switch dans le code.
Lorsqu'un domaine, codé en dur dans Wannacry, était enregistré, le virus s'arrêtait.
Vous utilisez What pour identifier tous les domaines dans le malware, et utilisez une API de registrar de domaine pour enregistrer tous les domaines.

Disons que vous avez un fichier .pcap provenant d'une attaque réseau. What peut l'identifier et vous trouver rapidement :
Avec what, vous pouvez identifier les choses importantes dans le pcap en quelques secondes, pas en minutes.
Vous pouvez utiliser PyWhat pour rechercher des choses qui vous rapporteront de l'argent via des bug bounties comme :
Lancez PyWhat avec :
pywhat --include "Bug Bounty" TEXT
Pour ce faire.
Voici quelques exemples 👇
# Télécharge tous les dépôts
GHUSER=CHANGEME; curl "https://api.github.com/users/$GHUSER/repos?per_page=1000" | grep -o 'git@[^"]*' | xargs -L1 git clone
# Affichera quand il trouve des choses.
# Parcourt tous les fichiers du répertoire courant.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;
# Télécharge récursivement toutes les pages web d'un site
wget -r -np -k https://skerritt.blog
# Affichera quand il trouve des choses.
# Parcourt tous les fichiers du répertoire courant.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;
PS : Nous prenons en charge plus de filtres que les seuls bug bounties ! Lancez pywhat --tags
Chaque fois que vous avez un fichier et que vous voulez y trouver des données structurées utiles, What est fait pour vous.
Ou si vous tombez sur un morceau de texte et que vous ne savez pas ce que c'est, What vous le dira.
Ouverture de fichier Vous pouvez passer un chemin de fichier avec what 'this/is/a/file/path'. What est assez intelligent pour comprendre qu'il s'agit d'un fichier !
Et un répertoire entier ? What peut aussi le gérer ! Il recherchera récursivement les fichiers et affichera tout ce dont vous avez besoin !
Entrées multiples Vous pouvez passer plusieurs fichiers, répertoires ou textes à la fois, comme what file1 file2 this/is/a/directory 'some text' ou find . -name '*.log' -exec what {} +. What affiche le fichier de chaque correspondance, les correspondances dans le texte sont sous text, et --json renvoie tout dans un seul objet JSON.
Unicode Les fichiers et le texte transmis à What peuvent être en UTF-8, ou UTF-16 ou UTF-32 avec un BOM, comme les fichiers texte "Unicode" que Windows enregistre. What recherche aussi les chaînes UTF-16 dans les fichiers binaires (comme strings -el), c'est ainsi que les programmes Windows stockent la plupart de leur texte. Les caractères que votre terminal ne peut pas afficher sont imprimés sous forme de séquences d'échappement telles que \u20bf au lieu de planter.
Parfois, vous ne vous intéressez qu'aux choses liées à AWS. Ou aux bug bounties, ou aux cryptomonnaies !
Vous pouvez filtrer la sortie en utilisant what --rarity 0.2:0.8 --include Identifiers,URL https://skerritt.blog. Utilisez what --help pour obtenir plus d'informations.
Par défaut, what n'affiche que les correspondances avec une rareté de 0.1 ou plus, car les correspondances avec une rareté inférieure sont souvent des faux positifs. Par exemple, un ID de vidéo YouTube seul, comme dQw4w9WgXcQ, pourrait être n'importe quels 11 caractères aléatoires, donc what dQw4w9WgXcQ ne trouve rien, mais what --rarity 0: dQw4w9WgXcQ l'affiche. Les liens YouTube, comme https://youtu.be/dQw4w9WgXcQ ou youtube.com/watch?v=dQw4w9WgXcQ&t=42s, sont affichés par défaut.
Pour voir tous les filtres, lancez pywhat --tags ! Vous pouvez aussi les combiner, par exemple pour voir tous les portefeuilles de cryptomonnaie moins Ripple, vous pouvez faire :
pywhat --include "Cryptocurrency Wallet" --exclude "Ripple Wallet" 1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY
Les noms des regexes fonctionnent comme des tags, et beaucoup de regexes ont aussi des noms alternatifs plus courts, comme BTC Wallet pour Bitcoin (₿) Wallet Address ou ARN pour Amazon Resource Name (ARN). Pour ne voir que les portefeuilles Bitcoin et Ethereum :
pywhat --include "BTC Wallet,ETH Wallet" TEXT
Lancez pywhat --names pour voir le nom de chaque regex avec ses noms alternatifs.
Tri Vous pouvez trier la sortie en utilisant what -k rarity --reverse TEXT. Utilisez what --help pour obtenir plus d'informations.