con symlink hasta la cocina
TRANSCRIPT
Exponentes:
« Dylan Irzi » & «Yarol Linux»
«CON SYMLINK HASTA LA COCINA»
DYLAN IRZI
• @Dylan_Irzi11
• Auditor de Seguridad Web, Auditor De Redes Inalámbricas.
• Especialista en SEO.
• White-Hat.
• Programador En Lenguajes PHP , JavaScript, HTML , Visual Basic.
• Fundador Junto a @Yarolinux de
• www.WebSecuritydev.com
YAROL
• @Yarolinux
• Auditor Seguridad Web, Auditor De Redes Inalámbricas.
• White-Hat.
• Programador En Lenguajes PHP , JavaScript, HTML.
• Cofundador de WebSecurityDev.com
«CON SYMLINK HASTA LA COCINA»
• Básicamente estaré explotando la seguridad de los servidores Apache , con la vulnerabilidad Symlink, que cada día se empieza a difundir mas y mas en la comunidad de Hackers.
• Para esto Mostrare como se explota, como se soluciona & un ataque de Symlink En vivo!
SYMLINK QUE ES?• Symlink es un método para hacer referencia a otros archivos y carpetas en Linux,
con el fin de hacer el trabajo más rápido Linux. (Seria cono un acceso directo en Windows.)
• Symlink es una técnica de hacking utilizado para obtener acceso no autorizado a las carpetas en un servidor; Usando esta técnica una hackers son capaces de hackear varios sitios en un servicio de alojamiento web compartido.
SYMLINK – MAPA DE ATAQUE -
Servidor
Web Vulnerable
Otros sitios
Otros sitios
Otros sitios
Otros sitiosOtros sitios
Servidor
Otros sitiosOtros sitios
Otros sitios
Otros sitios
Explotando Symlink
Web Vulnerable
Web Vulnerable
Web Vulnerable
Web Vulnerable
Web Vulnerable
Web VulnerableWeb Vulnerable
Web Vulnerable
«Es como el rooting pero sin matarte tanto!»
ANTES DE EXPLOTAR SYMLINKAntes de empezar a explotar symlink, hay que tener en cuentas las siguientes caracteristicas o ‘requisitos’ el Servidor.
• *Shell Up En algún sitio del Servidor.
• *El Servidor debe tener la siguiente estructura /Home/$User/Public_html/
• Que se puedan Visualizar los etc/passwd (Aunque se Pueden Bypass )
• Que se puedan Vizualizar los /etc/named.conf (Tambien se Puede Bypass)
EMPEZANDO A EXPLOTAR SYMLINK• Empezamos.. Tenemos ya shell up en un server. Y verifcamos si se leen los etc/passwd
EXPLOTANDO SYMLINKEmpezamos y creare una carpeta en el sitio para hacer el symlink totalmente limpio.Llamare a la carpeta “x”
• Mkdir x
Entraremos a esa carpeta, y lo que haremos es Sacar el /root Con los siguiente comando:
• ln -s / root
Automáticamente nos debe salir en la carpeta el enlace / root
Este nos dará la posibilidad de mirar todo el servidor.
SACANDO EL ROOT• Visualizando el enlace symbolico al /root
VISUALIZANDO ROOT• lo podremos vizualizar via url
LOCALIZANDO OBJETIVO.• Luego de haber sacado el root debemos dar reversa a la ip del servidor y localizar un
website del servidor con alguna CMS ( Joomla, Worpress , Etc…”) Con el fin de sacar la configuracion de la base de datos. En mi caso ya tengo un objectivo del servidor que es: Podemos “Bingear” Usando :
• IP:$IpDelServer$ Joomla
• IP:$IpDelServer$ Worpress
• ej: IP: 182.111.40.21 Siendo $IpDelServer$ La Variable ( La ip de el servidor ) Una vez sacado un objetivo se debe buscar..
VIZUALIZANDO OBJETIVO• el nombre ese sitio en el servidor y lo prodremos hacer con este comando:
• ls -la /etc/valiases/$site.com
• Solo remplazas $site.com por el sitio escojido dentro del servidor y Wala! Tendras el nombre del sitio en el servidor.. yo voy a hacerlo con un tienda hecha en worpress.
VIZUALIZANDO CONFIG.• Se Guarda el nombre que te dio el nombre ( Parte subrayada en la imagen ) y nos
devolvemos de nuevo a la carpeta del root y empezamos a ingresar por medio de la url:
• sitio/x/root/
• sitio/x/root/home/
• sitio/x/root/home/$Nombre/
• Sitio/x/root/home/$Nombre/Public_html/
• Sitio/x/root/home/$Nombre/Public_html/wp-config.php ( Config de la Worpress )
WALA!!• Wala! en mi caso de ejemplo:
•
• Visualizando la config del sitio.
SYMLINK BYPASS• Bueno Habra caso donde no de logre visualizar la config por q te diga “forhiben” Para
eso solo debes subir un .htaccess a la carpeta /x/ con esto adentro:
• y bueno ya solo falta ingresar a la DB , Cambiar la pass y entrar ! #HappyHacking!
Options IndexesFollowSymLinksDirectoryIndex ssssss.htmAddType txt .php AddHandler txt .php
AHORA PENSEMOS…
• Usando Symlink, ya no es necesario hacer un ataque directo aun sitio. Usando este método, podremos ‘hackear’ un website del servidor y usarlo para entrar al verdadero objetivo.
MAPA DE ATAQUE.
Server
Objetivo
Otros sites
Otros sites
Otros sites
Otros sites
Sitio Vulnerable
Hacker
SymLInk
DEMO LIVE!
• #HappyHacking
@Yarolinux
«SYMLINK EUROPEO»
«SYMLINK EUROPEO» YAROLINUX
• Básicamente el Symlink Europeo o Symlink en servidores Parallels Plesk Panel
• Este tiene otro Tipo de Estructura.
Que es el Siguiente:
• Var/www/vhosts/
SYMLINK EUROPEO
• El error se encontró en los sistemas que manejaban esa estructura /var/www/vhosts/ usando los mismos comandos de el symlink y vizualizar archivos del servidor sin permiso. Listando los otros sitios del servidor sin nesecidad de Reversear DNS.
EXPLOTANDO SYMLINK EUROPEO
• Empezamos teniendo una shell up en un servidor con la estructura ya mencionada.
Luego empezamos a ejecutar los siguientes comandos:
• Listamos los sitios del servidor :
• ls /var/www/vhosts/
• Inmediatamente al ejecutar ese codigo nos mostrara la lista de sitios en el servidor:
SYMLINK EUROPEO PWND!
• Luego de listar los dominios, miraremos que tiene cada dominio (ficheros) y utilizamos el comando:
• Ls –l /var/www/vhosts/*/httpdocs/
• Con este comando se nos vizualizaran todos los archivos del servidor de todos los dominios
SYMLINK EUROPEO PWND!
• Lo que debemos hacer es localizar un carpeta dentro del sitio, la cual nos dará la oportunidad de copiar nuestra Shell en otro dominio del servidor.
• Ya teniendo el target definido empezamos:
• Guardamos la ubicación completa. Ej.:
• /var/www/vhosts/sitiovulnerable.com/httpdocs/tmp/
• Le añadimos la carpeta del sitio : /tmp/
SYMLINK EUROPEO PWND!
• Y ahora usamos toda esa dirección para hacer una copia de nuestra Shell ejecutamos el comando de copiar + archivo + dirección
Cp 404.php /var/www/vhosts/sitiovulnerable.com/httpdocs/tmp/
Ya tenemos la Shell copiada a otro dominio y solo es abrir vía url.
#HappyHacking!
CONCLUSIONES
• El Symlink puede ser una vulnerabilidad critica , que si no se soluciona en los servidores, muy fácilmente pueden caer muchos sitios del mismo hosting compartido.
Esta vulnerabilidad se soluciona deshabilitando la función del servidor «FollowSymlink» & «Open_Base_Dir»
Evitando de esa manera el enlace symbolico a /root y el copiado de archivos entre usuarios.
GRACIAS!
Síguenos en Twitter !
• @Dylan_Irzi11 & @Yarolinux
• Y Visita nuestro Sitio:
www.WebSecurityDev.com