Ocultando un ejecutable creando nuestro “Joiner” Casero

Hola, en este tutorial veremos como hacer para ocultar de una manera muy simple y rápida un ejecutable dentro de otro. Haciendo nuestro tipo “joiner casero” con un poco de programación muy simple.

En este caso usare el lenguaje python, pero la cosa es simplemente demostrar la teoría. Este tutorial en ningún momento pretende ser una herramienta final, sino simplemente una demostración.

Datos Técnicos:

<<Objetivo>>

Ocultar el ejecutable de flu.exe y una imagen dentro de otro ejecutable, y que del nuevo ejecutable solo veamos la imagen.

<<Herramientas>>

Algo muy importante que quiero definir antes es que mi manera de resolver el problema es diferente a como otros lo quieran realizar. En el foro se hablaba de que con la utilidad de Winrar podríamos hacer un autoextraíble que contenga flu.exe y por ejemplo la imagen, pero esta técnica no es del todo fiable, puesto que si lo abrimos con Winrar veremos el contenido de este. (Y claro ya no hay factor Sorpresa).

Mi manera de resolver este problema, es que nuestro programa que realizaremos, contenga dentro de si, flu.exe y la imagen.png

¿Cómo haremos eso?

Fácil, lo que haremos será conseguir los bytes de cada archivo. Podemos obtenerlos como queramos, algunos editores hexadecimales nos dan la opción de exportar los bytes. Yo en lo particular usare getbytes.py un script en python que creé hace un tiempo para mis métodos esteganográficos (Si a alguien le gusta el script solicitármelo por correo, lo podréis encontrar al final del post).

Bytes de flu.exe

Bytes de flu-banner-arrow.pngUna vez hayamos obtenido los bytes de nuestra manera preferida, pasaremos a la parte de la programación en python.
  • Importo "os" que nos permite ejecutar comandos de sistemas Unix y Windows
  • Pasos para Crear flu.exe
  • Pasos para Crear la Imagen que se vera
Con esto ya habremos acabado nuestro simple programa. Solo necesitaremos python para ejecutarlo

Yo en lo personal me di a la tarea de pasarlo a un ejecutable para esta demostración. Hago uso de py2exe y cree mi configuración setup.py para crear flu.exe(A mi script lo llamo flu.exe) y le pongo un icono de flu.

NOTA: Darse cuenta de que en el script el ejecutable que creo es el Original del proyecto flu, pero lo llamo fluOriginal.exe por que mi script Final al convertirlo a ejecutable lo llamare flu.exe y si encuentra el mismo nombre me dará error.

Ahora al ejecutar flu.exe lo que pasara es:

  • En el directorio donde se ejecute se creara fluOriginal.exe (el ejecutable original del proyecto flu)
  • Inmediatamente de la creación de fluOriginal.exe se moverá a System32 por lo que el usuario nunca vera este ejecutable
  • En el directorio donde se ejecute flu.exe también creara la imagen flu-banner-arrow.png y se iniciara, por lo que será lo único que se vera que sucede

En conclusión con lo que hicimos el usuario al dar click vera nada más una imagen que se crea y se abre, y sin darse cuenta metimos el troyano flu en su System32

Aquí no programamos que fluOriginal.exe se inicie, pero eso ya lo haría ustedes con “os.system(“start C:\Windows\System32\fluOriginal.exe”)” y lo que se les ocurra.¿Nos quedo bonito no? :DAntes de terminar este tutorial, me expandiré un poco mas, con el tema de Ventajas y desventajas de hacer esto, con relación a usar un Joiner ya existente como “Advanced File Joiner”Haciendo unas pruebas vi que tan detectable seria el uso de este joiner (Advanced File Joiner) para los Antivirus.

Para ello el ejecutable de flu que esta limpio (Por que ningún Antivirus lo detecta como amenaza aun, puesto que no esta la firma en las Bases de Datos de los Diferentes Antivirus),  lo adjunto con una Simple imagen haciendo uso de “Advanced Flie Joiner” y lo analizo con www.Virustotal.com y este es el resultado:

El solo uso de este Joiner nos levantaría muchas sospechas con un Antivirus, puesto que el joiner es muy conocido y usado, y la mayoría de Antivirus detecta los ejecutables generados por este joiner. Y claro si se uso este Joiner seguramente es para “ocultar” malware.

Ahora nuestro ejecutable que generamos a partir de lo que programamos y que contiene el fluOriginal.exe y la imagen, lo subo a VirusTotal (Adjunto imagen de Hashes para comprobar integridad de que es el ejecutable que genere. Todos los archivos estarán disponibles para que los analicen)

Como vemos, nuestro archivo esta limpio, y eso es por que Nosotros no solo Adjuntamos archivos. Sino que dentro los creamos, y por eso jamás podrán ser detectados, por que aun no están creados y no hay firmas.

Ventajas de programar nuestro propio método de “joiner”

  • Indetectable
  • Limpio
  • Podemos programar que se ejecuten comandos del sistema a nuestro antojo y cuantos queramos.
  • Todo en uno

Desventajas (Claro también hay)

  • El peso aumenta. Mientras Winrar comprime los datos, nosotros al usar por ejemplo py2exe e incluir todas las dependencias en un solo ejecutable, nos elevo el peso del script hasta 4.88MB (ES LA DESVENTAJA MAS GRANDE y única)
  • Hay que trabajar y aprender (Sarcasmo)

Bueno, esta demostración de como yo hago mis métodos simplemente pretende ser eso. Una demostración, esto puede llevarse a cualquier lenguaje de programación (Como C) y seguro al generar el ejecutable quedara el peso mucho mejor.

DESCARGAR ARCHIVOS ADJUNTOS

Héctor Cuevas Cruz (hecky), Twitter

hecky@neobits.org

hecky