3128/tcp - Pentesting Squid

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

Información básica

Desde Wikipedia:

Squid es un proxy web HTTP de reenvío y almacenamiento en caché. Tiene una amplia variedad de usos, incluyendo acelerar un servidor web mediante el almacenamiento en caché de solicitudes repetidas, almacenar en caché búsquedas web, DNS y otras consultas de red para un grupo de personas que comparten recursos de red, y ayudar a la seguridad mediante el filtrado de tráfico. Aunque se usa principalmente para HTTP y FTP, Squid incluye soporte limitado para varios otros protocolos, incluyendo Internet Gopher, SSL, TLS y HTTPS. Squid no soporta el protocolo SOCKS, a diferencia de Privoxy, con el que Squid puede usarse para proporcionar soporte SOCKS.

Puerto por defecto: 3128

PORT     STATE  SERVICE      VERSION
3128/tcp open   http-proxy   Squid http proxy 4.11

Enumeration

Web Proxy

Puedes intentar configurar este servicio descubierto como proxy en tu navegador. Sin embargo, si está configurado con HTTP authentication, se te solicitarán nombre de usuario y contraseña.

# Try to proxify curl
curl --proxy http://10.10.11.131:3128 http://10.10.11.131

Nmap a través del proxy

También puedes intentar abusar del proxy para escanear puertos internos ejecutando nmap a través del proxy.
Configura proxychains para usar el proxy squid añadiendo la siguiente línea al final del archivo proxichains.conf: http 10.10.10.10 3128
Para proxies que requieran autenticación, añade las credenciales a la configuración incluyendo el usuario y la contraseña al final: http 10.10.10.10 3128 username passw0rd.

Luego ejecuta nmap con proxychains para escanear el host desde local: proxychains nmap -sT -n -p- localhost

SPOSE Scanner

Alternativamente, se puede usar el Squid Pivoting Open Port Scanner (spose.py).

python spose.py --proxy http://10.10.11.131:3128 --target 10.10.11.131

Pivot & tooling configuration

Usa Squid como discovery pivot y como un upstream hop transparente para herramientas CLI y de navegador.

  • Scan “from” the proxy: ejecuta SPOSE a través de Squid para enumerar los puertos alcanzables desde el proxy host/loopback. Con uv puedes instalar deps y escanear todos los puertos TCP directamente:
uv add --script spose.py -r requirements.txt
uv run spose.py --proxy http://SQUID_IP:3128 --target localhost --allports
  • Proxychains for HTTP interaction: añade una entrada HTTP estricta al final de /etc/proxychains.conf:
[ProxyList]
http    SQUID_IP   3128

Luego interactúa con listeners internos (p. ej., una web UI vinculada a 127.0.0.1) de forma transparente a través de Squid:

proxychains curl http://127.0.0.1:9191 -v
  • Encadenamiento Burp/Browser → Squid: configura Burp Proxy → Settings → Network → Connections → Upstream proxy servers para que apunte a http://SQUID_IP:3128. Las solicitudes a hosts internos como http://127.0.0.1:9191 atravesarán Browser → Burp → Squid → objetivo, permitiendo la interceptación completa de servicios que de otro modo no serían accesibles externamente.

Referencias

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks