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
AzureHunter — Un módulo de PowerShell para forense en la nube que ejecuta playbooks de caza de amenazas en datos de Azure y O365 | Kitploit
Herramientas/GitHubGitHub/darkquasar/azurehunter
Recopilación de InformaciónForensia DigitalSeguridad en la NubeInteligencia de AmenazasRespuesta a IncidentesAnálisis de Registros
GitHubdarkquasar/azurehunter

AzureHunter

Un módulo de PowerShell para forense en la nube que ejecuta playbooks de caza de amenazas en datos de Azure y O365

Ver Repositorio
79584hace 3 añosRevisado 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

azurehunter-logo

Un módulo de PowerShell para ejecutar playbooks de caza de amenazas sobre datos de Azure y O365 con fines de Forense en la Nube.

ko-fi

CI PS Gallery Coverage Status Documentation Status azurehunter-demo-gif

Comenzando

1. Verifique que tiene los permisos correctos de O365

Los siguientes roles son necesarios en Exchange Online para poder tener acceso de solo lectura al UnifiedAuditLog: View-Only Audit Logs o Audit Logs.

Estos roles se asignan por defecto al grupo de roles Compliance Management en el Centro de Administración de Exchange.

NOTA: si usted es un analista de seguridad, respondedor de incidentes o cazador de amenazas y su organización NO le está dando acceso de solo lectura a estos registros de auditoría, debe cuestionarse seriamente cuál es su estrategia de detección y respuesta.

Más información:

  • Cómo buscar en el Registro de Auditoría usando la GUI
  • Administrar grupos de roles en Exchange Online
  • Cómo habilitar el UnifiedAuditLog

NOTA: su administrador puede verificar estos requisitos ejecutando Get-ManagementRoleEntry "*\Search-UnifiedAuditLog" en el shell de la nube de su tenencia de Azure o en una instancia local de PowerShell conectada a Azure.

2. Asegúrese de tener instalado el módulo ExchangeOnlineManagement v2 de PowerShell

Asegúrese de tener ExchangeOnlineManagement (EXOv2) instalado. Puede encontrar instrucciones en la web o ir directamente a mi pequeña base de conocimiento sobre cómo hacerlo en the soc analyst scrolls

3. Clone el Repositorio o Instale AzureHunter desde la PSGallery

3.1 Clonando el Repositorio

  1. Clone este repositorio
  2. Importe el módulo Import-Module .\source\AzureHunter.psd1

3.2 Instalar AzureHunter desde la PSGallery

Todo lo que necesita hacer es:

root@kitploit:~
Install-Module AzureHunter -Scope CurrentUser
Import-Module AzureHunter

¿Qué es el UnifiedAuditLog?

El registro de auditoría unificado contiene actividades de usuarios, grupos, aplicaciones, dominios y directorios realizadas en el centro de administración de Microsoft 365 o en el portal de administración de Azure. Para ver una lista completa de eventos de Azure AD, consulte la lista de RecordTypes.

El UnifiedAuditLog es una gran fuente de información forense en la nube, ya que contiene una gran cantidad de datos sobre múltiples tipos de operaciones en la nube como ExchangeItems, SharePoint, Azure AD, OneDrive, Gobierno de Datos, Prevención de Pérdida de Datos, Alertas de Windows Defender y eventos de Cuarentena, eventos de Inteligencia de Amenazas en Microsoft Defender para Office 365, ¡y la lista continúa!

Comprobaciones de Consistencia de Datos de AzureHunter

AzureHunter implementa una lógica útil para asegurar que se extraiga y exporte la mayor densidad de registros de los Registros de Auditoría de Azure y O365. Para ello, ejecutamos dos operaciones diferentes por cada ciclo (lote):

  1. Reducción Automática de la Ventana de Tiempo: esta comprobación asegura que el intervalo de tiempo se reduce al intervalo óptimo basado en el parámetro ResultSizeUpperThreshold que por defecto es 20k. Esto significa que si la cantidad de registros devueltos dentro de su TimeInterval designado es mayor que ResultSizeUpperThreshold, se realizará un ajuste automático.
  2. Comprobación Secuencial de Datos: ¿los Índices de Registro devueltos son secuencialmente válidos?

azurehunter-logical-consistency-checks

Uso

Asegúrese de conectarse a ExchangeOnline

Se recomienda ejecutar Connect-ExchangeOnline antes de ejecutar cualquier comando de AzureHunter. El programa verifica si hay una sesión remota activa e intenta conectarse, pero algunas versiones de PowerShell no lo permiten y debe hacerlo usted mismo de todas formas.

Ejecutar AzureHunter

AzureHunter tiene dos comandos principales: Search-AzureCloudUnifiedLog e Invoke-AzHunterPlaybook.

El propósito de Search-AzureCloudUnifiedLog es implementar una lógica compleja para asegurar que se extraiga el mayor porcentaje posible de registros de UnifiedAuditLog de Azure. Por defecto, exportará los registros extraídos y deduplicados a un archivo CSV.

El propósito de Invoke-AzHunterPlaybook es proporcionar una interfaz flexible para los playbooks de caza almacenados en la carpeta playbooks. Estos playbooks están diseñados para que cualquiera pueda contribuir con sus propios análisis e ideas. Hasta ahora, solo se han desarrollado dos playbooks muy simples: AzHunter.Playbook.Exporter y AzHunter.Playbook.LogonAnalyser. El Exporter se encarga de exportar registros después de aplicar operaciones de deduplicación y ordenación a los datos. El LogonAnalyser está en modo beta y extrae eventos donde la propiedad Operations es UserLoggedIn. Es un ejemplo de lo que se puede hacer con los playbooks y de lo fácil que es construir uno.

Al ejecutar Search-AzureCloudUnifiedLog, puede pasar una lista de playbooks para ejecutar por lote de registros. Search-AzureCloudUnifiedLog pasará el lote a los playbooks a través de Invoke-AzHunterPlaybook.

Finalmente, Invoke-AzHunterPlaybook se puede usar de forma independiente. Si tiene una exportación de registros de UnifiedAuditLog, puede cargarlos en un Array de PowerShell y pasarlos a este comando especificando los playbooks relevantes.

Ejemplo 1 | Ejecutar búsqueda en el UnifiedAuditLog de Azure y extraer registros a un archivo CSV (comportamiento por defecto)

root@kitploit:~
Search-AzureCloudUnifiedLog -StartDate "2020-03-06T10:00:00" -EndDate "2020-06-09T12:40:00" -TimeInterval 12 -AggregatedResultsFlushSize 5000 -Verbose

Este comando:

  • Buscará datos entre las fechas en StartDate y EndDate
  • Implementará una ventana de 12 horas entre estas fechas, que se utilizará para barrer toda la duración del intervalo de tiempo (StartDate --> EndDate). Esta ventana se reducirá y ajustará automáticamente para proporcionar la máxima cantidad de registros dentro de la ventana, asegurando así una mayor calidad de salida. La ventana de tiempo se desliza secuencialmente hasta alcanzar la EndDate.
  • El parámetro AggregatedResultsFlushSize especifica los lotes de registros que serán procesados por los playbooks posteriores. Estamos diciéndole a AzureHunter que procese el lote de registros una vez que la cantidad total alcance 5000. De esta manera, puede obtener resultados sobre la marcha, sin tener que esperar horas hasta que se exporte un gran intervalo de registros a archivos CSV.

Ejemplo 2 | Ejecutar Playbooks de Caza en un Archivo CSV

Suponiendo que ha exportado registros de UnifiedAuditLog a un archivo CSV, puede hacer:

root@kitploit:~
$RecordArray = Import-Csv .\my-exported-records.csv
Invoke-AzHunterPlaybook -Records $RecordArray -Playbooks 'AzHunter.Playbook.UAL.LogonAnalyser'

Puede ejecutar más de un playbook separándolos por comas, se ejecutarán secuencialmente:

root@kitploit:~
$RecordArray = Import-Csv .\my-exported-records.csv
Invoke-AzHunterPlaybook -Records $RecordArray -Playbooks 'AzHunter.Playbook.UAL.Exporter', 'AzHunter.Playbook.UAL.LogonAnalyser'

Ejemplo 3 | Ejecutar un Playbook de Caza para producir un Informe Resumen de eDiscovery limpio

Suponiendo que ha exportado un Informe Resumen de eDiscovery a un archivo CSV, puede hacer:

root@kitploit:~
$eDiscoReportFile = .\eDisco-Summary-Report-PersonOfInterest.csv
Invoke-AzHunterPlaybook -Records $eDiscoReportFile -Playbooks 'AzHunter.Playbook.eDisco.SummaryReportCleaner'

Opcionalmente, podemos pasar algunos parámetros al playbook de la siguiente manera:

root@kitploit:~
$eDiscoReportFile = .\eDisco-Summary-Report-PersonOfInterest.csv
Invoke-AzHunterPlaybook -Records $eDiscoReportFile -Playbooks 'AzHunter.Playbook.eDisco.SummaryReportCleaner' -PlayBookParameters @{"CsvRecordsBatchSize" = 700}

El parámetro "CsvRecordsBatchSize" le indicará al playbook que vacíe los registros al disco en lotes de 700 registros.

¿Por qué?

Desde las secuelas del Compromiso de la Cadena de Suministro de SolarWinds han surgido muchas herramientas de las profundas forjas de los ciberforenses, cuidadosamente desarrolladas por ninjas cibernéticos. Estas herramientas suelen ayudarle a realizar forense en la nube en Azure. Mi intención con AzureHunter no es añadir más ruido a este espacio ya saturado, sin embargo, me encontré en la necesidad de abordar algunas carencias que he observado en algunas de las herramientas del espacio (puede que me equivoque, ya que hay una proliferación de herramientas y no las conozco todas...):

  1. Las herramientas de forense en la nube de Azure no suelen abordar las complicaciones de la API de PowerShell para el UnifiedAuditLog. Esta API es muy inestable e inconsistente al exportar grandes cantidades de datos. Quería desarrollar una interfaz que sea tolerante a fallos (suficientemente) para abordar algunos de estos problemas, centrándome únicamente en el UnifiedAuditLog, ya que este es el artefacto de Azure que contiene los registros de actividad más relevantes y detallados para usuarios, aplicaciones y servicios.
  2. Las herramientas de forense en la nube de Azure no suelen poner énfasis en desarrollar Playbooks extensibles. Quería idear un marco simple que ayudara a la comunidad a crear y compartir nuevos playbooks para extraer diferentes tipos de significado de los mismos datos.

Si, sin embargo, está buscando una aplicación más rica en funciones y madura para Forense en la Nube de Azure, le sugiero que eche un vistazo al excelente trabajo realizado por los expertos en ciberseguridad que crearon las siguientes aplicaciones:

  • CISA's Sparrow
  • HAWK
  • CrowdStrike Reporting Tool for Azure CRT

Estoy seguro de que hay una lista más extensa de herramientas, pero estas son las que pude recordar. No dude en sugerir más.

¿Por qué PowerShell?

  1. No quería reinventar la rueda
  2. Sí, la interfaz de PowerShell para el UnifiedAuditLog de Azure es inestable, pero en términos de tiempo hasta la producción, me habría llevado una cantidad enorme de horas lograr lo mismo escribiendo una interfaz completamente nueva en lenguajes como .NET, Golang o Python para alcanzar los mismos objetivos. Mientras tanto, ¡el mundo de la Ciberdefensa y Respuesta no espera!

TODO

  • Especificar los atributos estándar de metadatos de los playbooks que deben estar presentes para que AzureHunter pueda aprovecharlos.
  • Permitir que los playbooks especifiquen dependencias de otros playbooks para que uno deba ejecutarse antes que el otro. El encadenamiento de playbooks podría producir resultados interesantes y evitar la duplicación de código.
  • Desarrollar pruebas Pester y resultados de Coveralls.
  • Desarrollar documentación en ReadTheDocs.
  • Permitir la especificación de playbooks en el estándar de reglas SIGMA (esto podría requerir alguna PR en el repositorio de SIGMA)

Más Información

Para más información

  • AzureHunter.readthedocs.io
  • github.com/darkquasar/AzureHunter
  • ThreatHunterz.com

Agradecimientos y Colaboradores

¡Gracias a todas las personas que apoyan este y otros proyectos de Código Abierto! Están ayudando a tipos como yo a caminar el camino del ciberguerrero y a entregar herramientas de calidad a la comunidad :)

Créditos

  • Icono hecho por itim2101 de www.flaticon.com
Descargar herramienta