
SMBeagle - Herramienta de auditoría de archivos compartidos.
____ __ _____ _ __
/ __ \__ ______ / /__/ ___/___ _______ _______(_) /___ __
/ /_/ / / / / __ \/ //_/\__ \/ _ \/ ___/ / / / ___/ / __/ / / /
/ ____/ /_/ / / / / ,< ___/ / __/ /__/ /_/ / / / / /_/ /_/ /
/_/ \__,_/_/ /_/_/|_|/____/\___/\___/\__,_/_/ /_/\__/\__, /
PRESENTS /____/
SMBeagle es una herramienta de auditoría de recursos compartidos de archivos (SMB) multiplataforma que busca todos los archivos que puede ver en la red e informa si el archivo se puede leer y/o escribir. Todos estos hallazgos se transmiten a un archivo CSV o a un host de Elasticsearch, ¡o ambos!? 🚀
Cuando se ejecuta en Windows, sin proporcionar credenciales, SMBeagle usará las API de win32 para máxima velocidad y autenticación integrada.
Cuando se ejecuta en Linux, o cuando se proporcionan credenciales, usamos el escaneo de archivos multiplataforma a través de SMBLibrary
SMBeagle hasta la v3 estaba firmado digitalmente, pero la v4 añade más características ofensivas. En concreto, ahora buscará y recuperará archivos que parezcan jugosos. Genial para pentests, pero no es algo que queramos firmar digitalmente.
Si deseas la versión original, sin las funciones de captura de archivos, usa la v3 que está firmada digitalmente.
Tiene 2 casos de uso increíbles:
Las empresas de todos los tamaños a menudo tienen recursos compartidos de archivos con permisos terribles.
Las grandes empresas tienen recursos compartidos extensos en servidores de archivos y no es raro encontrar datos sensibles con permisos mal configurados.
Las pequeñas empresas a menudo tienen un pequeño NAS en la esquina de la oficina sin restricciones.
SMBeagle rastrea estos recursos compartidos y enumera todos los archivos que puede leer y escribir. Si puede leerlos, el ransomware también puede.
SMBeagle puede proporcionar a los probadores de penetración las rutas menos obvias para escalar privilegios y moverse lateralmente.
Al enviar la salida directamente a Elasticsearch, los probadores pueden encontrar rápidamente scripts legibles y ejecutables escribibles.
¡Encontrar ataques de watering hole y contraseñas desprotegidas nunca fue tan fácil! 🐱👤
Para hacerlo aún más fácil, hemos añadido la bandera -g que ahora recuperará archivos si parecen interesantes.
¿Qué parece interesante? Bueno, por defecto buscamos scripts y nombres de archivo con palabras como "password".
... Puedes proporcionar tus propias expresiones regulares con la bandera --file-pattern.
Consulta el archivo Léeme de Kibana para obtener instrucciones detalladas sobre la instalación y el uso de los paneles de Kibana que proporcionan visuales de gestión y facilitan el pivoteo de datos.
docker pull punksecurity/smbeagleEl único parámetro obligatorio es establecer una salida, que debe ser la dirección IP de un host de Elasticsearch o un archivo CSV.
Un buen punto de partida es habilitar el modo rápido y enviar la salida a CSV, pero este CSV podría volverse enorme dependiendo de cuántos archivos encuentre.
./SMBeagle.exe -c out.csv -f
El escaneo de hosts y redes públicas descubiertas está deshabilitado por defecto, ya que SMBeagle descubre redes a partir de netstat, que incluye todas las conexiones actuales, como las sesiones del navegador web, etc.
Para escanear una red pública, declárala manualmente con algo como -n 1.0.0.1/32 o -n 1.0.0.0/24
Punk security proporciona una imagen Docker de Linux de SMBeagle.
Para obtener los resultados, deberás montar una carpeta en el contenedor y decirle a SMBeagle que guarde su salida en ese montaje (o usar Elasticsearch).
Un buen ejemplo inicial es:
docker run -v "$(pwd)/output:/tmp/output" punksecurity/smbeagle -c /tmp/output/results.csv -n 10.10.10.0/24
Ten en cuenta que la detección de redes está deshabilitada cuando se ejecuta en Docker, así que asegúrate de pasar los rangos que
deseas escanear con el parámetro de línea de comandos -n, o los hosts con el parámetro -h.
USO:
Salida a un archivo CSV:
SMBeagle -c out.csv
Salida a Elasticsearch (preferido):
SMBeagle -e 127.0.0.1
Salida a Elasticsearch y CSV:
SMBeagle -c out.csv -e 127.0.0.1
Deshabilitar detección de red y proporcionar redes manuales:
SMBeagle -D -e 127.0.0.1 -n 192.168.12.0./23 192.168.15.0/24
No enumerar ACLs (MÁS RÁPIDO):
SMBeagle -A -e 127.0.0.1
-c, --csv-file (Grupo: output) Enviar resultados a un archivo
CSV proporcionando la ruta del archivo
-e, --elasticsearch-host (Grupo: output) Enviar resultados a
Elasticsearch proporcionando el nombre de host
de Elasticsearch (el puerto por defecto es 9200, pero se puede
sobrescribir)
-a, --aggression (Por defecto: 6) Variar la velocidad de escaneo en un rango
entre 1 y 10. 10 es el más rápido [Sin decimales]
--elasticsearch-port (Por defecto: 9200) Definir el puerto personalizado
de Elasticsearch si es necesario
-f, --fast Enumerar solo un permiso de archivo por
directorio
-l, --scan-local-shares Escanear los recursos compartidos locales de esta máquina
-D, --disable-network-discovery Deshabilitar la detección de red
-n, --network Añadir manualmente red a escanear (múltiples aceptadas)
-N, --exclude-network Excluir una red del escaneo (múltiples aceptadas)
-h, --host Añadir manualmente host a escanear
-H, --exclude-host Excluir un host del escaneo
-q, --quiet Deshabilitar salida innecesaria
-S, --exclude-share No escanear recursos compartidos con este nombre (múltiples aceptadas)
-s, --share Escanear solo recursos compartidos con este nombre (múltiples aceptadas)
--file-pattern Recuperar solo archivos que coincidan con estos patrones
de expresiones regulares
-g, --grab-files Recuperar archivos y almacenarlos localmente
--loot (Por defecto: loot) Ruta para almacenar archivos capturados
-E, --exclude-hidden-shares Excluir recursos compartidos que terminan en $
-v, --verbose Dar más salida
-m, --max-network-cidr-size (Por defecto: 20) Tamaño máximo de red a escanear
para hosts SMB
-A, --dont-enumerate-acls (Por defecto: false) Saltar la enumeración de
ACL de archivos
-d, --domain (Por defecto: ) Dominio para conectar a SMB
-u, --username Nombre de usuario para conectar a SMB - obligatorio
en Linux
-p, --password Contraseña para conectar a SMB - obligatoria
en Linux
--help Mostrar esta pantalla de ayuda.
--version Mostrar información de la versión.
SMBeagle realiza mucho trabajo, que se divide en módulos débilmente acoplados que se pasan la información entre sí. Esto mantiene el diseño simple y nos permite extender cada módulo fácilmente.
En resumen, hace lo siguiente:
