
🐸 Identifica qualsiasi cosa. pyWhat ti permette facilmente di identificare email, indirizzi IP e altro. Fornisci un file .pcap o del testo e ti dirà di cosa si tratta! 🧙♀️
➡️ Discord ⬅️
Il modo più semplice per identificare qualsiasi cosa
pip3 install pywhat && pywhat --help
Cos'è questo?
Immagina questo: ti imbatti in un testo misterioso 🧙♂️ 0x52908400098527886E0F7030069857D2E4169EE7 o dQw4w9WgXcQ e ti chiedi cosa sia. Cosa fai?
Beh, con what tutto ciò che devi fare è chiedere what "0x52908400098527886E0F7030069857D2E4169EE7" e what te lo dirà!
Il compito di what è identificare cosa è qualcosa. Che si tratti di un file o di un testo! O persino dell'esadecimale di un file! E che dire del testo all'interno dei file? Abbiamo anche quello! what è ricorsivo, identificherà tutto nel testo e non solo!
$ pip3 install pywhat
oppure
# installa le dipendenze opzionali che possono migliorare la velocità
$ pip3 install pywhat[optimize]
$ brew install pywhat
Oppure per i nostri fan di MacPorts:
$ sudo port install pywhat

Ti imbatti in un nuovo malware chiamato WantToCry. Ripensi a Wannacry e ricordi che è stato fermato perché un ricercatore ha trovato un kill-switch nel codice.
Quando veniva registrato un dominio, hardcoded in Wannacry, il virus si fermava.
Usi What per identificare tutti i domini nel malware e usi un'API di un registrar di domini per registrare tutti i domini.

Supponiamo che tu abbia un file .pcap da un attacco di rete. What può identificarlo e trovarti rapidamente:
Con what, puoi identificare le cose importanti nel pcap in secondi, non minuti.
Puoi usare PyWhat per cercare cose che ti faranno guadagnare tramite bug bounty come:
Esegui PyWhat con:
pywhat --include "Bug Bounty" TEXT
Per fare questo.
Ecco alcuni esempi 👇
# Scarica tutti i repository
GHUSER=CHANGEME; curl "https://api.github.com/users/$GHUSER/repos?per_page=1000" | grep -o 'git@[^"]*' | xargs -L1 git clone
# Stamperà quando trova qualcosa.
# Itera su tutti i file nella directory corrente.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;
# Scarica ricorsivamente tutte le pagine web di un sito
wget -r -np -k https://skerritt.blog
# Stamperà quando trova qualcosa.
# Itera su tutti i file nella directory corrente.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;
PS: Supportiamo più filtri oltre ai bug bounty! Esegui pywhat --tags
Ogni volta che hai un file e vuoi trovare dati strutturati utili al suo interno, What fa per te.
Oppure se ti imbatti in un pezzo di testo e non sai cosa sia, What te lo dirà.
Apertura di file Puoi passare un percorso di file con what 'this/is/a/file/path'. What è abbastanza intelligente da capire che è un file!
E che dire di un'intera directory? What può gestire anche quella! Cercherà ricorsivamente i file e produrrà tutto ciò che ti serve!
Input multipli Puoi passare diversi file, directory o testi contemporaneamente, come what file1 file2 this/is/a/directory 'some text' o find . -name '*.log' -exec what {} +. What mostra il file di ogni corrispondenza, le corrispondenze nel testo sono sotto text, e --json restituisce tutto in un unico oggetto JSON.
Unicode I file e il testo inviati a What possono essere UTF-8, o UTF-16 o UTF-32 con byte order mark, come i file di testo "Unicode" che Windows salva. What cerca anche le stringhe UTF-16 nei file binari (come strings -el), che è il modo in cui i programmi Windows memorizzano la maggior parte del loro testo. I caratteri che il tuo terminale non può mostrare vengono stampati come sequenze di escape come \u20bf invece di andare in crash.
A volte, ti interessa solo vedere cose relative ad AWS. O bug bounty, o criptovalute!
Puoi filtrare l'output usando what --rarity 0.2:0.8 --include Identifiers,URL https://skerritt.blog. Usa what --help per ottenere maggiori informazioni.
Per impostazione predefinita, what mostra solo le corrispondenze con una rarità di 0.1 o superiore, poiché le corrispondenze con rarità inferiore sono spesso falsi positivi. Ad esempio, un ID video di YouTube da solo, come dQw4w9WgXcQ, potrebbe essere qualsiasi 11 caratteri casuali, quindi what dQw4w9WgXcQ non trova nulla, ma what --rarity 0: dQw4w9WgXcQ lo mostra. I link di YouTube, come https://youtu.be/dQw4w9WgXcQ o youtube.com/watch?v=dQw4w9WgXcQ&t=42s, sono mostrati per impostazione predefinita.
Per vedere tutti i filtri, esegui pywhat --tags! Puoi anche combinarli, ad esempio per vedere tutti i wallet di criptovalute meno Ripple puoi fare:
pywhat --include "Cryptocurrency Wallet" --exclude "Ripple Wallet" 1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY
I nomi delle regex funzionano come tag, e molte regex hanno anche nomi alternativi più brevi, come BTC Wallet per Bitcoin (₿) Wallet Address o ARN per Amazon Resource Name (ARN). Per vedere solo i wallet Bitcoin ed Ethereum:
pywhat --include "BTC Wallet,ETH Wallet" TEXT
Esegui pywhat --names per vedere il nome di ogni regex con i suoi nomi alternativi.
Ordinamento Puoi ordinare l'output usando what -k rarity --reverse TEXT. Usa what --help per ottenere maggiori informazioni.