26 enero 2017

Utilizando la esteganografía para salir del radar de control (I)


Voy a contar una anécdota realizando un hacking ético a un banco internacional. El reto propuesto por el jefe de Seguridad, era poder exportar una parte de la BD clientes de la empresa (que para hacer la PoC, ubicamos un pequeño TXT como objeto), hacia el exterior. Mi ambiente de trabajo era una desktop perteneciente a un empleado del banco.


Las primeras pruebas que hacemos todos, eran en vano. Los sitios para compartir estaban todos filtrados, los puertos de mi PC no permitían mucha interacción, los correos externos no estaban permitidos y demás. Tratando de buscar una salida a este problema, me encontré con Blogger (sí, el servicio de blogs de Google) y esto me llamó mucho la atención. Todos los servicios de Google estaban bloqueados, excepto éste. Recuerdo que en ese tiempo tuve mi primer blog en esa plataforma.
Probé autenticarme y accedí. Ya estaba sonriendo, entendiendo donde estaba la posible brecha. El primer intento, fue escribir un nuevo post con una foto cualquiera. Le dí a publicar, accedí desde el exterior a mi blog y ahi estaba la imagen, esperando ansiosamente a ser explotada.
Tenía dos alternativas:
  • Jugar desde Windows. El comando para este caso era copy: los argumentos a pasarle eran /b (según Microsoft, indica la copia de un archivo binario), la imagen víctima y luego adicionamos el binario que queremos ocultar, zippeado. La instrucción quedaría de la siguiente forma:
    • copy /b imagen.jpg ocultar.zip
  • Jugar desde Linux. Podia hacer lo mismo que en el caso anterior, pero con el comando cat. Esto no era conveniente, porque dejaba evidencias con conexiones a otros servidores. La mejor decisión era causar la menor cantidad de ruido, levantando muy pocas sospechas.
Vayamos a lo importante, hagamos una demo de como fue el ataque:
Tenemos nuestros archivos: la imagen y el mensaje secreto. 
Hacemos el proceso de esteganografía


Solo resta escribir un post, subir la imagen y publicarlo:

El post con la imagen, ya está online.

Voy a descargarme la imagen con curl y luego con un cat voy a ver su contenido. Si tengo suerte, debería ver el contenido del secreto TXT:



Realizamos la descarga.

Vemos el resultado. La palabra SecByDefault estaba oculta en la imagen.
Podríamos tratar de subir archivos más pesados, con otras extensiones y más importantes que un simple TXT, pero eso lo dejamos para una segunda edición. 
Contribución por cortesía de Gabriel Franco, 0x1Gab