
Herramienta de hooking de la API de Windows que falsifica y oculta dinámicamente los argumentos de procesos mediante la librería Detours y la manipulación del PEB, permitiendo la creación sigilosa de procesos para operaciones de equipo rojo.
Twitter: @AzizWho
NoArgs es una herramienta diseñada para suplantar y ocultar dinámicamente los argumentos de procesos sin ser detectada. Lo logra enganchándose a las API de Windows para manipular dinámicamente los internos de Windows sobre la marcha. Esto permite a NoArgs alterar discretamente los argumentos de los procesos.




La herramienta opera principalmente interceptando las llamadas de creación de procesos realizadas por la función de API de Windows CreateProcessW. Cuando se inicia un proceso, esta función se encarga de generar el nuevo proceso, junto con cualquier argumento de línea de comandos especificado. La herramienta interviene en este flujo de creación de procesos, asegurando que los argumentos se oculten o manipulen antes de que se lance el nuevo proceso.
El enganche a CreateProcessW se logra mediante Detours, una biblioteca popular para interceptar y redirigir funciones de la API de Win32. Detours permite redirigir las llamadas a funciones hacia implementaciones personalizadas mientras se preserva la funcionalidad original. Al enganchar CreateProcessW, la herramienta puede interceptar las solicitudes de creación de procesos y ejecutar su lógica personalizada antes de permitir que se genere el proceso.
El Bloque de Entorno de Proceso (PEB) es una estructura de datos utilizada por Windows para almacenar información sobre el entorno y el estado de ejecución de un proceso. La herramienta aprovecha el PEB para manipular los argumentos de línea de comandos de los procesos recién creados. Al modificar la información de línea de comandos almacenada en el PEB, la herramienta puede alterar u ocultar los argumentos pasados al proceso.
Vista de Process Hacker:

Vista de Process Monitor:

Inyección en el Símbolo del Sistema (cmd): La herramienta inyecta su código en el proceso del Símbolo del Sistema, incrustándolo como Código Independiente de Posición (PIC). Esto permite una integración perfecta en el espacio de memoria de cmd, asegurando una operación encubierta sin depender de direcciones de memoria específicas. (Solo para el Ejecutable Ofuscado en la página de lanzamientos)
Enganche de API de Windows: Se utilizan Detours para interceptar las llamadas a la función CreateProcessW. Al redirigir el flujo de ejecución hacia una implementación personalizada, la herramienta puede ejecutar su lógica antes de la función original de la API de Windows.
Función Personalizada de Creación de Procesos: Al interceptar una llamada a CreateProcessW, se ejecuta la función personalizada, creando el nuevo proceso y manipulando sus argumentos según sea necesario.
Modificación del PEB: Dentro de la función personalizada de creación de procesos, se accede y modifica el Bloque de Entorno de Proceso (PEB) del proceso recién creado para lograr el objetivo de manipular u ocultar los argumentos del proceso.
Redirección de Ejecución: Al completar las manipulaciones, la ejecución regresa sin problemas al Símbolo del Sistema (cmd) sin interrupciones. Esta redirección dinámica asegura que los comandos posteriores ingresados sean manipulados discretamente, evadiendo los mecanismos de detección y registro que dependen de obtener los detalles del proceso desde el PEB.
Opción 1: Compilar la DLL de NoArgs:
Necesitará tener instalado Microsoft Detours.
Compile la DLL.
Inyecte la DLL compilada en cualquier instancia de cmd para manipular dinámicamente los argumentos de procesos recién creados.
Opción 2: Descargue el ejecutable compilado (listo para usar) desde la página de lanzamientos.