Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
ShellSweep — ShellSweeping el mal. | Kitploit
Herramientas/GitHubGitHub/splunk/shellsweep
Análisis EstáticoEscáneres de VulnerabilidadesSeguridad WebAnálisis de MalwareAprendizaje y EducaciónDetección de Anomalías
GitHubsplunk/shellsweep

ShellSweep

ShellSweeping el mal.

Ver Repositorio
184208hace 1 mesRevisado 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

ShellSweep

ShellSweep: barriendo el mal

Por qué ShellSweep

"ShellSweep" es una herramienta de PowerShell/Python/Lua diseñada para detectar posibles archivos de web shell en un directorio específico.

ShellSweep y su conjunto de herramientas calculan la entropía del contenido de los archivos para estimar la probabilidad de que un archivo sea un web shell. Una entropía alta indica más aleatoriedad, lo cual es una característica de los códigos cifrados u ofuscados que a menudo se encuentran en los web shells.

  • Solo procesa archivos con ciertas extensiones (.asp, .aspx, .asph, .php, .jsp), que son comúnmente usadas en web shells.
  • Ciertos directorios pueden excluirse del escaneo.
  • Los archivos con ciertos hash pueden ignorarse durante el escaneo.

¿Cómo encuentra ShellSweep los shells?

La entropía, en el contexto de la teoría de la información o la ciencia de datos, es una medida de la imprevisibilidad, aleatoriedad o desorden en un conjunto de datos. El concepto fue introducido por Claude Shannon en su artículo de 1948 "A Mathematical Theory of Communication".

Cuando se aplica a un archivo o una cadena de texto, la entropía puede ayudar a evaluar la aleatoriedad de los datos. Así es como funciona:

  • Si un archivo consiste en datos completamente aleatorios (cada byte tiene la misma probabilidad de ser cualquier valor entre 0 y 255), la entropía es alta, cercana a 8 (ya que log2(256) = 8).
  • Si un archivo consiste en datos altamente estructurados (por ejemplo, un archivo de texto donde la mayoría de los bytes son caracteres ASCII), la entropía es más baja.

En el contexto de la búsqueda de web shells o archivos maliciosos, la entropía puede ser un indicador útil:

  • Muchos scripts ofuscados o payloads cifrados pueden tener alta entropía porque el proceso de ofuscación o cifrado hace que los datos parezcan aleatorios.
  • Un archivo de texto normal o HTML generalmente tendría una entropía más baja porque el texto legible por humanos tiene patrones y estructura (ciertas letras son más comunes, las palabras suelen estar separadas por espacios, etc.).

Por lo tanto, un archivo con una entropía inusualmente alta podría ser sospechoso y merecer una investigación adicional. Sin embargo, no es un indicador infalible de malicia: hay muchas razones legítimas por las que un archivo podría tener alta entropía, y muchas formas en que el malware podría evitar causar alta entropía. Es solo una herramienta en un conjunto más amplio para detectar posibles amenazas.

ShellSweep incluye una función Get-Entropy que calcula la entropía del contenido de un archivo mediante:

  • Contando con qué frecuencia aparece cada carácter en el archivo.
  • Usando estas frecuencias para calcular la probabilidad de cada carácter.
  • Sumando -p*log2(p) para cada carácter, donde p es la probabilidad del carácter. Esta es la fórmula de la entropía en teoría de la información.

¿Por qué ShellSweepX?

ShellSweepX lleva la funcionalidad central de ShellSweep al siguiente nivel, ofreciendo varias ventajas sobre las soluciones tradicionales de EDR (Endpoint Detection and Response):

  1. Enfoque especializado: A diferencia de las soluciones EDR que abarcan un amplio espectro, ShellSweepX está diseñado específicamente para detectar web shells. Este enfoque especializado permite una detección más precisa y eficiente de estas amenazas particulares.

  2. Bajo consumo de recursos: ShellSweepX es ligero y no requiere procesos constantes en segundo plano ni monitoreo del sistema, a diferencia de muchas soluciones EDR. Esto significa un menor impacto en el rendimiento del sistema.

  3. Personalizable y transparente: La naturaleza de código abierto de ShellSweepX permite una total transparencia en sus métodos de detección. Puedes personalizar y ajustar fácilmente los parámetros de detección para adaptarlos a tu entorno específico.

  4. Sin dependencia de servicios externos: ShellSweepX opera localmente sin depender de análisis basados en la nube ni actualizaciones constantes, asegurando que tus datos sensibles permanezcan bajo tu control.

  5. Detección multicapa: ShellSweepX emplea varios métodos de detección, incluyendo análisis de entropía, coincidencia de patrones y análisis heurístico, proporcionando un enfoque integral para la detección de web shells.

  6. Informes detallados: ShellSweepX proporciona información detallada sobre amenazas potenciales, incluyendo valores de entropía, métodos de detección y puntuaciones de confianza, permitiendo una toma de decisiones más informada.

  7. Compatibilidad multiplataforma: Con versiones disponibles en PowerShell, Python y Lua, ShellSweepX puede desplegarse en varios entornos.

Si bien ShellSweepX no reemplaza una solución EDR completa, sirve como una herramienta especializada y potente en tu arsenal de seguridad, particularmente para entornos donde los web shells representan una amenaza significativa.

Comparación de características

ShellScan

ShellScan proporciona la capacidad de escanear múltiples directorios conocidos de web shells maliciosos y generar los valores promedio, mediana, mínimo y máximo de entropía por extensión de archivo.

Pásale a ShellScan.ps1 algunos directorios de web shells, de cualquier tamaño. Yo usé:

  • https://github.com/tennc/web shell
  • https://github.com/BlackArch/web shells
  • https://github.com/tarwich/jackal/blob/master/libraries/

Esto dará un conjunto de entrenamiento decente para obtener valores de entropía.

Ejemplo de salida:

root@kitploit:~
Estadísticas para archivos .aspx:
Entropía promedio: 4.94212121048115
Entropía mínima: 1.29348709979974
Entropía máxima: 6.09830238020383
Entropía mediana: 4.85437969842084
Estadísticas para archivos .asp:
Entropía promedio: 5.51268104400858
Entropía mínima: 0.732406213077191
Entropía máxima: 7.69241278153711
Entropía mediana: 5.57351177724806

ShellCSV

Primero, analicemos el uso de ShellCSV y cómo ayuda a identificar la entropía de los archivos buenos en el disco. La idea es que los defensores puedan ejecutarlo en servidores web para recopilar todos los archivos y valores de entropía, y así comprender mejor qué rutas y extensiones son más prominentes en su entorno de trabajo.

Consulta ShellCSV.csv como ejemplo de salida.

ShellSweep

Blog: Ghost in the Web Shell: Introducing ShellSweep

Primero, elige tu sabor: Python, PowerShell o Lua.

  • Basado en los resultados de ShellScan o ShellCSV, modifica los valores de entropía según sea necesario.
  • Modifica las extensiones de archivo según sea necesario. No es necesario buscar ASPX en una aplicación que no es ASPX.
  • Modifica las rutas. No recomiendo escanear todo C:, hay mucho que filtrar.
  • Modifica los filtros necesarios.
  • ¡Ejecútalo!

Si has llegado hasta aquí, esta es la parte donde iteras en la afinación. ¿Encontraste un nuevo shell? Reúne la entropía y modifica según sea necesario.

ShellSweepPlus

Blog: Introducing ShellSweepPlus: Open-Source Web Shell Detection

ShellSweepPlus es un script avanzado de PowerShell diseñado para detectar y analizar posibles web shells en entornos web. Se basa en la funcionalidad principal de ShellSweep, ofreciendo características mejoradas y capacidades de detección.

Características clave:

  1. Escaneos dinámicos: Parámetros de escaneo personalizables que incluyen rutas de directorio, exclusiones e ignorar hash.
  2. Umbrales de entropía de precisión: Utiliza una hashtable anidada sofisticada para umbrales de entropía adaptados a varias extensiones de archivo.
  3. Detección multicapa: Integra métodos de detección basados en 'entropía', 'desviación estándar', 'modo mixto' y 'heurístico' con pesos dinámicos.
  4. Análisis estático de código avanzado: Emplea una extensa lista de patrones sospechosos para una detección profunda.
  5. Análisis de entropía: Calcula y analiza la entropía del contenido del archivo para identificar contenido malicioso potencialmente ofuscado o cifrado.
  6. Presentación detallada de resultados: Muestra amenazas potenciales en un formato JSON estructurado para facilitar el análisis y la interpretación.
  7. Registro completo: Incluye registro verboso para obtener información detallada sobre las operaciones del script.
  8. Análisis heurístico: Implementa detección basada en heurísticas para identificar anomalías y posibles web shells de día cero.

Uso:

  1. Especifica los directorios a escanear en la variable $DirectoryPaths.
  2. Personaliza $suspiciousPatterns según sea necesario para tu entorno.
  3. Usa $excludePaths para omitir directorios específicos.
  4. Utiliza $ignoreHashes o $ignoreHashesFilePath para excluir archivos conocidos como seguros.
  5. Ejecuta el script en PowerShell 5.1 o posterior.

Ejemplo de salida:

root@kitploit:~
{
"TotalFilesScanned": 1000,
"Potential web shells": 5,
"ScanDuration": "00:05:30"
}

ShellSweepPlus proporciona una solución potente y flexible para la detección de web shells, combinando múltiples técnicas de análisis para mejorar la precisión y detectar incluso amenazas sofisticadas.

Preguntas

No dudes en abrir un issue en Git o consultar la Wiki.

Agradecimientos

Si disfrutaste este proyecto, asegúrate de darle estrella y compartirlo con tu familia y amigos.

Descargar herramienta
Característica/AspectoShellSweepShellSweepPlusShellSweepX
Detección de línea baseUtiliza valores de entropía fijos para extensiones de archivo específicasDetección dinámica de línea base que calcula la entropía sobre la marchaUtiliza una combinación de detección basada en entropía y predicción de aprendizaje automático
Extensiones de archivoProcesa archivos con extensiones: .asp, .aspx, .asax, .jspx, .html, .ashxProcesa archivos con extensiones: .asp, .ashx, .asax, .jspx, .html, .aspxExtensiones de archivo configurables a través de API
Cálculo de entropíaCalcula la entropía del contenido del archivo para detectar posibles web shellsDetección mejorada basada en entropía, cruzando referencias con palabras clave sospechosasCálculo avanzado de entropía con análisis basado en fragmentos
Función de exclusiónPuede excluir ciertos directorios del escaneoPuede excluir ciertos directorios del escaneoExclusiones configurables a través de API
Ignorar hashIgnora archivos con hashes específicosIgnora archivos con hashes específicosIgnorar hash configurable a través de API
SalidaSi se encuentran posibles web shells, muestra nombre de archivo, valor de entropía y hash. De lo contrario, imprime "No se identificó maldad hoy."Si se encuentran posibles web shells, muestra el nombre de archivo, valor de entropía, hash, fecha de última modificación, método de detección y puntuación de confianza en formato JSON. De lo contrario, imprime "No se detectaron posibles web shells."Salida JSON detallada que incluye metadatos del archivo, entropía, resultados de predicción y coincidencias de YARA
Entropía y desviación estándarUtiliza valores de entropíaCalcula la media y la desviación estándar de los valores de entropía para cada extensión de archivoCalcula tanto la entropía como la desviación estándar para un análisis avanzado
Detección en modo mixtoNo presenteUtiliza una combinación de detección basada en entropía, detección basada en desviación estándar y detección en modo mixto (utilizando desviación estándar con umbrales fijos)Combina detección basada en entropía, predicción de aprendizaje automático y coincidencia de reglas YARA
Análisis estático de códigoNo presenteMecanismo de detección basado en patrones que analiza el código estáticamente para identificar y marcar patrones maliciosos conocidosUtiliza reglas YARA para la detección basada en patrones
Análisis heurísticoNo presenteIntroduce la función Perform-HeuristicAnalysis para detectar anomalías basadas en reglas heurísticas, mejorando la detección de web shells de día ceroImplementa predicción basada en aprendizaje automático para el análisis heurístico
Presentación detallada de resultadosNo presentePresenta amenazas potenciales en un formato JSON estructurado, incluyendo ruta del archivo, entropía, desviación estándar, hash, fecha de última modificación, método de detección y puntuación de confianzaProporciona resultados completos incluyendo todos los métodos de análisis en un formato JSON estructurado
Registro completoNo presenteIncorpora comandos Write-Verbose a lo largo del script para un registro detallado y transparencia operativaImplementa registro verboso a lo largo de los componentes del agente y del servidor
Puntuación de confianzaNo presenteCalcula una puntuación de confianza basada en el método de detección y la ajusta según la presencia de patrones sospechososUtiliza la confianza de la predicción del aprendizaje automático y la combina con otros métodos de detección para obtener una puntuación integral
Diseño modularNo presenteUtiliza funciones separadas para diferentes tareas (ej. Process-File, Create-ResultObject, Adjust-ConfidenceScore), promoviendo la reutilización y mantenibilidad del códigoDiseño altamente modular con componentes separados para el agente, el servidor y las funciones de análisis
Compatibilidad multiplataformaSolo PowerShellSolo PowerShellSoporta implementaciones en PowerShell, Python y Bash
Integración APINo presenteNo presenteAPI completa para configuración, envío de resultados y gestión
Análisis impulsado por IANo presenteNo presenteIncorpora capacidades de triaje y análisis basadas en IA
Gestión de reglas YARANo presenteNo presentePermite agregar, actualizar y eliminar reglas YARA a través de API
Interfaz webNo presenteNo presenteProporciona una interfaz web para la visualización y análisis de resultados