3128/tcp - Pentesting Squid

Tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks

Informações Básicas

De Wikipedia:

Squid é um proxy HTTP de cache e encaminhamento. Possui uma ampla variedade de usos, incluindo acelerar um servidor web ao armazenar em cache requisições repetidas, armazenar em cache consultas web, DNS e outras consultas de rede para um grupo de pessoas que compartilham recursos de rede, e auxiliar na segurança filtrando o tráfego. Embora seja usado principalmente para HTTP e FTP, o Squid inclui suporte limitado para vários outros protocolos, incluindo Internet Gopher, SSL, TLS e HTTPS. O Squid não suporta o protocolo SOCKS, ao contrário do Privoxy, com o qual o Squid pode ser usado para fornecer suporte a SOCKS.

Porta padrão: 3128

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

Enumeração

Web Proxy

Você pode tentar configurar este serviço descoberto como proxy no seu navegador. No entanto, se estiver configurado com autenticação HTTP, você será solicitado a inserir nome de usuário e senha.

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

Nmap proxified

Você também pode tentar abusar do proxy para escanear portas internas proxificando o nmap.
Configure o proxychains para usar o proxy squid adicionando a seguinte linha ao final do arquivo proxichains.conf: http 10.10.10.10 3128
Para proxies que requerem autenticação, acrescente as credenciais na configuração incluindo o nome de usuário e a senha no final: http 10.10.10.10 3128 username passw0rd.

Em seguida execute o nmap com proxychains para escanear o host a partir da máquina local: proxychains nmap -sT -n -p- localhost

SPOSE Scanner

Como alternativa, o Squid Pivoting Open Port Scanner (spose.py) pode ser usado.

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

Pivot & configuração de ferramentas

Use Squid como um pivot de descoberta e um upstream hop transparente para ferramentas CLI e de navegador.

  • Scan “from” the proxy: execute o SPOSE através do Squid para enumerar portas acessíveis a partir do host/loopback do proxy. Com uv você pode instalar deps e scan todas as portas TCP diretamente:
uv add --script spose.py -r requirements.txt
uv run spose.py --proxy http://SQUID_IP:3128 --target localhost --allports
  • Proxychains para interação HTTP: adicione uma entrada HTTP estrita na parte inferior de /etc/proxychains.conf:
[ProxyList]
http    SQUID_IP   3128

Em seguida, interaja com internal listeners (por exemplo, uma web UI vinculada a 127.0.0.1) de forma transparente através do Squid:

proxychains curl http://127.0.0.1:9191 -v
  • Encadeando Burp/Browser → Squid: configure o Burp Proxy → Settings → Network → Connections → Upstream proxy servers para apontar para http://SQUID_IP:3128. Requisições para hosts internos como http://127.0.0.1:9191 irão percorrer Browser → Burp → Squid → target, permitindo interceptação completa de serviços que, de outra forma, não seriam acessíveis externamente.

Referências

Tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks