
🐸 Identifica cualquier cosa. pyWhat te permite identificar fácilmente correos electrónicos, direcciones IP y más. ¡Dale un archivo .pcap o algo de texto y te dirá lo que es! 🧙♀️
➡️ Discord ⬅️
La forma más sencilla de identificar cualquier cosa
pip3 install pywhat && pywhat --help
Qué es esto?
Imagina esto: te encuentras con un texto misterioso 🧙♂️ 0x52908400098527886E0F7030069857D2E4169EE7 o dQw4w9WgXcQ y te preguntas qué es. ¿Qué haces?
Bueno, con what todo lo que tienes que hacer es preguntar what "0x52908400098527886E0F7030069857D2E4169EE7" ¡y what te lo dirá!
El trabajo de what es identificar qué es algo. ¡Ya sea un archivo o texto! ¡O incluso el hex de un archivo! ¿Y qué hay del texto dentro de los archivos? ¡También lo tenemos! what es recursivo, ¡identificará todo en el texto y más!
$ pip3 install pywhat
o
# instala dependencias opcionales que pueden mejorar la velocidad
$ pip3 install pywhat[optimize]
$ brew install pywhat
O para nuestros fans de MacPorts:
$ sudo port install pywhat

Te encuentras con una nueva pieza de malware llamada WantToCry. Recuerdas Wannacry y recuerdas que se detuvo porque un investigador encontró un kill-switch en el código.
Cuando se registraba un dominio, codificado en Wannacry, el virus se detenía.
Usas What para identificar todos los dominios en el malware, y usas una API de registrador de dominios para registrar todos los dominios.

Digamos que tienes un archivo .pcap de un ataque de red. What puede identificar esto y encontrar rápidamente:
Con what, puedes identificar las cosas importantes en el pcap en segundos, no en minutos.
Puedes usar PyWhat para escanear cosas que te harán ganar dinero mediante bug bounties como:
Ejecuta PyWhat con:
pywhat --include "Bug Bounty" TEXT
Para hacer esto.
Aquí hay algunos ejemplos 👇
# Descargar todos los repositorios
GHUSER=CHANGEME; curl "https://api.github.com/users/$GHUSER/repos?per_page=1000" | grep -o 'git@[^"]*' | xargs -L1 git clone
# Imprimirá cuando encuentre cosas.
# Recorre todos los archivos en el directorio actual.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;
# Descargar recursivamente todas las páginas web de un sitio
wget -r -np -k https://skerritt.blog
# Imprimirá cuando encuentre cosas.
# Recorre todos los archivos en el directorio actual.
find . -type f -execdir pywhat --include 'Bug Bounty' {} \;
PD: ¡Soportamos más filtros que solo bug bounties! Ejecuta pywhat --tags
Cada vez que tengas un archivo y quieras encontrar datos estructurados útiles en él, What es para ti.
O si te encuentras con algún fragmento de texto y no sabes qué es, What te lo dirá.
Apertura de archivos Puedes pasar una ruta de archivo con what 'this/is/a/file/path'. ¡What es lo suficientemente inteligente como para darse cuenta de que es un archivo!
¿Y qué hay de un directorio completo? ¡What también puede manejarlo! ¡Buscará recursivamente archivos y mostrará todo lo que necesitas!
Múltiples entradas Puedes pasar varios archivos, directorios o textos a la vez, como what file1 file2 this/is/a/directory 'some text' o find . -name '*.log' -exec what {} +. What muestra el archivo de cada coincidencia, las coincidencias en texto están bajo text, y --json devuelve todo en un solo objeto JSON.
Unicode Los archivos y el texto canalizado a What pueden ser UTF-8, o UTF-16 o UTF-32 con marca de orden de bytes, como los archivos de texto "Unicode" que guarda Windows. What también busca las cadenas UTF-16 en archivos binarios (como strings -el), que es como los programas de Windows almacenan la mayor parte de su texto. Los caracteres que tu terminal no puede mostrar se imprimen como secuencias de escape como \u20bf en lugar de fallar.
A veces, solo te importa ver cosas relacionadas con AWS. ¡O bug bounties, o criptomonedas!
Puedes filtrar la salida usando what --rarity 0.2:0.8 --include Identifiers,URL https://skerritt.blog. Usa what --help para obtener más información.
Por defecto, what solo muestra coincidencias con una rareza de 0.1 o más, ya que las coincidencias con menor rareza a menudo son falsos positivos. Por ejemplo, un ID de video de YouTube por sí solo, como dQw4w9WgXcQ, podría ser cualquier combinación de 11 caracteres aleatorios, por lo que what dQw4w9WgXcQ no encuentra nada, pero what --rarity 0: dQw4w9WgXcQ lo muestra. Los enlaces de YouTube, como https://youtu.be/dQw4w9WgXcQ o youtube.com/watch?v=dQw4w9WgXcQ&t=42s, se muestran por defecto.
¡Para ver todos los filtros, ejecuta pywhat --tags! También puedes combinarlos, por ejemplo para ver todas las carteras de criptomonedas menos Ripple puedes hacer:
pywhat --include "Cryptocurrency Wallet" --exclude "Ripple Wallet" 1KFHE7w8BhaENAswwryaoccDb6qcT6DbYY
Los nombres de las regex funcionan como etiquetas, y muchas regex también tienen nombres alternativos más cortos, como BTC Wallet para Bitcoin (₿) Wallet Address o ARN para Amazon Resource Name (ARN). Para ver solo carteras de Bitcoin y Ethereum:
pywhat --include "BTC Wallet,ETH Wallet" TEXT
Ejecuta pywhat --names para ver el nombre de cada regex con sus nombres alternativos.
Ordenar Puedes ordenar la salida usando what -k rarity --reverse TEXT. Usa what --help para obtener más información.