Hoy voy a mostraros un pequeño tutorial en el que aprenderemos a incrustar un archivo de cualquier tipo en un documento HTML. El tutorial gira en torno al uso de una pequeña herramienta desarrollada por Arno0x0x.
La herramienta de la que os hablaremos está disponible en GitHub y está disponible como script en Python y como HTML/Javascript. Esta herramienta está basada en otra herramienta muy conocida de nombre Demiguise y desarrollada por el grupo de seguridad NCC Group Plc.
¿Qué hace exactamente esta herramienta para incrustar el archivo en un documento HTML?
Esta herramienta genera el archivo HTML con el archivo incrustado y encriptado para que no pueda ser detectado por un antivirus o algún otro sistema de protección. El archivo incrustado se desencripta automáticamente y se guarda en la carpeta de archivos temporales. Finalmente el usuario podrá aceptar o denegar la descargar del archivo desde el navegador.
Hay diferencias entre usar el script en Python o el HTML/Javascript:
- Si usamos el script en Python la clave de desencriptación está adjuntada en el propio archivo.
- Si usamos el HTML/Javascript la clave de desencriptación se muestra por separado y se usa como parámetro en el URL.
Además de la diferencia anterior, debemos tener en cuenta que cuando generamos el archivo HTML, se emplea la encriptación RC4. En cambio, cuando empleamos el HTML/Javascript, se emplea la API WebCrypto y para que se pueda desencriptar, la URL tiene que ser algo parecido a:
http(s)://web.com/result.html#hexencodedkey!hexencodedcounter
La segunda técnica, de enviarlo como URL, es perfecta para evadir antivirus, sistemas de análisis de malware, etc.
Para más detalles técnicos, recomiendo visitar la página del autor: https://github.com/Arno0x/EmbedInHTML