En 2012 encontré un sitio (muy importante de aplicaciones telefónicas de ese entonces) que tenía una falla grave. Desde una cookie podías inyectar un fragmento de código ejecutable que se podía usar para leer archivos del servidor.
Esa falla me emocionó demasiado y puse manos a la obra para construir un script que explotara la falla. Intente desarrollarlo en diversos lenguajes, pero al final tenía el problema de la modificación dinámica de estructuras de datos en loop. Fue cuando descubrí que python eliminaba dicho problema de forma nativa y entonces surgió el POC. Sin darme cuenta (y sin saber lo que estaba programando) el resultado final fue un pequeño crawler con un comportamiento algo curioso.
Algoritmo
- Leía un archivo “pivote” (index.php)
- Buscaba posibles archivos a los que se hacía referencia el archivo pivote (include, require, require_once, link, elementos a).
- Una vez encontradas las referencias, se procedía a almacenar cada referencia en una de dos listas: Si la referencia estaba explotada se almacenaba en la lista de “explotados” y se ignoraba de lo contrario se almacenaba en la lista de “no explotados”.
- Tanto archivos de texto y archivos normales: se almacenaban en un directorio de mi pc . El crawler iba recreando la estructura de directorios. del servidor en mi local
- El proceso se repetía hasta que no quedaran archivos de texto con referencias. Esto nos lo indicaba un buffer interno del programa que en tiempo de ejecución ayudaba a determinar si debía continuar o no.
- Una vez clonado el sitio remoto, se podía proceder a buscar passwords, conexiones a base de datos y conexiones a otros servidores.
Código fuente
Hice algunos POCs, y adapte el programa para explotar otras versiones de la misma vulnerabilidad, la cual era un tipo de “Directory Path Traversal”. La empresa que explote al final de todo fue contactada por mi y le pase el reporte de fallas y los archivos explotados. Me remunero con 300 dlls y todos felices. Años después decidí liberar el código fuente como Open Source.
No es para nada genial y me avergüenza pues esta bien cochinote por dentro así como las faltas ortográficas que tiene. Pero si me hace sentir bien cuando pienso que no sabía tanto en 2012 como para desarrollar algo así y me hace sentir orgulloso. Puedes encontrarlo en el siguiente enlace: danyelmoralesdeprecated/DITRAEXTO

Comentarios
Publicar un comentario