PowerTriage - Powershell Triage Tool

PowerTriage - PowerShell Triage Tool Es un script escrito en PowerShell que nos permite realizar una adquisición de evidencias en tareas de DFIR - Digital Forensics & Incident Response.

Una de las pegas principales, y desde mi punto de vista, de los que nos dedicamos a esto del DFIR, es la de poder realizar una adquisición de evidencias lo más rápido posible, cuando nos encontramos frente a un incidente (de ahí lo de Incident Response). El escenario ideal seria poder tener instalado, en el host/s implicado en el incidente, algún tipo de agente que nos permitiera hacer dicha recolección, pero bien sabemos que eso de instalar agentes.....

Supongamos el siguiente escenario:

Por mediación de cualquiera de los mecanismos que tenemos disponible se ha detectado una amenaza, una de las pautas principales como medida de contención es aislar el equipo para evitar propagación (en caso de afectación de malware), movimientos laterales (en caso de intrusión detectada en el sistema), etc....

Ahora bien, con el equipo aislado necesitamos obtener evidencias para realizar nuestro trabajo como analistas de DFIR.

Nuestra primera reacción como analistas de DFIR es la de realizar un Triage rápido en el sistema para traernos artifacts a analizar, pero.... párate! El sistema está aislado y no podemos usar ninguna de nuestras herramientas favoritas para ello :(

Es justo en estos escenarios, más comunes de lo habitual, donde me plantee la necesidad de poder realizar dicha adquisición, y de ahí nace PowerTriage.

Prácticamente todos los EDR/XDR actuales tienen la funcionalidad de aislar un sistema y de ejecutar comandos remotos sobre host, y... ¿por qué no disponer de un script nativo de powershell para la adquisición de evidencias?

El script, actualmente en esta primera versión, recolecta los siguientes elementos:

  • Activities Cache (All users)
  • Event Logs (Application, Security, System, PowerShell Operational, TaskScheduler Operational, Sysmon Operational, WMI Activity Operational, NTLM Operational)
  • PowerShell Command History (All users)
  • Prefetch
  • Process Information (Process List, Process Tree, Unique Process Hash)
  • Recent Items (All users)
  • Recycle Bin (All users)
  • Schedule Task (Schedule Task List, Schedule Task Run Info)
  • Active Users
  • Autoruns
  • DNS Cache
  • Ip information (All interfaces)
  • Local Users
  • Services Running
  • Shadow Copies List
  • TCP Stablished Connections



Una vez que ha terminado su ejecución, el directorio de salida que tendrá como nombre PowerTriage-hostname-fecha_hora y por defecto es ubicado en C:\ será comprimido en zip para poder adquirirlo de forma remota.

El script lo tenéis disponible en mi github:


PD: sigo trabajando en el script para ir añadiéndole nuevas funcionalidades y adquisición de elementos, una de las tareas pendientes actualmente es la de poder adquirir los hive.





Publicar un comentario

0 Comentarios