Enumeración y explotación de SQUID Proxies
El Squid Proxy
El Squid Proxy es un servidor web proxy-caché con licencia GPL cuyo objetivo es funcionar como proxy de la red y también como zona caché para almacenar páginas web, entre otros. Actúa como protección separando las dos redes y como zona caché para acelerar el acceso a páginas web o restringir el acceso a contenidos.
La función principal de un servidor proxy es centralizar el tráfico de una red local hacia el exterior (Internet). Sólo el equipo con el servicio proxy debe tener conexión a Internet y el resto de equipos sale a través de él:
En algunos casos, un servidor Squid Proxy mal configurado podría permitir a los atacantes recopilar información de dispositivos a los que normalmente no deberían tener acceso.
Por ejemplo, un atacante podría realizar peticiones a direcciones IP internas pasando sus consultas a través del Squid Proxy, lo que permitiría un escaneo de puertos contra servidores en una red interna.
Para ello, se puede utilizar extensiones de navegador como FoxyProxy o desde consola haciendo uso del comando ‘curl‘:
➜ curl --proxy http://10.10.11.131:3128 http://ip:port
En el mejor de los casos, si la conexión no requiere autenticación, se puede llevar a cabo una enumeración de puertos en servidores internos concretos. Si se requiere autenticación, el atacante podría especificar las credenciales usando el parámetro ‘-u‘.
Todo esto es posible porque el proxy actúa como intermediario entre la red local y la externa, permitiendo el acceso a recursos internos que normalmente no estarían disponibles desde el exterior.
Es importante tener en cuenta que el acceso a estos recursos a través del proxy puede estar restringido por políticas de seguridad, autenticación u otros mecanismos de control de acceso. Además, si el proxy está configurado correctamente, es probable que no permita el acceso a recursos internos desde el exterior, incluso si se está pasando a través de él.
Una herramienta comúnmente utilizada para enumerar puertos de un servidor a través del Squid Proxy es spose.
Spose es una herramienta de escaneo de puertos diseñada para trabajar a través de servidores Squid Proxy. Permite a los atacantes buscar posibles servicios y puertos abiertos en una red interna “protegida” por un servidor Squid Proxy.
También se comparte el enlace de descarga de la máquina SickOs de Vulnhub:
Adicionalmente, en esta clase se desarrollará una pequeña herramienta en Python que permitirá enumerar puertos abiertos en un servidor pasando por el Squid Proxy.
Se intentará llegar al puerto 80 empleando el proxy que hay:
Se muestra el contenido de la página:
Se puede crear un proxy con FoxyProxy:
Y se pasa por ese Squid Proxy para llegar a la web, realizar un reconocimiento de directorios:
y descubrimos directorios, cosa que no veriamos si no pasamos por ese proxy.:
