
🐸 Alles identifizieren. pyWhat ermöglicht es Ihnen ganz einfach, E-Mails, IP-Adressen und mehr zu identifizieren. Füttern Sie es mit einer .pcap-Datei oder einem Text, und es sagt Ihnen, was es ist! 🧙♀️
➡️ Discord ⬅️
Der einfachste Weg, irgendetwas zu identifizieren
pip3 install pywhat && pywhat --help
Was ist das?
Stell dir vor: Du stößt auf einen mysteriösen Text 🧙♂️ 0x52908400098527886E0F7030069857D2E4169EE7 oder dQw4w9WgXcQ und fragst dich, was das ist. Was tust du?
Nun, mit what musst du nur what "0x52908400098527886E0F7030069857D2E4169EE7" fragen und what wird es dir sagen!
Die Aufgabe von what ist es, zu identifizieren, was etwas ist. Ob es sich um eine Datei oder Text handelt! Oder sogar um den Hex-Code einer Datei! Was ist mit Text innerhalb von Dateien? Das haben wir auch! what ist rekursiv, es identifiziert alles im Text und mehr!
$ pip3 install pywhat
oder
# installiert optionale Abhängigkeiten, die die Geschwindigkeit verbessern können
$ pip3 install pywhat[optimize]
$ brew install pywhat
Oder für unsere MacPorts-Fans:
$ sudo port install pywhat

Du stößt auf ein neues Schadprogramm namens WantToCry. Du denkst an Wannacry zurück und erinnerst dich, dass es gestoppt wurde, weil ein Forscher einen Kill-Switch im Code fand.
Als eine Domain, die fest in Wannacry einprogrammiert war, registriert wurde, stoppte das Virus.
Du verwendest What, um alle Domains in der Malware zu identifizieren, und nutzt eine Domain-Registrar-API, um alle Domains zu registrieren.

Angenommen, du hast eine .pcap-Datei von einem Netzwerkangriff. What kann diese identifizieren und schnell für dich finden:
Mit what kannst du die wichtigen Dinge in der pcap in Sekunden identifizieren, nicht in Minuten.
Du kannst PyWhat verwenden, um nach Dingen zu suchen, die dir durch Bug Bounties Geld einbringen, wie:
Führe PyWhat aus mit:
pywhat --include "Bug Bounty" TEXT
um dies zu tun.
Hier sind einige Beispiele 👇
# Alle Repositories herunterladen
GHUSER=CHANGEME; curl "https://api.github.com/users/$GHUSER/repos?per_page=1000" | grep -o 'git@[^"]*' | xargs -L1 git clone
# Gibt aus, wenn etwas gefunden wird.
# Durchläuft alle Dateien im aktuellen Verzeichnis.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;
# Alle Webseiten einer Website rekursiv herunterladen
wget -r -np -k https://skerritt.blog
# Gibt aus, wenn etwas gefunden wird.
# Durchläuft alle Dateien im aktuellen Verzeichnis.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;
PS: Wir unterstützen mehr Filter als nur Bug Bounties! Führe pywhat --tags aus.
Immer wenn du eine Datei hast und in ihr nützliche strukturierte Daten finden möchtest, ist What für dich da.
Oder wenn du auf einen Textabschnitt stößt und nicht weißt, was er ist, wird What es dir sagen.
Dateiöffnung Du kannst einen Dateipfad übergeben mit what 'this/is/a/file/path'. What ist intelligent genug, um zu erkennen, dass es sich um eine Datei handelt!
Was ist mit einem ganzen Verzeichnis? What kann auch das bewältigen! Es wird rekursiv nach Dateien suchen und alles ausgeben, was du brauchst!
Mehrere Eingaben Du kannst mehrere Dateien, Verzeichnisse oder Texte auf einmal übergeben, wie what file1 file2 this/is/a/directory 'some text' oder find . -name '*.log' -exec what {} +. What zeigt die Datei jedes Treffers an, die Treffer im Text stehen unter text, und --json gibt alles in einem JSON-Objekt zurück.
Unicode Dateien und Text, die in What eingelesen werden, können UTF-8 oder UTF-16 oder UTF-32 mit Byte Order Mark sein, wie die "Unicode"-Textdateien, die Windows speichert. What durchsucht auch die UTF-16-Strings in Binärdateien (wie strings -el), so speichern Windows-Programme den Großteil ihres Textes. Zeichen, die dein Terminal nicht anzeigen kann, werden als Escape-Sequenzen wie \u20bf ausgegeben, anstatt abzustürzen.
Manchmal möchtest du nur Dinge sehen, die mit AWS zu tun haben. Oder Bug Bounties, oder Kryptowährungen!
Du kannst die Ausgabe filtern mit what --rarity 0.2:0.8 --include Identifiers,URL https://skerritt.blog. Verwende what --help, um weitere Informationen zu erhalten.
Standardmäßig zeigt what nur Treffer mit einer Seltenheit von 0.1 oder mehr an, da Treffer mit geringerer Seltenheit oft Fehlalarme sind. Zum Beispiel könnte eine YouTube-Video-ID allein, wie dQw4w9WgXcQ, aus 11 zufälligen Zeichen bestehen, also findet what dQw4w9WgXcQ nichts, aber what --rarity 0: dQw4w9WgXcQ zeigt sie an. YouTube-Links, wie https://youtu.be/dQw4w9WgXcQ oder youtube.com/watch?v=dQw4w9WgXcQ&t=42s, werden standardmäßig angezeigt.
Um alle Filter zu sehen, führe pywhat --tags aus! Du kannst sie auch kombinieren, zum Beispiel um alle Kryptowährungs-Wallets außer Ripple zu sehen, kannst du Folgendes tun:
pywhat --include "Cryptocurrency Wallet" --exclude "Ripple Wallet" 1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY
Die Namen der Regexes funktionieren wie Tags, und viele Regexes haben auch kürzere alternative Namen, wie BTC Wallet für Bitcoin (₿) Wallet Address oder ARN für Amazon Resource Name (ARN). Um nur Bitcoin- und Ethereum-Wallets zu sehen:
pywhat --include "BTC Wallet,ETH Wallet" TEXT
Führe pywhat --names aus, um den Namen jeder Regex mit ihren alternativen Namen zu sehen.
Sortieren Du kannst die Ausgabe sortieren mit what -k rarity --reverse TEXT. Verwende what --help, um weitere Informationen zu erhalten.