El módulo SAL-BOF (Situational Awareness — Local) proporciona comandos para recopilar información del sistema local donde se ejecuta el agente. Estos comandos son los primeros que deberías ejecutar tras obtener acceso a una máquina para comprender el entorno antes de tomar cualquier otra acción.

Agentes compatibles: Beacon, Gopher, Kharon (Windows)


arp

Muestra la tabla ARP del sistema, revelando las direcciones MAC e IP de los hosts con los que la máquina ha interactuado recientemente.

arp

Cuándo usarlo: Para identificar hosts vecinos en la red local. Útil para descubrir servidores, puertas de enlace y otros dispositivos sin generar tráfico de escaneo activo.


cacls

Muestra las listas de control de acceso (ACL) de un archivo o directorio.

cacls C:\Users\Administrator\Documents
cacls C:\Windows\System32\config\SAM
ArgumentoRequeridoDescripción
filepathRuta completa al archivo o directorio

Cuándo usarlo: Para verificar permisos antes de intentar acceder, modificar o exfiltrar archivos sensibles. También para buscar configuraciones débiles de permisos que permitan escalada de privilegios.


dir

Lista el contenido de un directorio.

dir C:\Users
dir C:\inetpub\wwwroot --subdirs
ArgumentoRequeridoDescripción
dirpathRuta del directorio a listar
--subdirsNoListar recursivamente los subdirectorios

Cuándo usarlo: Para explorar el sistema de archivos del objetivo. Con --subdirs puedes buscar archivos de interés en toda una estructura de directorios (configuraciones, scripts, documentos sensibles).


env

Lista todas las variables de entorno del sistema y del usuario actual.

env

Cuándo usarlo: Para descubrir información valiosa como rutas de aplicaciones, nombres de dominio, servidores proxy, variables de bases de datos, tokens o claves API que frecuentemente se almacenan en variables de entorno.


ipconfig

Muestra la configuración de red de todas las interfaces.

ipconfig

Cuándo usarlo: Para identificar las interfaces de red, direcciones IP, máscaras de subred, puertas de enlace y servidores DNS del sistema. Esencial para planificar movimiento lateral y entender la topología de red.


listdns

Lista la caché DNS del sistema.

listdns

Cuándo usarlo: La caché DNS revela los nombres de host que la máquina ha resuelto recientemente, lo que proporciona inteligencia sobre los servicios y servidores con los que interactúa habitualmente, sin necesidad de realizar consultas DNS activas.


netstat

Muestra las conexiones de red activas, puertos en escucha y procesos asociados.

netstat

Cuándo usarlo: Para identificar servicios en ejecución, conexiones establecidas a otros servidores y puertos abiertos. Ayuda a descubrir servicios internos, conexiones a bases de datos y comunicaciones con otros sistemas de la red.


nslookup

Realiza consultas DNS para resolver nombres de host.

nslookup dc01.domain.local
nslookup mail.domain.local MX
nslookup intranet.corp A 10.0.0.1
ArgumentoRequeridoDescripción
hostnameNombre de host a resolver
typeNoTipo de registro: A, AAAA, CNAME, MX (por defecto: A)
serverNoServidor DNS específico a consultar

Cuándo usarlo: Para resolver nombres de servidores internos, localizar controladores de dominio, servidores de correo o servicios internos. Especificar un servidor DNS diferente permite descubrir registros que no están en la caché local.


privcheck

Realiza verificaciones de posibles vectores de escalada de privilegios locales. Este es uno de los comandos más importantes del módulo.

Ejecutar todas las comprobaciones

privcheck all

Comprobaciones individuales

alwayselevated

privcheck alwayselevated

Verifica si las claves de registro AlwaysInstallElevated están habilitadas tanto en HKLM como en HKCU. Si ambas están activas, cualquier paquete MSI se instalará con privilegios SYSTEM, permitiendo escalada inmediata.

autologon

privcheck autologon

Busca credenciales de inicio de sesión automático almacenadas en el registro (HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon). Estas credenciales se almacenan frecuentemente en texto claro.

credmanager

privcheck credmanager

Lista las credenciales almacenadas en el Administrador de Credenciales de Windows. Puede contener contraseñas de aplicaciones, sitios web y recursos de red.

hijackablepath

privcheck hijackablepath

Identifica directorios en la variable PATH del sistema que son escribibles por el usuario actual. Permite plantar DLLs maliciosas que serán cargadas por aplicaciones legítimas (DLL hijacking).

modautorun

privcheck modautorun

Busca entradas de inicio automático (registro Run/RunOnce, Startup folders) cuyos binarios o rutas sean modificables por el usuario actual. Permite persistencia o escalada al reemplazar el binario.

modsvc

privcheck modsvc

Identifica servicios de Windows cuyos binarios ejecutables son modificables por el usuario actual. Reemplazar el binario del servicio permite ejecutar código como SYSTEM cuando el servicio se reinicie.

tokenpriv

privcheck tokenpriv

Lista los privilegios de token del usuario actual, destacando privilegios peligrosos como:

  • SeImpersonatePrivilege — Permite ataques tipo Potato para obtener SYSTEM
  • SeAssignPrimaryTokenPrivilege — Permite asignar tokens a nuevos procesos
  • SeDebugPrivilege — Permite depurar cualquier proceso (acceso a LSASS)
  • SeBackupPrivilege — Permite leer cualquier archivo del sistema
  • SeRestorePrivilege — Permite escribir cualquier archivo del sistema
  • SeTakeOwnershipPrivilege — Permite tomar propiedad de cualquier objeto

unattendfiles

privcheck unattendfiles

Busca archivos unattend.xml, sysprep.xml y similares que pueden contener credenciales de instalación en texto claro o codificadas en Base64.

unquotedsvc

privcheck unquotedsvc

Detecta servicios con rutas de binario sin comillas que contienen espacios. Windows interpreta estos espacios como separadores de argumentos, permitiendo plantar un ejecutable en una ruta intermedia.

pshistory

privcheck pshistory

Lee el historial de comandos de PowerShell del usuario. Puede revelar credenciales, comandos de administración y operaciones sensibles ejecutadas previamente.

uacstatus

privcheck uacstatus

Muestra la configuración actual de UAC (User Account Control): nivel de notificación, filtrado de tokens de administrador y estado de la directiva. Permite evaluar si un bypass de UAC es viable.

vulndrivers

privcheck vulndrivers

Busca drivers vulnerables conocidos cargados en el sistema. Los drivers vulnerables pueden ser explotados para obtener ejecución de código en modo kernel (BYOVD — Bring Your Own Vulnerable Driver).

Cuándo usarlo: Ejecuta privcheck all inmediatamente después de obtener acceso como usuario no privilegiado. Los resultados guiarán tu estrategia de escalada de privilegios. Si ya eres administrador, igualmente es útil para identificar credenciales almacenadas y entender la postura de seguridad del sistema.


routeprint

Muestra la tabla de rutas del sistema.

routeprint

Cuándo usarlo: Para comprender la conectividad de red del sistema — qué subredes son alcanzables, a través de qué interfaces y puertas de enlace. Crítico para planificar pivoting y movimiento lateral.


uptime

Muestra el tiempo que lleva encendido el sistema.

uptime

Cuándo usarlo: Un uptime largo sugiere que la máquina no se reinicia frecuentemente, lo que puede indicar que las actualizaciones de seguridad no se aplican. También ayuda a determinar la estabilidad del acceso.


useridletime

Muestra el tiempo de inactividad del usuario actual.

useridletime

Cuándo usarlo: Para determinar si un usuario está activamente usando la máquina. Un tiempo de inactividad largo indica que es más seguro ejecutar operaciones que podrían generar ventanas o alertas visibles (como askcreds).


whoami

Muestra información detallada sobre el usuario actual, incluyendo SID, grupos y privilegios.

whoami
whoami /all
ArgumentoRequeridoDescripción
/allNoMuestra información extendida: grupos, privilegios y tipo de logon

Cuándo usarlo: Primer comando a ejecutar tras obtener acceso. Confirma la identidad del usuario, sus grupos de pertenencia (Domain Admins, Local Administrators, etc.) y los privilegios disponibles. La flag /all proporciona la información completa necesaria para evaluar el contexto de seguridad actual.


Flujo de trabajo recomendado

  1. whoami /all — Identificar usuario y privilegios
  2. ipconfig + routeprint — Entender la red
  3. env — Buscar variables con información sensible
  4. netstat — Identificar conexiones y servicios
  5. arp + listdns — Descubrir hosts vecinos
  6. privcheck all — Evaluar vectores de escalada (si no eres admin)