SOMBRAENCOUNTER.COM

sombra2eternity log stream
Inicio Proyectos

  • |

En ciertas ocasiones el diseño de las aplicaciones web deja bastante que desear y suelen estar formadas por piezas de código mucho más descuidadas, no sirve de nada tener la puerta de la entrada de acero reforzado si dejas la puerta de atrás abierta. Para bien o para mal se trata de la situación de montones de empresas españolas, muchas de las cuales han sido ya forzadas y obsequiadas con ficheros cuya capacidad principal es la ejecución de comandos de forma remota, a estos ficheros se les conoce con el nombre de remote shell.

Vamos a trabajar del lado de los asaltantes por algunos momentos. Tuve esta extraña idea gracias a mi colega Javier Civantos, pongamos en práctica una nueva forma de comunicación con un servidor web explotando las posibilidades de una remote shell, sé que esto que propondré a continuación se consigue fácilmente montando carpetas vía SSH, pero por desgracia no disponemos siempre de estas características ni de los privilegios necesarios.

Unidades virtuales remotas

La idea tomó el nombre en clave Reveal, este proyecto se conecta a la remote shell indicada, ejecuta el comando "ls -R -s -p -l / > sal.txt", el cual genera un fichero sal.txt (el primero fue de 2.9Mb, por lo que cuidado) que contiene toda la estructura de directorios del servidor. A continuación Reveal descarga el fichero y lo convierte a un formato especial de sistema de ficheros virtuales (solo las estructuras de datos) bajo SQLITE3. Ahora es cuando toma protagonismo Thanatos, ya que para la ocasión se le ha dotado con una nueva librería y la capacidad para montar estas unidades, por lo que literalmente se puede navegar por el servidor sin estar haciendo peticiones continuas al mismo.

Thanatos y los sistemas de archivos virtuales

En la imagen superior tenemos a Thanatos cargando mi directorio "home" usando una remote shell que he colocado en el servidor apache local de ese ordenador, mucho código está todavía hardcodeado, prueba de ello es el hecho de que el sistema de ficheros virtual haya sido forzado a montarse sobre la "Carpeta 1".

Transferencia de ficheros

Si deseásemos descargar cualquier fichero, el sistema de archivos virtual envía la petición a Reveal y este enlaza simbólicamente el fichero dentro de los dominios de la remote shell por medio de comandos a través de la misma. De esta manera podemos acceder a dicho fichero de forma sencilla, aunque estudio otras posibilidades de acceso a estos ficheros (como la lectura directa) y la posibilidad de zipear carpetas previamente a la descarga.

Pasarán algunos meses antes de que estabilice toda esta tecnología y la libere bajo el estándar Thanatos, sobre todo ahora que tengo el tiempo algo más dividido, pero seguiré comentando las actualizaciones que se vayan produciendo, a todos aquellos desarrolladores web, good shell hunting :D.

Déjanos un comentario

Cualquier comentario cuyo contenido esté formado por un lenguaje inadecuado, así como mensajes ofensivos o spam, será eliminado y/o modificado. Para informar de un abuso o de un comentario de estas características, pulse aquí.
Aceptar
Acerca de / Estadísticas de visitas / Contacto sombra2eternity • 2008-2010
El contenido está bajo una licencia CC, por lo que puedes usarlo libremente para fines no comerciales siempre y cuando indiques el origen.