3128/tcp - Pentesting Squid

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Informazioni di base

Da Wikipedia:

Squid è un proxy web HTTP di caching e inoltro. Ha una vasta gamma di usi, inclusi l’accelerazione di un web server mediante caching delle richieste ripetute, il caching di lookup web, DNS e di altre ricerche di rete per un gruppo di persone che condividono risorse di rete, e il supporto della sicurezza filtrando il traffico. Sebbene utilizzato principalmente per HTTP e FTP, Squid include un supporto limitato per diversi altri protocolli, inclusi Internet Gopher, SSL, TLS e HTTPS. Squid non supporta il protocollo SOCKS, a differenza di Privoxy, con cui Squid può essere usato per fornire supporto SOCKS.

Porta predefinita: 3128

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

Enumeration

Web Proxy

Puoi provare a impostare questo servizio scoperto come proxy nel tuo browser. Tuttavia, se è configurato con autenticazione HTTP, ti verrà richiesto di inserire nome utente e password.

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

Nmap proxified

Puoi anche provare ad abusare del proxy per scan internal ports proxifying nmap.
Configura proxychains per usare il proxy squid aggiungendo la seguente riga alla fine del file proxichains.conf: http 10.10.10.10 3128 Per i proxy che richiedono autenticazione, aggiungi le credenziali alla configurazione includendo username e password alla fine: http 10.10.10.10 3128 username passw0rd.

Poi esegui nmap con proxychains per scan the host from local: proxychains nmap -sT -n -p- localhost

SPOSE Scanner

In alternativa, può essere utilizzato lo Squid Pivoting Open Port Scanner (spose.py).

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

Pivot e configurazione degli strumenti

Usa Squid come pivot di discovery e come hop upstream trasparente per strumenti CLI e browser.

  • Scan “from” the proxy: esegui SPOSE attraverso Squid per enumerare le porte raggiungibili dall’host proxy/loopback. Con uv puoi installare deps e scansionare direttamente tutte le porte TCP:
uv add --script spose.py -r requirements.txt
uv run spose.py --proxy http://SQUID_IP:3128 --target localhost --allports
  • Proxychains per l’interazione HTTP: aggiungi in fondo a /etc/proxychains.conf una voce HTTP in modalità strict:
[ProxyList]
http    SQUID_IP   3128

Quindi interagisci con i listener interni (ad es., una web UI legata a 127.0.0.1) in modo trasparente tramite Squid:

proxychains curl http://127.0.0.1:9191 -v
  • Chaining Burp/Browser → Squid: configura Burp Proxy → Settings → Network → Connections → Upstream proxy servers per puntare a http://SQUID_IP:3128. Le richieste verso host interni come http://127.0.0.1:9191 attraverseranno Browser → Burp → Squid → target, permettendo l’intercettazione completa di servizi altrimenti non raggiungibili esternamente.

Riferimenti

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks