Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
Aladdin — Genera payloads de acceso inicial abusando de AddInProcess.exe mediante deserialización de .NET, compatible con plantillas HTA, VBA, JS y CHM para ejecución de código en memoria. | Kitploit
Herramientas/GitHubGitHub/nettitude/aladdin
Generación de PayloadsExplotaciónRed TeamingDesarrollo de Payloads
GitHubnettitude/aladdin

Aladdin

Genera payloads de acceso inicial abusando de AddInProcess.exe mediante deserialización de .NET, compatible con plantillas HTA, VBA, JS y CHM para ejecución de código en memoria.

Ver Repositorio
2242012hace 2 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

Aladdin

           .-.
          [.-''-.,
          |  //`~\)
          (<| 0\0|>_
          ";\  _"/ \\_ _,
         __\|'._/_  \ '='-,
        /\ \    || )_///_\>>
       (  '._ T |\ | _/),-'
        '.   '._.-' /'/ |
        | '._   _.'`-.._/
        ,\ / '-' |/
        [_/\-----j
   _.--.__[_.--'_\__
  /         `--'    '---._
 /  '---.  -'. .'  _.--   '.
 \_      '--.___ _;.-o     /
   '.__ ___/______.__8----'
     c-'----'
  Lefty @lefterispan - Nettitude Red Team - 2022 / 2023 

Acerca de

Aladdin es una técnica de generación de payloads basada en el trabajo de James Forshaw (@tiraniddo) que permite la deserialización de un payload .NET y su ejecución en memoria. El vector original fue documentado en https://www.tiraniddo.dev/2017/07/dg-on-windows-10-s-executing-arbitrary.html.

Al lanzar el proceso AddInProcess.exe con los argumentos /guid:32a91b0f-30cd-4c75-be79-ccbd6345de99 y /pid:, el proceso iniciará un pipe con nombre bajo \\.\pipe\32a91b0f-30cd-4c75-be79-ccbd6345de99 y esperará un objeto de .NET Remoting. Si generamos un payload que tenga los bytes de paquete apropiados para comunicarse con un listener de .NET remoting, podremos activar la clase ActivitySurrogateSelector de System.Workflow.ComponentModel y obtener ejecución de código.

Originalmente, James Forshaw publicó un POC en https://github.com/tyranid/DeviceGuardBypasses/tree/master/CreateAddInIpcData. Sin embargo, este POC fallará en versiones recientes de Windows ya que Microsoft parcheó el vulnerable System.Workflow.ComponentModel (https://github.com/microsoft/dotnet-framework-early-access/blob/master/release-notes/NET48/dotnet-48-changes.md).

No obstante, Nick Landers (@monoxgas) identificó una forma de deshabilitar la comprobación que introdujo Microsoft y escribió un artículo detallado en https://www.netspi.com/blog/technical/adversary-simulation/re-animating-activitysurrogateselector/. El bypass está documentado en https://github.com/pwntester/ysoserial.net/pull/41.

Aladdin es una herramienta de generación de payloads que, utilizando el bypass específico así como los bytes de cabecera necesarios del protocolo .NET remoting, es capaz de generar payloads de acceso inicial que abusan de AddInProcess tal como se documentó originalmente.

Las plantillas proporcionadas son:

* HTA

* VBA

* JS

* CHM

Notas

Para que el ataque tenga éxito, el ensamblado .NET debe contener una única clase pública con un constructor vacío que actúe como punto de entrada durante la deserialización. Se ha incluido un ensamblado de ejemplo en el proyecto.

public class EntryPoint {
    public EntryPoint() {
        MessageBox.Show("Hello");
    }
}

Uso

Usage:
  -w, --scriptType=VALUE     Set to js / hta / vba / chm.

  -o, --output=VALUE         The generated output, e.g: -o
                               C:\Users\Nettitude\Desktop\payload

  -a, --assembly=VALUE       Provided Assembly DLL, e.g: -a
                               C:\Users\Nettitude\Desktop\popcalc.dll

  -h, --help                 Help

OpSec

  • El binario .NET proporcionado por el usuario se ejecutará bajo el proceso AddInProcess.exe que se lanza desde el payload HTA/JS. El lanzamiento de los procesos actualmente se realiza utilizando el objeto COM 9BA05972-F6A8-11CF-A442-00A0C90A8F39 (https://dl.packetstormsecurity.net/papers/general/abusing-objects.pdf) que iniciará el proceso como hijo del proceso Explorer.exe.

  • El GUID suministrado en los parámetros del proceso de AddInProcess.exe puede ser controlado por el usuario. Por ahora, el guid está codificado en la plantilla y en el código.

  • CHM ejecuta el JScript a través de la transformación XSLT.

Consideraciones Defensivas

  • Addinprocess.exe siempre se lanzará con /guid y /pid. Establezca una línea base en su entorno para usos legítimos y monitorice el resto.

Referencias Útiles:

* https://www.tiraniddo.dev/2017/07/dg-on-windows-10-s-executing-arbitrary.html

* https://www.netspi.com/blog/technical/adversary-simulation/re-animating-activitysurrogateselector/

Readme / Créditos

El código está basado en los siguientes repositorios:

* https://github.com/tyranid/DeviceGuardBypasses/tree/master/CreateAddInIpcData

* https://github.com/pwntester/ysoserial.net

Agradecimientos a:

  • @m0rv4i por ayudar con los matices de C#
  • @ace0fspad3s por la resolución de problemas
  • @ Nettitude RT por ser increíbles
Descargar herramienta