
Herramienta extensible de triage de hosts para equipos rojos, que carga dinámicamente comprobaciones conscientes de OpSec para recopilar información de usuario, dominio, privilegios y credenciales desde endpoints Windows mediante execute-assembly.
Triaje de host extensible y configurable.
SitRep pretende proporcionar una alternativa ligera y extensible para el triaje de hosts. Las comprobaciones se cargan dinámicamente en tiempo de ejecución desde archivos independientes. Esto permite a los operadores modificar rápidamente las comprobaciones existentes o añadir nuevas según sea necesario.
Las comprobaciones se agrupan por categorías y pueden marcarse como OpSec seguras/inseguras. Las comprobaciones inseguras solo se cargan si se proporciona la bandera /AllowUnsafe.
Los resultados interesantes se resaltan con "[*]"
Las comprobaciones se separan en categorías. Esto permite mostrarlas en grupos adecuados. Actualmente están disponibles las siguientes comprobaciones:
Entorno
Defensas
Permisos
Software
Credenciales
Las siguientes comprobaciones están actualmente marcadas como no seguras para OpSec:
Debe revisar esta configuración y actualizar las etiquetas OpSec según sea necesario.
Todas las comprobaciones están habilitadas por defecto. Sin embargo, como las comprobaciones se cargan dinámicamente, es posible deshabilitarlas.
Deshabilitar una comprobación
CheckBase incluye una propiedad booleana "Enabled", que por defecto es true. Esto se puede establecer en la clase derivada añadiendo un constructor. El siguiente ejemplo deshabilita la comprobación CurrentUser (CurrentUser.cs):
public CurrentUser()
{
base.Enabled = false;
}
Excluir comprobaciones de la compilación
Como las comprobaciones se cargan dinámicamente, es posible excluir una comprobación de la compilación sin otras modificaciones. La forma más sencilla de hacerlo es hacer clic derecho sobre la clase de comprobación en Visual Studio y seleccionar "excluir del proyecto". La comprobación se puede volver a añadir seleccionando "incluir en el proyecto" desde el mismo menú contextual.
Este enfoque tiene la ventaja de eliminar el código del artefacto compilado.
Ejecutar todas las comprobaciones
SitRep.exe /AllowUnsafe
Ejecutar solo comprobaciones OpSec seguras (por defecto)
SitRep.exe
SitRep está diseñado para ejecutarse mediante execute-assembly (o equivalente)

Las comprobaciones heredan de CheckBase e implementan la interfaz ICheck. Esto impone los patrones necesarios para la carga dinámica de comprobaciones. Se pueden añadir otros métodos y clases según sea necesario.
La interfaz ICheck expone las siguientes propiedades y métodos:
Las clases derivadas deben sobrescribir el método "ToString()" definido en CheckBase. Este método se llama al mostrar la salida de cada comprobación.
El acceso a métodos nativos se proporciona mediante clases en la carpeta "NativeMethods". Cada clase recibe el nombre de la dll con la que interactúa.
Las comprobaciones son responsables de proporcionar su propio manejo de errores. Las comprobaciones actuales envuelven todo el método "check" en un bloque try-catch; se recomienda el uso de este patrón.
A continuación se muestra un ejemplo de comprobación vacía:
using SitRep.Interfaces;
using System;
namespace SitRep.Checks.Software
{
class ExampleCheck : CheckBase, ICheck
{
public bool IsOpsecSafe => true;
public int DisplayOrder => 1;
public Enums.Enums.CheckType CheckType => Enums.Enums.CheckType.Credential;
public void Check()
{
try
{
throw new NotImplementedException();
}
catch
{
Message = "Check failed [*]";
}
}
public override string ToString()
{
throw new NotImplementedException();
}
}
}
Las PR son bienvenidas. Asegúrese de que las comprobaciones sean independientes (es decir, que no dependan de la salida de otras comprobaciones). En la medida de lo posible, las comprobaciones deben ser autocontenidas, con todo el código de un solo uso presente dentro de la clase de comprobación.
¿Alguna vez ha intentado simular un endpoint Windows unido a un dominio? Por eso.
SitRep utiliza código de Seatbelt, SharpUp y publicaciones aleatorias de StackOverflow. Se han añadido los créditos correspondientes.