Convertir un Shellcode a ASCII para Detectar un Exploit Falso

  • Posted on: 18 March 2015
  • By: ReYDeS

Un Shellcode o también denominado como “bytecode” es un conjunto de comandos máquina de bajo nivel, lo mismo encontrado dentro de un archivo ejecutable. Con una shellcode es factible, ejecutar un archivo, reiniciar el sistema, establecer una conexión remota, entre otra diversidad de acciones. Es el código a ser insertado en un exploit para cumplir una tarea requerida.

Es muy frecuente encontrar exploits falsos publicados por atacantes maliciosos, cuyo propósito es comprometer o engañar a potenciales víctimas. De esta manera al ejecutar un exploit falso para intentar explotar alguna vulnerabilidad en un objetivo de evaluación, se ejecutará código malicioso en el propio sistema. A continuación se analizarán dos ejemplos sencillos.

Se analiza el exploit de nombre “openssh-53p1-remote-root.c ”, el cual supuestamente es un Exploit remoto para alcanzar privilegios del usuario root en la versión de OpenSSH 5.3p1.

Una manera sencilla de convertir estos códigos hexadecimales a ASCII es utilizando python. Como se puede observar el comando a ejecutar en el sistema local se ejecutará segundo plano y procederá a borrar todos los archivos, adicionalmente los errores generados de ejecutar este comando serán redireccionados hacia /dev/null.

Ahora se procede a analizar un exploit de nombre “apache0.c”, el cual supuestamente es un exploit de día 0 para Apache.

Nuevamente se utiliza python para visualizar la “Shellcode” en ASCII.

Este supuesto exploit no explotará ninguna vulnerabilidad en Apache, en lugar de ello sobrescribe los archivos /etc/passwd y /etc/shadow del sistema GNU/Linux en el cual se lo ejecutó.

Se sugiere únicamente descargar códigos de exploits desde sitios confiables o utilizarlos directamente desde frameworks de explotación como Metasploit o CoreImpact.

Fuentes:

http://www.exploit-db.com/shellcode/
http://www.linuxdevcenter.com/pub/a/linux/2006/05/18/how-shellcodes-work...
http://pastebin.com/j70T9KHJ
http://pastie.org/pastes/5464147

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero


Curso de Informática Forense