Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
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
Herramientas/GitHubGitHub/invictus-ir/alfa
Análisis ForenseForensia DigitalSeguridad en la NubeInteligencia de AmenazasRespuesta a IncidentesAnálisis de Registros
GitHubinvictus-ir/alfa

ALFA

Herramienta automatizada de análisis forense para registros de auditoría de Google Workspace. Adquiere todos los tipos de registro, mapea eventos al marco MITRE ATT&CK Cloud e identifica cadenas de ataque mediante puntuación estadística.

Ver Repositorio
1832915hace 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

ALFA

Análisis Forense Automatizado de Registros de Auditoría para Google Workspace

Copyright (c) 2026 Invictus Incident Response
Autores originales Greg Charitonos & BertJanCyber mantenido por Invictus Incident Response

Antes de empezar

Nota sobre sistemas operativos compatibles: ALFA ha sido probado en varias distribuciones de Linux (Debian y Ubuntu).
Aunque es posible usarlo en Windows o macOS, los resultados pueden variar, así que proceda bajo su propio riesgo.

Instalación

  1. Descargue este proyecto
  2. Navegue a la carpeta en su terminal y ejecute sudo pip install -e . o sudo pip3 install -e .

Instalación en macOS

  1. Instale Python 3.9 usando pyenv ALFA funciona mejor con Python 3.9. Puede usar pyenv para gestionar e instalar esta versión.

    • Si aún no ha instalado pyenv, puede hacerlo usando Homebrew:
      brew install pyenv
      
    • Configure pyenv en su shell añadiendo lo siguiente a su archivo de configuración (por ejemplo, ~/.zshrc o ~/.bashrc):
      export PYENV_ROOT="$HOME/.pyenv"
      export PATH="$PYENV_ROOT/bin:$PATH"
      eval "$(pyenv init --path)"
      
      Después de actualizar el archivo, recargue su shell:
      source ~/.zshrc  # or source ~/.bashrc
      
    • Instale Python 3.9 usando pyenv:
      pyenv install 3.9
      
    • Establezca Python 3.9 como la versión actual:
      pyenv global 3.9
      
      o solo para la sesión actual:
     pyenv shell 3.9
    
  2. (Opcional) Crear un Entorno Virtual Es una buena práctica ejecutar proyectos en un entorno virtual para mantener las dependencias aisladas. Usando la versión 3.9 de Python que acaba de configurar, cree un entorno virtual:

    python -m venv alfa
    
    • Active el entorno virtual:
      source alfa/bin/activate
      
  3. Instale ALFA Dentro de la carpeta donde se encuentra el proyecto ALFA, instálelo usando pip:

    pip install -e .
    

    Si no está usando un entorno virtual, puede necesitar sudo:

    sudo pip install -e .
    
  4. Verifique la instalación Después de la instalación, puede verificar que ALFA está instalado intentando ejecutar su herramienta de línea de comandos alfa.

Usando ALFA

NOTA: Para obtener credentials.json, consulte CREDENTIALS.md

Configuración

  1. El primer paso es inicializar ALFA, ejecute alfa init projectname este comando creará un nuevo directorio para almacenar su configuración y datos. P.ej. alfa init project_x
  2. Ahora se ha generado un nuevo proyecto llamado 'project_x'. Dentro de esa carpeta, copie su credentials.json en la carpeta config/. **(Consulte CREDENTIALS.md) para obtener instrucciones. **
  3. Después de haber copiado el archivo credentials.json, está listo para usar ALFA.

ALFA tiene 3 opciones como se explica a continuación:

1. ALFA Acquire

Adquirir todos los registros de auditoría de Google Workspace

  1. Desde dentro de "project_x" (o el nombre que haya elegido antes) ejecute alfa acquire
  2. ALFA ahora obtendrá todos los tipos de registro para todos los usuarios y los guardará en un subdirectorio dentro de la carpeta 'data'. Se generará un archivo .json por tipo de registro.
  3. Para ver qué otras opciones tiene, escriba alfa acquire -h

Adquisiciones avanzadas con ALFA

Puede hacer todo tipo de filtrado para limitar los datos que está adquiriendo. Algunos ejemplos a continuación:

  • Solo obtener el tipo de registro 'admin' alfa acquire --logtype=admin
  • Guardar la salida en una carpeta específica alfa acquire -d /tmp/project_secret
  • Solo obtener registros para un usuario específico alfa acquire --user=insert_username
  • Obtener registros dentro de un período de tiempo definido alfa acquire --start-time=2022-07-10T10:00:00Z --end-time=2022-07-11T14:26:01Z el formato de hora es (RFC3339)

Ahora ya sabe cómo adquirir datos. ¡Es hora de algunas cosas interesantes para desatar el poder de ALFA.

2. ALFA Analyze

La función de análisis analiza automáticamente todos los datos de registros de auditoría de un Google Workspace dado para identificar actividad sospechosa.

Cómo funciona

  1. Categorización Cada evento individual se categoriza basándose en un mapeo que se realiza en alfa/config/event_to_mitre.yml. Si un evento coincide con esa lista, se mapea a una técnica que forma parte del MITRE ATT&CK Cloud Framework (https://attack.mitre.org/matrices/enterprise/cloud/).

  2. Puntuación A continuación, ALFA analizará todos los eventos mapeados en orden cronológico para intentar identificar cadenas de eliminación o rutas de ataque lógicas. P.ej., un evento que se mapea a la fase de Persistencia seguido de un evento que se mapea a la fase de Acceso a Credenciales resultará en una puntuación más alta.

  3. Resultado Finalmente, ALFA le dará al analista una lista de 'subcadenas' identificadas que pueden ser analizadas más a fondo.

¿Cómo usar ALFA analyze?

  1. Primero ejecute alfa analyze que identificará automáticamente (o no si no se encontró ninguna). También le llevará a un shell donde puede realizar actividades de seguimiento.
  2. Para obtener más información sobre una subcadena dada, simplemente puede ejecutar A.subchains() que le mostrará la cadena usando el siguiente formato (número_del_primer_evento_en_la_cadena, número_del_último_evento_en_la_cadena, puntuación_de_cadena_de_eliminación). Donde una puntuación de 1 significa que se identificó una cadena perfecta, y cuanto más se acerque a 0, más débil es la cadena.
  3. Para acceder a los eventos sospechosos que causaron esta cadena, use A.aoi(export='activities.json') para exportar todas las subcadenas identificadas a un archivo, que luego puede usar para análisis posteriores.

3. ALFA Load

Cargar datos desde almacenamiento local

Desde almacenamiento local

Use A = Alfa.load([logname]) para cargar y analizar registros desde almacenamiento local. Use A = Alfa.load('all') para cargar todos los registros. ALFA filtra las actividades benignas de forma predeterminada. Para cargar todas las actividades y eventos, sin filtrar, use Alfa.load([logname], filter=False).

Realizando cambios

Agregando nuevos mapeos de eventos.

Es posible editar el archivo config/event_to_mitre.yml directamente, pero no es recomendable. La disposición de este archivo no es intuitiva. En su lugar, considere hacer modificaciones en utils/mappings.yml. Luego, vuelva a poblar config/event_to_mitre.yml ejecutando utils/event_mitre_remap.py

Modificando métodos de detección de cadenas de eliminación

La función de detección de cadenas de eliminación utiliza constantes codificadas. Estas se pueden encontrar en config/config.yml. Se recomienda a los analistas forenses revisar los valores y hacer modificaciones para su espacio de trabajo según sea necesario. Estas constantes son responsables tanto de la estadística de cadena de eliminación (kcs) como de la detección de cadenas de eliminación (subcadenas).

Preguntas frecuentes

¿Quiere saber más sobre las estadísticas y el algoritmo utilizado para ALFA? Escribimos una publicación de blog al respecto aquí (https://medium.com/@invictus-ir/automated-forensic-analysis-of-google-workspace-859ed50c5c92)

Errores conocidos

ValueError: missing config/credentials.json

Debe agregar un archivo credentials.json a la carpeta del proyecto en el subdirectorio 'config'. Instrucciones en el archivo 'CREDENTIALS.md'.

Descargar herramienta