Windows cargó automáticamente una DLL y un hacker se aprovechó de ello.

La nueva técnica BYORWXDLL permite inyectar código en procesos Windows mediante secciones de memoria ya preparadas dentro de DLL legítimas firmadas. El método reduce la cantidad de operaciones sospechosas que suelen vigilar los sistemas de detección y respuesta ante amenazas.
Algunas DLL contienen secciones RWX, accesibles simultáneamente para lectura, escritura y ejecución. Tras cargar una de esas bibliotecas, Windows crea en la memoria del proceso un área donde se puede escribir shellcode, es decir, un pequeño fragmento ejecutable, y luego ejecutarlo sin preparar la memoria adicionalmente.
En una inyección clásica, el atacante normalmente necesita reservar memoria mediante VirtualAllocEx, escribir el código, cambiar los permisos con VirtualProtectEx y lanzar un hilo separado. BYORWXDLL omite las primeras dos operaciones destacables, ya que utiliza una sección RWX existente. Como resultado, los sistemas de protección reciben menos señales características.
Para localizar bibliotecas adecuadas, el autor de la técnica creó un escáner en Python. La herramienta comprueba las DLL en el disco e identifica secciones con permisos de lectura, escritura y ejecución. Después, un programa separado carga la biblioteca encontrada y, mediante VirtualQuery, confirma que el área de memoria necesaria realmente existe en tiempo de ejecución.
Tras la verificación, el operador busca un proceso donde la DLL adecuada ya esté cargada, escribe el código en la zona encontrada mediante WriteProcessMemory y lo ejecuta usando CreateRemoteThread. Si la biblioteca no está en el proceso objetivo, se puede cargar de antemano, aunque esa opción genera más eventos visibles.
El autor demostró BYORWXDLL en un entorno de pruebas Windows 11 y publicó el código del escáner y del cargador. El material describe una demostración del método, no un ataque documentado. Para aplicar la técnica, primero es necesario encontrar y verificar la DLL adecuada en el sistema concreto.