Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
smbcrawler — smbcrawler es una herramienta sin rodeos que toma credenciales y una lista de hosts y 'rastrea' (o 'araña') a través de esos recursos compartidos | Kitploit
Herramientas/GitHubGitHub/syss-research/smbcrawler
ReconocimientoAnálisis de VulnerabilidadesExfiltración de DatosRecopilación de InformaciónSeguridad de RedesPruebas de Penetración
GitHubsyss-research/smbcrawler

smbcrawler

smbcrawler es una herramienta sin rodeos que toma credenciales y una lista de hosts y 'rastrea' (o 'araña') a través de esos recursos compartidos

Ver Repositorio
1892657hace 10 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

SmbCrawler

SmbCrawler es una herramienta directa que toma credenciales y una lista de hosts y 'rastrea' (o 'araña') a través de estos recursos compartidos. Características:

  • acepta nombres de host, direcciones IP, rangos de IP, o un archivo xml de nmap como entrada
  • verifica permisos (la comprobación de permisos de 'escritura' es opcional, porque requiere crear un directorio vacío en el recurso compartido)
  • la profundidad de rastreo es personalizable
  • genera resultados en formatos legibles por máquina o como un informe HTML interactivo
  • soporte de pass-the-hash
  • descarga automática de archivos interesantes
  • reportar posibles secretos
  • multihilo
  • pausable
  • saltar interactivamente recursos compartidos y hosts individuales

Instalación

Si necesitas instrucciones sobre cómo instalar un paquete de Python, te recomiendo que te asegures de tener pipx instalado y ejecutes pipx install smbcrawler.

SmbCrawler puede convertir automáticamente algunos archivos binarios como PDF, XLSX, DOCX, ZIP, etc. a texto plano usando MarkItDown. Debido a que este paquete trae muchas dependencias, está marcado como extra. Sin embargo, se recomienda encarecidamente para obtener los mejores resultados. Si deseas convertir binarios automáticamente, instala SmbCrawler de esta manera:

pipx install 'smbcrawler[binary-conversion]'

Agregar la finalización del shell es muy recomendable. Como una aplicación Python que usa la librería click, puedes agregar la finalización por tabulación a bash, zsh y fish usando el mecanismo habitual.

Ejemplo

Ejecútalo así (10 hilos, profundidad máxima 5):

$ smbcrawler crawl -i hosts.txt -u pen.tester -p iluvb0b -d contoso.local -t 10 -D 5

Cambios importantes en la versión 1.0

SmbCrawler ha sufrido una revisión importante. Los cambios más significativos son:

  • Limpiamos la CLI e introdujimos un mecanismo de 'perfil' para dirigir el comportamiento del rastreador
  • La salida ahora es una base de datos sqlite en lugar de archivos JSON dispersos
  • Los permisos ahora se reportan de forma más granular

Los antiguos argumentos de CLI sobre 'archivos interesantes', 'recursos compartidos aburridos' y demás eran torpes y confusos. En su lugar, ahora usamos 'perfiles'; vea abajo para más detalles.

Además, me di cuenta de que básicamente reinventé las bases de datos relacionales, pero lo hice muy mal, así que ¿por qué no usar sqlite directamente? El enfoque sqlite nos permite producir un buen informe HTML interactivo con buen rendimiento. Todavía puedes exportar resultados en varios formatos si necesitas usar los datos en algún flujo de herramientas.

La forma antigua en que SmbCrawler reportaba permisos a veces no era muy útil. Por ejemplo, no es raro tener permisos de lectura en el directorio raíz del recurso compartido, pero todos los subdirectorios están protegidos, por ejemplo, para perfiles de usuario. Ahora SmbCrawler reportará qué tan profundo pudo leer el árbol de directorios de un recurso compartido y si llegó al máximo o podría haber ido más profundo si hubieras proporcionado un valor mayor para el argumento de profundidad máxima.

Si prefieres la versión anterior, todavía está disponible en PyPI y se puede instalar con pipx install smbcrawler==0.2.0, por ejemplo.

Uso

Durante la ejecución, puedes usar las siguientes teclas:

  • p: pausar el rastreador y saltar hosts o recursos compartidos individuales
  • <espacio>: mostrar el progreso actual
  • s: mostrar una actualización de estado más detallada

Para más información, ejecuta smbcrawler -h.

Notas

Incluso en redes de tamaño mediano, SmbCrawler encontrará toneladas de datos. El desafío es reducir los falsos positivos.

Notas sobre permisos

Es importante darse cuenta de que los permisos pueden aplicarse a nivel de servicio y a nivel del sistema de archivos. El servicio SMB remoto puede permitirte autenticarte y tu cuenta de usuario puede tener permisos de lectura en principio, pero podría carecer de estos permisos en el sistema de archivos.

SmbCrawler reportará si tienes permisos para:

  • autenticarte contra un objetivo como invitado y listar los recursos compartidos
  • autenticarte contra un objetivo con las credenciales del usuario
  • acceder a un recurso compartido como invitado
  • acceder a un recurso compartido con las credenciales del usuario
  • crear un directorio en el directorio raíz del recurso compartido
  • el nivel de directorio más profundo de un recurso compartido al que se pudo acceder (limitado por el argumento --depth)

Debido a que no es trivial verificar los permisos de los recursos compartidos SMB sin intentar la acción en cuestión, SmbCrawler intentará crear un directorio en cada recurso compartido. Su nombre es smbcrawler_DELETEME_<8 caracteres aleatorios> y se eliminará inmediatamente, pero ten cuidado de todos modos.

[!WARNING] A veces tienes permiso para crear directorios, pero no para eliminarlos, por lo que dejarás un directorio vacío allí.

Perfiles

Para decidir qué hacer con ciertos recursos compartidos, archivos o directorios, SmbCrawler tiene una característica llamada 'perfiles'. Echa un vistazo al perfil predeterminado.

Los perfiles se cargan desde archivos con extensiones *.yml o *.yaml desde estas ubicaciones:

  • El perfil predeterminado integrado
  • $XDG_DATA_HOME/smbcrawler/ (por defecto ~/.local/share/smbcrawler)
  • El directorio adicional definido por --extra-profile-directory
  • Los archivos adicionales definidos por --extra-profile-file

Los perfiles de cada ubicación sobrescriben las definiciones anteriores.

El valor regex define si un perfil coincide, y se usará el último perfil que coincida. Todas las expresiones regulares no distinguen entre mayúsculas y minúsculas, reflejando el comportamiento más común en el mundo Windows.

Dado que puede ser confuso cómo los perfiles de diferentes fuentes funcionan juntos, asegúrate de usar el parámetro --dry-run. Te muestra la configuración efectiva y no hace nada más.

Veamos cada sección, que siempre es una lista de diccionarios. Cada una de las claves del diccionario es una etiqueta arbitraria y cada uno de los valores es a su vez un diccionario con diferentes propiedades.

Archivos

  • comment: Una cadena útil que describe este perfil
  • regex: Una expresión regular que define a qué archivos se aplica este perfil. La última expresión regular que coincida es la que cuenta.
  • regex_flags: Un arreglo de banderas que se pasarán a la función match de la expresión regular
  • high_value (por defecto: false): Si un archivo es de 'alto valor', se reportará su presencia, pero no se descargará necesariamente (piensa en discos duros virtuales: importantes, pero demasiado grandes para descargarlos automáticamente)
  • download (por defecto: true): Si es true, se descargarán los primeros 200KiBi (o el archivo completo si high_value=true) y se analizará en busca de secretos

Recursos compartidos y directorios

  • comment, regex, regex_flags: Igual que arriba
  • high_value: se reportará su presencia y la profundidad de rastreo se cambiará a infinito
  • crawl_depth: Rastrear este recurso compartido o directorio hasta una profundidad diferente a la definida por el argumento --depth

Secretos

  • comment, regex_flags: Igual que arriba
  • regex: Una expresión regular que coincide con el secreto. El secreto en sí puede ser un grupo nombrado con el nombre secret.

Flujo de trabajo típico

Descargar herramienta