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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Trawler — Script de PowerShell que ayuda a los respondedores de incidentes a descubrir posibles mecanismos de persistencia del adversario. | Kitploit
Herramientas/GitHubGitHub/joeavanzato/trawler
Herramientas DefensivasMecanismos de PersistenciaAnálisis ForenseForensia DigitalRespuesta a Incidentes
GitHubjoeavanzato/trawler

Trawler

Script de PowerShell que ayuda a los respondedores de incidentes a descubrir posibles mecanismos de persistencia del adversario.

Ver Repositorio
3403815hace 1 añoRevisado 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

Dragado de Windows para Persistencia

¿Qué es?

Trawler es un script de PowerShell diseñado para ayudar a los respondedores de incidentes a descubrir posibles indicadores de compromiso en hosts Windows, centrado principalmente en mecanismos de persistencia que incluyen tareas programadas, servicios, modificaciones del registro, elementos de inicio, modificaciones binarias y más.

Actualmente, Trawler puede detectar la mayoría de las técnicas de persistencia señaladas específicamente por MITRE y Atomic Red Team, y se agregan nuevas detecciones de forma regular.

Características principales

  • Escaneo del sistema operativo Windows para una variedad de técnicas de persistencia (enumeradas a continuación)
  • Salida CSV con técnica MITRE y metadatos de inicio de investigación
  • Documentación de guía de análisis y remediación (https://github.com/joeavanzato/Trawler/wiki/Analysis-and-Remediation-Guidance)
  • Asignación dinámica de riesgo para cada detección
  • Listas de permitidos integradas para configuraciones comunes de Windows que abarcan Windows 10/Server 2012|2016|2019|2022 para reducir el ruido
  • Captura de metadatos de persistencia desde una imagen empresarial 'golden' (instantánea) para su uso como lista de permitidos dinámica en tiempo de ejecución
  • Análisis de imágenes de disco montadas mediante redireccionamiento de unidad

¿Cómo lo uso?

Simplemente descargue y ejecute trawler.ps1 desde un símbolo de sistema de PowerShell/cmd administrativo: cualquier detección se mostrará en la consola y también se escribirá en un CSV ('detections.csv') en el directorio de trabajo actual. El CSV generado contendrá Nombre de detección, Origen, Riesgo, Metadatos y la técnica MITRE correspondiente.

O use esta línea única desde un terminal PowerShell administrativo:

iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/joeavanzato/Trawler/main/trawler.ps1'))

Ciertas detecciones tienen listas de permitidos integradas para ayudar a eliminar el ruido de las configuraciones predeterminadas de Windows (10/2016/2019/2022): tareas programadas, servicios, etc. esperados. Por supuesto, siempre es posible que los atacantes secuestren estos directamente y se hagan pasar con gran detalle como un proceso predeterminado del sistema operativo: tenga cuidado de utilizar múltiples formas de análisis y detección al tratar con adversarios hábiles.

Si tiene ejemplos o ideas para detecciones adicionales, no dude en enviar un Issue o PR con detalles técnicos/referencias relevantes; la base de código está un poco desordenada en este momento y se limpiará con el tiempo.

Además, si identifica falsos positivos obvios, hágamelo saber abriendo un issue o PR en GitHub. Los culpables obvios serán COM, Servicios o Tareas no estándar.

Parámetros de CLI

-scanoptions : Navegue con tabulador entre las detecciones posibles y seleccione un subconjunto usando términos separados por comas (ej. .\trawler.ps1 -scanoptions Services,Processes) o omita para hacer todas las detecciones.
-quiet : Suprime la salida de detecciones en la consola.
-snapshot : Ruta a una salida JSON anterior de Trawler para usar como lista de permitidos.
-outpath : Define una ruta de archivo personalizada para guardar la salida de detecciones (por defecto: "$PSScriptRoot\detections.csv").
-drivetarget : Define la variable para una unidad de destino montada (ej. .\trawler.ps1 -targetdrive "D:") (por defecto: sistema local).
-daysago : Define cuántos 'días atrás' considerar para las detecciones basadas en tiempo (por defecto: 45).
-hashmode : Define qué algoritmo hash usar para las detecciones compatibles: soporta sha1, md5 o sha256 (por defecto: sha1).
-evtx : Habilita la creación de un origen de registro de eventos y la escritura de detecciones en el registro de eventos de Aplicación bajo Source=trawler con EID=9001 (por defecto desactivado).

¿Qué diferencia esto de PersistenceSniper?

PersistenceSniper es una herramienta increíble: la he usado mucho en el pasado, pero hay algunos puntos clave que diferencian estas utilidades:

  • Trawler es (actualmente) una utilidad local; aunque sería bastante sencillo envolverlo en un bucle y usar sesiones de WinRM/PowerShell para ejecutarlo en hosts remotos.
  • Trawler implementa listas de permitidos para muchas detecciones 'ruidosas' para ayudar a eliminar detecciones esperadas de configuraciones predeterminadas de Windows (10/2016/2019/2022) y se actualizan constantemente (PS también hace esto).
    • PersistenceSniper (en su mayoría) no contiene ningún tipo de lista de permitidos; por lo tanto, hay más ruido al considerar elementos como servicios, tareas programadas, escaneo general de DLL COM, etc.
  • La salida de Trawler es simplificada: Nombre, Riesgo, Origen, Técnica MITRE y Metadatos son los únicos elementos proporcionados para cada detección para ayudar a los analistas a iniciar sus esfuerzos de búsqueda de persistencia; esto es un arma de doble filo.
  • Se usa Regex en muchas comprobaciones para ayudar a detectar palabras clave o patrones 'sospechosos' en varias áreas críticas, incluido el contenido de archivos escaneados, valores de registro, etc. Esto proporciona un poco más de flexibilidad pero también una tasa potencialmente mayor de falsos positivos.
  • Trawler admite 'redireccionamiento de unidad' para verificar cajas muertas montadas en una máquina de análisis.

En general, estas herramientas son extremadamente similares pero abordan el problema desde ángulos ligeramente diferentes: PersistenceSniper devuelve toda la información al analista para su revisión, mientras que Trawler intenta limitar lo que se devuelve solo a resultados que probablemente sean mecanismos de persistencia de adversarios potenciales. Como tal, existe la posibilidad de falsos negativos con Trawler si un adversario imita completamente un elemento de la lista de permitidos.

Como ejemplo: PersistenceSniper devolverá todos los servicios de Windows 'no seguros', mientras que Trawler solo devolverá aquellos que coincidan con una regla de detección específica, etc.

Ajuste a su entorno

Trawler admite cargar una lista de permitidos a partir de una 'instantánea' (snapshot). Para ello se requieren dos pasos.

  1. Ejecute '.\trawler.ps1 -snapshot' en una "Imagen Golden" que represente los servidores de su entorno; una vez completado, además del 'detections.csv' estándar, se generará un archivo llamado 'snapshots.csv'.
  2. Este archivo se puede usar como entrada para Trawler cuando se ejecuta en otros hosts y los datos se cargarán dinámicamente como una lista de permitidos para cada detección apropiada.
    1. '.\trawler.ps1' -loadsnapshot "ruta\a\snapshot.csv"

Eso es todo: todas las detecciones relevantes se basarán en el archivo de instantánea como lista de permitidos para reducir el ruido e identificar cualquier cambio potencial en la imagen base que pueda haber ocurrido.

(La lista de permitidos está implementada para la mayoría de las comprobaciones, pero no para todas; todavía se está implementando activamente)

Redireccionamiento de unidad

A menudo, durante una investigación, los analistas pueden terminar montando una nueva unidad que representa un dispositivo Windows con imagen. Trawler ahora admite parcialmente el escaneo de estas unidades montadas mediante el parámetro '-drivetarget'.

En tiempo de ejecución, Trawler redirigirá las variables temporales a nivel de script para usarlas en la comprobación de artefactos basados en archivos y también intentará cargar las colmenas de registro relevantes (HKLM\SOFTWARE, HKLM\SYSTEM, NTUSER.DAT, USRCLASS.DAT) debajo de HKLM/HKU con el prefijo 'ANALYSIS_'. Trawler también intentará descargar estas colmenas cargadas temporalmente al finalizar el script.

Descargar herramienta