
Extrae rápidamente direcciones IP, direcciones de correo electrónico, hashes, archivos, tarjetas de crédito, números de Seguridad Social y mucho más de texto.
DataSurgeon (ds) es una herramienta versátil diseñada para respuesta a incidentes, DLP, pruebas de penetración y desafíos CTF. Permite la extracción de varios tipos de información sensible, incluyendo correos electrónicos, números de teléfono, hashes, tarjetas de crédito, URLs, direcciones IP, direcciones MAC, registros SRV DNS y mucho más.
Para aprender cómo gestionar los plugins, siga la guía aquí.
Esta actualización trae un sistema de gestión de plugins a DataSurgeon. Ahora puede agregar, eliminar y listar plugins usando las opciones --add, --remove y --list.
También agregué un nuevo plugin, ds-winreg-plugin, que puede encontrar rutas de registro de Windows.
Para agregar un nuevo plugin, use --add <URL>, donde la URL es un repositorio de GitHub con un archivo plugins.json. Para eliminar un plugin, use --remove <URL>. Para ver todos sus plugins, use la opción --list.
Una vez que se agrega un plugin, puede usarlo como argumento en DataSurgeon. El nombre del argumento es "Argument Long Name" en el archivo plugins.json del plugin.
El instalador rápido también se puede usar para actualizar DataSurgeon.
Instale Rust y Github luego REINICIE SU TERMINAL.
read -p "Would you like to add 'ds' to your local bin? This will make 'ds' executable from any location in your terminal. (y/n) " response && wget -q -O - https://raw.githubusercontent.com/Drew-Alleman/DataSurgeon/main/install/install.sh | bash -s -- "$response"
Ingrese la línea a continuación en una ventana elevada de powershell.
IEX (New-Object Net.WebClient).DownloadString("https://raw.githubusercontent.com/Drew-Alleman/DataSurgeon/main/install/install.ps1")
Vuelva a iniciar su terminal y podrá usar ds desde la línea de comandos.
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/Drew-Alleman/DataSurgeon/main/install/install.sh | sh

Aquí uso wget para hacer una solicitud a stackoverflow y luego envío el texto del cuerpo a ds. La opción -F listará todos los archivos encontrados. --clean se usa para eliminar cualquier texto extra que pudiera haber sido devuelto (como HTML adicional). Luego el resultado se envía a uniq que elimina los archivos no únicos encontrados. Si lo desea, puede eliminar el mensaje de advertencia en la parte superior 'Leyendo entrada estándar..' usando -S.
$ wget -qO - https://www.stackoverflow.com | ds -F --clean | uniq

Aquí estoy extrayendo todas las direcciones MAC encontradas en el archivo de registro de autodeauth usando la opción -m. La opción --hide ocultará la cadena identificadora delante de los resultados. En este caso, 'mac_address: ' se oculta de la salida. La opción -T se usa para verificar la misma línea varias veces en busca de coincidencias. Normalmente, cuando se encuentra una coincidencia, la herramienta pasa a la siguiente línea en lugar de verificar nuevamente.
$ ./ds -m -T --hide -f /var/log/autodeauth/log
2023-02-26 00:28:19 - Sending 500 deauth frames to network: BC:2E:48:E5:DE:FF -- PrivateNetwork
2023-02-26 00:35:22 - Sending 500 deauth frames to network: 90:58:51:1C:C9:E1 -- TestNet
Puede usar la opción --directory para leer todos los archivos en el directorio especificado de forma recursiva. La opción -D se usa para mostrar el nombre del archivo donde se encontró la coincidencia. -l o --line se usa para mostrar el número de línea donde se encontró el contenido.
$ ds --directory test_dir/ -Dl

Para generar sus resultados en un archivo CSV, use la opción -o seguida del nombre del archivo donde desea guardar los datos. Las opciones -D y -X son compatibles. El formato es: ds -o <NOMBRE_ARCHIVO>.csv (se necesita .csv).
$ wget -qO - https://www.stackoverflow.com | ds -o output.csv -C

Cuando no se proporciona una consulta específica, ds buscará en todos los tipos posibles de datos, lo que es SIGNIFICATIVAMENTE más lento que usar consultas individuales. La consulta más lenta es --files. También es un poco más rápido usar cat para canalizar los datos a ds.
A continuación se muestra el tiempo transcurrido al procesar un archivo de prueba de 5 GB generado por ds-test. Cada prueba se ejecutó 3 veces y se registró el tiempo promedio.
Processor Intel(R) Core(TM) i5-10400F CPU @ 2.90GHz, 2904 Mhz, 6 Core(s), 12 Logical Processor(s)
Ram 12.0 GB (11.9 GB usable)
| Comando | Velocidad |
|---|---|
cat test.txt | ds -t | 00h:02m:04s |
ds -t -f test.txt | 00h:02m:05s |
cat test.txt | ds -t -o output.txt | 00h:02m:06s |
| Comando | Velocidad | Cantidad de consultas |
|---|---|---|
cat test.txt | ds -t -6 | 00h:00m:12s | 1 |
Al completar un nuevo informe de problema, responda TODAS las preguntas en la plantilla de error. Los informes con información insuficiente serán cerrados.
cat test.txt | ds -t -i -m | 00h:00m:22 | 2 |
cat test.txt | ds -tF6c | 00h:00m:32s | 3 |