Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
OffensiveDLR — Caja de herramientas que contiene notas de investigación y código PoC para armar el DLR de .NET | Kitploit
Herramientas/GitHubGitHub/byt3bl33d3r/offensivedlr
Escalada de PrivilegiosMecanismos de PersistenciaAnálisis de CódigoAnálisis Dinámico de Código (DAST)ExplotaciónMovimiento LateralShellcodePost-ExplotaciónComando y ControlAprendizaje y EducaciónRed TeamingDesarrollo de Payloads
526113hace 4 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
GitHubbyt3bl33d3r/offensivedlr

OffensiveDLR

Caja de herramientas que contiene notas de investigación y código PoC para armar el DLR de .NET

Ver Repositorio

OffensiveDLR

Toolbox que contiene notas de investigación y código PoC para weaponizar el DLR de .NET

Contenidos

ScriptDescripción
KukulkanUna versión reducida de SILENTTRINITY, DLL y EXE en C# que embeben un motor IPY. Las comunicaciones están cifradas y pueden usarse con CobaltStrike
Invoke-JumpScare.ps1Ejecuta shellcode usando un compilador Boolang embebido, nada toca el disco (al menos por lo que he visto) y no se hace ninguna llamada a csc.exe :)
Invoke-IronPython.ps1Ejecuta código IronPython usando el motor IPY embebido. Mismo concepto que Invoke-JumpScare solo que usando IronPython.
Invoke-ClearScript.ps1Ejecuta JScript (o VBScript) usando el motor ClearScript embebido
SharpSnek.csCódigo C# que embebe un motor IronPython y ejecuta código IPY embebido. Engancha AppDomain.CurrentDomain.AssemblyResolve para resolver los ensamblados necesarios en tiempo de ejecución.
runBoo.csVersión en C# de Invoke-JumpScare. Ejecuta shellcode usando un compilador Boolang embebido.
runBooAssemblyResolve.csCódigo C# que embebe un compilador Boolang y ejecuta código Boolang embebido. Engancha AppDomain.CurrentDomain.AssemblyResolve para resolver los ensamblados necesarios en tiempo de ejecución.
minidump.booScript Boolang nativo para volcar memoria usando MiniDumpWriteDump
shellcode.booScript Boolang nativo que ejecuta shellcode. Actualmente contiene 3 técnicas diferentes (QueueUserAPC, CreateThread/WaitForSingleObject, WriteProcessMemory/CreateRemoteThread)
Invoke-SSharp.ps1Ejecuta SSharp desde un compilador embebido dentro de PowerShell. La compilación no llama a csc.exe
Invoke-Boolang.ps1Ejecuta código Boo desde un compilador embebido. También proporciona soluciones para algunos bugs que descubrí cuando el compilador Boolang se embebe dentro de PowerShell.
Invoke-NeoLua.ps1Ejecuta código Lua desde un compilador embebido dentro de PowerShell.

¿Por qué?

El DLR de .NET está simplemente loco, te permite hacer cosas increíbles como embeber malditos compiladores/motores dentro de otros lenguajes .NET (por ejemplo, PowerShell y C#) mientras sigues siendo Opsec seguro y permaneciendo en memoria. En el caso de IronPython, incluso puedes tener lo que yo llamo 'inception de motores': ¿quieres embeber un motor IPY dentro de un motor IPY dentro de otro motor IPY? (yo dawg, escuché que te gustan los motores IPY...).

Desde una perspectiva ofensiva esto tiene una cantidad increíble de flexibilidad y una serie de ventajas, por nombrar algunas:

  1. Acceso directo a la API de .NET sin pasar por Powershell de ninguna manera. Esencialmente, usar el DLR te permite tener todo el poder de Powershell, solo que sin Powershell y en un lenguaje que (normalmente) es más fácil de scriptear (por ejemplo, Python)

  2. Cantidades locas de reflexión/embedding ocurriendo todo el tiempo, lo que significa más evasión.

  3. Usando el DLR siempre evitas AMSI (si instrumentas tus payloads correctamente), no hay necesidad de ofuscar, parchear cosas, etc.

  4. Todo tu 'mal' puede ser codificado en el lenguaje de tu motor/compilador embebido. Si haces esto con PowerShell, el ScriptBlock Logging no ve nada ya que toda la magia ocurre en el DLR.

  5. Normalmente, todos los lenguajes del DLR tienen una forma de llamar métodos nativos ya sea a través del propio lenguaje o compilando C# dinámicamente (por ejemplo, Add-Type de PowerShell). Si vas con el primer método no se hacen llamadas a csc.exe y normalmente no se suelta nada al disco ya que los lenguajes generan todo lo necesario en memoria a través de código IL. Podemos ir tan "...bajo y alto como queramos.." (@Op_nomad) y esto nos permite hacer todas las cosas buenas que todos amamos (inyectar shellcode, DLLs no administradas, cargar PEs, etc.)

  6. Permite re-tooling rápido y weaponización de payloads. No es necesaria compilación manual.

Otros proyectos ofensivos con DLR

Si estás interesado en esto, aquí hay algunas otras herramientas que también intentan weaponizar el DLR:

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

Créditos

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

Referencias

Advertencia justa, si empiezas a leer estas cosas te va a llevar por una madriguera de conejo infernal (con conejos demoníacos reales).

  • 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/

Charlas

  • Quick Retooling in .Net for Red Teams - Circle City Con 2018
  • IronPython...OMFG - Derbycon 2018
  • Building an Empire with (Iron)Python - Derbycon 2018
Descargar herramienta