Hacking Shared Hosting with Symlink
-
Upload
alvaro-diaz-hernandez -
Category
Internet
-
view
721 -
download
0
Transcript of Hacking Shared Hosting with Symlink
Hacking de Servidores
Agradecimientos
WHO AM I
@alvarodh5
Advertencia
El contenido y la información que se expone en esta presentación son con objetivos demostrativos, no me hago responsable del mal uso y de los posibles daños ocasionados a terceras personas como consecuencia de esta información, cada persona es dueño de sus actos y de seguir su propia ética.
Información Inicial
¿Objetivo?
Objetivo
¿Problema?
Problema Detected!
Nuestro WordPress a auditar no posee plugins, ni ninguna vulnerabilidad (sin contar 0days).
Tampoco tiene ninguna vulnerabilidad a nivel de infraestructura (servidor FTP, DDBB etc…).
Destacar que el administrador de la web tiene conocimientos en hacking y no es viable realizar un ataque dirigido.
El sitio está alojado en un hosting compartido.
Problema Detected!
¿Alguna idea?
¡Habemus Solución!
SYMLINK
Empecemos de 0…
¿Qué es Symlink?
¿Para qué se utiliza?
Ejemplos
¿Qué es Symlink? ¿Para qué se utiliza?
Symlink proviene de Symbolic Link (enlace simbólico),que sirve para hacer referencia a un directorio o fichero que se encuentra en un lugar distinto.
Modificar el symlink significará reflejarlo en el original, pero, si lo eliminamos, el auténtico permanecerá intacto. Esto último, no ocurre con el hardlink, eliminándose ambos.
En resumen, los enlaces simbólicos indican un acceso a un directorio o fichero que se encuentra en un lugar diferente (“Acceso Directo”).
Ejemplos
ln –s RUTA_ORIGINAL RUTA_SYMLINK
El 6 de febrero, un hacker cerró el 20% de la Dark Web, siguiendo esta técnica
¿Qué necesitamos?
NUEVA VÍCTIMA
¿Para qué?
¿Cómo buscamos la victima?
No nos sirve cualquier objetivo, simplemente hemos aumentado considerablemente el scope, pero necesitamos una web en su propio servidor.
Para descubrir nuevos objetivos usaremos Reverse IP LOOKUP que se encarga de revisar los registros A de los DNS de muchos dominios (obviamente ya analizados) encontrando webs con las que comparte servidor.
Cabe mencionar, que el servidor debe ser Apache
¿Cómo buscamos la victima?
Practice Time!
Buscando nueva víctima
Buscando nueva víctima
Nueva víctima
Hacking Time
Access Granted!
Access Granted!
Profundizando I
Profundizando II
¿Y ahora…?
Puesto a que tenemos el contenido del /etc/passwd tenemos las rutas completas de nuestros “vecinos”, ahora vamos a intentar acceder, pues ya tenemos acceso a nuestro a una reverse shell.
Ya queda menos…
Ya queda menos…
Symlink Time
Symlink Time
Symlink Time
Symlink Time
¿Demasiados directorios?
Opciones
Symlink Time
Opción A Hay scripts automatizados para dumpear todos los configs de CMS conocidos sabiendo las rutas (/etc/passwd), puesto a que nuestro sitio es un WordPress, esta opción nos valdría.
Symlink Time
Opción B Buscar en el servidor nuestro sitio y sólo acceder a ese, para ello, antes debemos sacar el nombre del directorio.
Symlink Time
Symlink Time
TIPS
En los casos de que de forbidden, puedes subir un .htaccess con las siguientes instrucciones:
Options Indexes Listado de directorios FollowSymlinks Seguir Symlink AddType txt .php AddHandler txt .php Le dice al navegador
como debe tratar el fichero.
Defendiéndonos del Symlink
Esta vulnerabilidad se soluciona deshabilitando la función del servidor:
FollowSymlink Open_BaseDir
CTF
The End