Ir al contenido

Cheatsheet de WinRM

Por

Madurezreviewed
Última revisión
Publicado
Última actualización

Consulta el workflow y automatización.

Identificar listeners
nmap -sV -p 5985,5986 TARGET_IP
Comprobar y abrir una sesión
Test-WSMan -ComputerName FQDN
Test-WSMan -ComputerName FQDN -UseSSL
$credential = Get-Credential -Credential 'DOMAIN\USERNAME'
$session = New-PSSession -ComputerName FQDN -Credential $credential
Enter-PSSession -Session $session
Remove-PSSession $session
Timeouts y cleanup garantizado
$credential = Get-Credential -Credential 'DOMAIN\USERNAME'
$options = New-PSSessionOption -OpenTimeout 15000 -OperationTimeout 60000
$session = $null
try {
$session = New-PSSession -ComputerName FQDN -UseSSL `
-Credential $credential -SessionOption $options -ErrorAction Stop
Get-PSSession -Id $session.Id
}
finally {
if ($null -ne $session) {
Remove-PSSession $session
}
}

El timeout de operación no limita la duración máxima de un proceso remoto. La señal separa apertura, autenticación y creación de sesión. El bloque finally elimina la sesión si llegó a crearse. Consulta el diagnóstico WinRM para interpretar cada fallo.

Cliente Linux
evil-winrm -i FQDN -u 'DOMAIN\USERNAME' \
-S -r DOMAIN.LOCAL \
-s LOCAL_SCRIPTS -e LOCAL_BINARIES \
-l

-S exige TLS, -r fija el realm de Kerberos, -s y -e exponen directorios locales controlados y -l activa el registro. No añadas la contraseña a la línea de comandos. Registra si el resultado corresponde a WS-Man, autenticación o endpoint, y revisa los directorios expuestos durante el cleanup.