👾 Desarrollo de malware: DLL hijacking 👾


Hola a todos, os traigo una guía sobre secuestro de DLL. Creo que podría ser interesante y espero que os guste. Apoyadlo dándole una reacción. ¡Gracias!
(Las imágenes están de diferentes sitios web subidas porque no se mostraban las demás corretéame, lo siento )

=================================================================================================================
Hablemos de DLL Hijacking , ¿Qué es DLL Hijacking ? El secuestro de DLL es un tipo de ataque en el que un atacante reemplaza un archivo legítimo de Dynamic Link Library (DLL) por uno malicioso, lo que les permite ejecutar código arbitrario en un sistema objetivo.

Así es como funciona:

  1. Identifica una aplicación vulnerable eso carga un archivo DLL desde una ubicación específica.👀
  2. Coloca una DLL maliciosa archivo con el mismo nombre que el legítimo en esa ubicación. ⁇ sets ⁇ 🔍
  3. Cuando la aplicación carga el archivo DLL, cargará el malicioso en lugar del legítimo.🔄
  4. El archivo DLL malicioso puede ejecutar código arbitrario, lo que permite obtener el control del sistema o robar información confidencial.💥👾

En los sistemas Windows, cuando se inicia una aplicación o servicio, escanea varios archivos DLL para garantizar un funcionamiento sin problemas. A continuación se muestra una ilustración que describe la secuencia de búsqueda DLL estándar en entornos de Windows.

531z1ak.png


Esta publicación se centrará únicamente en el escenario más básico: cuando el directorio de una aplicación es escribible. En tales casos, cualquier DLL que la aplicación cargue puede ser manipulada, ya que es la ubicación inicial examinada durante el proceso de búsqueda.


Paso 1. Encuentra el proceso con DLL faltantes

Para encontrar DLls faltantes dentro de un sistema se está ejecutando procmon desde sysinternals, configurando los siguientes filtros:

  1. Ejecuta procmon desde sysinternals.
  2. Opción de filtro abierto
BrhHqIk.png


4. Ahora tiene que agregar Nombre de Proceso, Resultado y Ruta en Columna.

5. En Relación add es , es y termina.

6. En Valor añadir Bginfo.exe, NOMBRE NO ENCONTRADO y .dll

7. En Acción añadir Incluir tres veces como se ve arriba en la imagen.

Después de hacer todo esto, podrá identificar si hay alguna DLL que la aplicación intente cargar y la ruta real que la aplicación está buscando para la DLL faltante:

coUochI.png


Como ejemplo, IiM usando Vulnerable Bginfo(v4.16). Como has notado, varias DLL están ausentes. Ahora, Iicill selecciona una de estas DLL para DLL Hijacking.

Por ejemplo Riched32.dll

Paso 2. secuestro de DLL​

Permite codificar la DLL llamada Riched32.dll

dEbt3FL.png

Guarde este código en un archivo llamado mal.c

Vamos a compilar el código en nuestro Kali:

TFHzL2P.png


Captura-de-pantalla-2024-08-13-235830.png


Después de esto, mueva este dll a la máquina de Windows.

Copie el Riched32.dll para C:\Usuarios\usuario\Desktop\


pQG7PLn.jpg


Ahora lanza el Bginfo.exe

image.png


La lógica maliciosa funcionó perfectamente : )

Como nuestro Bginfo.exe y Riched32.dll están en la misma carpeta, aparece un cuadro de mensaje tan pronto como se lanza Bginfo.exe.

Si quieres experimentarlo descargarás el vulnerable Bginfo de github : https://github.com/RED-TEAM-444/Bginfo-v4.16

Y ESTA HA SIDO MI PEQUEÑA APORTACIÓN DE HOY.
 
Última edición por un moderador:

Soksycc

Miembro muy activo
Noderador
Nodero
Noder
puede estar interesante pero menudo follòn, se pueden liar cosas críticas?