Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
OffensiveDLR — Boîte à outils contenant des notes de recherche et du code PoC pour l'armement du DLR de .NET. | Kitploit
Outils/GitHubGitHub/byt3bl33d3r/offensivedlr
Escalade de PrivilègesMécanismes de PersistanceAnalyse de CodeAnalyse Dynamique de Code (DAST)ExploitationMouvement LatéralShellcodePost-ExploitationCommandement et ContrôleApprentissage et ÉducationRed TeamingDéveloppement de Charges Utiles
5261138il y a 5 ansVé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
GitHubbyt3bl33d3r/offensivedlr

OffensiveDLR

Boîte à outils contenant des notes de recherche et du code PoC pour l'armement du DLR de .NET.

Voir le dépôt

OffensiveDLR

Boîte à outils contenant des notes de recherche et du code PoC pour weaponiser le DLR de .NET

Contenu

ScriptDescription
KukulkanUne version allégée de SILENTTRINITY, DLL et EXE C# qui intègrent un moteur IPY. Les communications sont chiffrées et peuvent être utilisées avec CobaltStrike
Invoke-JumpScare.ps1Exécute du shellcode à l'aide d'un compilateur Boolang embarqué, rien n'atterrit sur le disque (du moins d'après ce que j'ai vu) et aucun appel à csc.exe n'est effectué :)
Invoke-IronPython.ps1Exécute du code IronPython à l'aide du moteur IPY embarqué. Même concept que Invoke-JumpScare, mais avec IronPython.
Invoke-ClearScript.ps1Exécute du JScript (ou VBScript) à l'aide du moteur ClearScript embarqué
SharpSnek.csCode C# qui intègre un moteur IronPython et exécute du code IPY embarqué. Intercepte AppDomain.CurrentDomain.AssemblyResolve pour résoudre les assemblies nécessaires à l'exécution.
runBoo.csVersion C# de Invoke-JumpScare. Exécute du shellcode à l'aide d'un compilateur Boolang embarqué.
runBooAssemblyResolve.csCode C# qui intègre un compilateur Boolang et exécute du code Boolang embarqué. Intercepte AppDomain.CurrentDomain.AssemblyResolve pour résoudre les assemblies nécessaires à l'exécution.
minidump.booScript Boolang natif pour dumper la mémoire à l'aide de MiniDumpWriteDump
shellcode.booScript Boolang natif qui exécute du shellcode. Contient actuellement 3 techniques différentes (QueueUserAPC, CreateThread/WaitForSingleObject, WriteProcessMemory/CreateRemoteThread)
Invoke-SSharp.ps1Exécute SSharp à partir d'un compilateur embarqué dans PowerShell. La compilation n'appelle pas csc.exe
Invoke-Boolang.ps1Exécute du code Boo à partir d'un compilateur embarqué. Il fournit également des solutions de contournement pour certains bugs que j'ai découverts lorsque le compilateur Boolang est embarqué dans PowerShell.

Pourquoi ?

Le DLR de .NET est juste complètement dingue, il permet de faire des choses folles comme embarquer de foutus compilateurs/moteurs dans d'autres langages .NET (par ex. PowerShell et C#) tout en restant opsec-safe et en restant en mémoire. Dans le cas d'IronPython, on peut même avoir ce que j'appelle « l'inception de moteurs » : vous voulez embarquer un moteur IPY dans un moteur IPY dans un autre moteur IPY ? (yo dawg, j'ai entendu dire que t'aimais les moteurs IPY...).

D'un point de vue offensif, cela offre une flexibilité absolument folle et un certain nombre d'avantages, pour n'en citer que quelques-uns :

  1. Accès prêt à l'emploi à l'API .NET, sans passer par PowerShell d'aucune manière. Essentiellement, l'utilisation du DLR vous donne toute la puissance de PowerShell, mais sans PowerShell et dans un langage (généralement) plus facile à scripter (par ex. Python)

  2. Des quantités folles de reflection/embedding en permanence, ce qui signifie plus d'évasion.

  3. Avec le DLR, vous contournez toujours AMSI (si vous instrumentez correctement vos payloads), pas besoin d'obfusquer, de patcher des trucs, etc..

  4. Tout votre « mal » peut être codé dans le langage de votre moteur/compilateur embarqué. Si vous faites ça avec PowerShell, ScriptBlock Logging ne voit rien puisque toute la magie se passe dans le DLR.

  5. Généralement, tous les langages DLR ont un moyen d'appeler des méthodes natives, soit via le langage lui-même, soit en compilant dynamiquement du C# (par ex. Add-Type de PowerShell). Si vous optez pour la première méthode, aucun appel à csc.exe n'est effectué et généralement rien n'est écrit sur le disque, car les langages génèrent tout le nécessaire en mémoire via du code IL. Nous pouvons aller « aussi bas et aussi haut que nous le voulons » (@Op_nomad) et cela nous permet de faire toutes les bonnes choses que nous aimons (injecter du shellcode, des DLL non managées, charger des PE, etc..)

  6. Permet un ré-outillage rapide et la weaponisation des payloads. Aucune compilation manuelle n'est nécessaire.

Autres projets Offensive DLR

Si vous êtes intéressé, voici quelques autres outils qui tentent également de weaponiser le DLR :

  • https://github.com/dsnezhkov/typhoon
  • https://github.com/byt3bl33d3r/SILENTTRINITY

Crédits

  • @Op_nomad
  • @subtee
  • @pwndizzle
  • @malcomvetter
  • @harmj0y
  • @elitest

Références

Soyez prévenus : si vous commencez à lire tout ça, vous allez plonger dans un terrier de lapin infernal (avec de vrais lapins démons).

  • https://github.com/boo-lang/boo/wiki/Scripting-with-the-Boo.Lang.Compiler-API
  • https://github.com/boo-lang/boo/wiki/Invoke-Native-Methods-with-DllImport
  • https://github.com/pwndizzle/c-sharp-memory-injection
  • http://www.voidspace.org.uk/ironpython/embedding.shtml
  • http://www.voidspace.org.uk/ironpython/winforms/part10.shtm
  • https://www.codeproject.com/Articles/53611/%2FArticles%2F53611%2FEmbedding-IronPython-in-a-C-Application
  • http://www.voidspace.org.uk/ironpython/ip_in_ip.shtml
  • https://jimshaver.net/2018/02/22/net-over-net-breaking-the-boundaries-of-the-net-framework/

Conférences

  • Ré-outillage rapide en .NET pour les Red Teams - Circle City Con 2018
  • IronPython...OMFG - Derbycon 2018
  • Construire un empire avec (Iron)Python - Derbycon 2018
Télécharger l’outil
Invoke-NeoLua.ps1
Exécute du code Lua à partir d'un compilateur embarqué dans PowerShell.