3128/tcp - Pentesting Squid

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Informations de base

D’après Wikipedia:

Squid est un proxy web HTTP de mise en cache et de relais. Il a une grande variété d’utilisations, notamment l’accélération d’un serveur web en mettant en cache les requêtes répétées, la mise en cache des recherches web, DNS et autres recherches de réseau informatique pour un groupe de personnes partageant des ressources réseau, et le renforcement de la sécurité par le filtrage du trafic. Bien qu’il soit principalement utilisé pour HTTP et FTP, Squid inclut un support limité pour plusieurs autres protocoles, notamment Internet Gopher, SSL, TLS et HTTPS. Squid ne prend pas en charge le protocole SOCKS, contrairement à Privoxy, avec lequel Squid peut être utilisé afin de fournir un support SOCKS.

Port par défaut : 3128

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

Énumération

Proxy Web

Vous pouvez essayer de configurer ce service découvert comme proxy dans votre navigateur. Toutefois, s’il est configuré avec une authentification HTTP, vous serez invité à fournir un nom d’utilisateur et un mot de passe.

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

Nmap proxified

Vous pouvez aussi essayer d’abuser du proxy pour scanner des ports internes en faisant passer nmap par celui-ci.
Configurez proxychains pour utiliser le squid proxy en ajoutant la ligne suivante à la fin du fichier proxichains.conf: http 10.10.10.10 3128 Pour les proxies nécessitant une authentification, ajoutez les identifiants à la configuration en incluant le nom d’utilisateur et le mot de passe à la fin: http 10.10.10.10 3128 username passw0rd.

Ensuite, lancez nmap avec proxychains pour scanner l’hôte depuis la machine locale: proxychains nmap -sT -n -p- localhost

SPOSE Scanner

Alternativement, le Squid Pivoting Open Port Scanner (spose.py) peut être utilisé.

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

Pivot & tooling configuration

Utilisez Squid comme pivot de découverte et comme saut upstream transparent pour les outils CLI et les navigateurs.

  • Scan “from” the proxy : lancez SPOSE via Squid pour énumérer les ports accessibles depuis le proxy host/loopback. Avec uv vous pouvez installer deps et scanner directement tous les ports TCP :
uv add --script spose.py -r requirements.txt
uv run spose.py --proxy http://SQUID_IP:3128 --target localhost --allports
  • Proxychains pour l’interaction HTTP : ajoutez une entrée HTTP stricte en bas de /etc/proxychains.conf :
[ProxyList]
http    SQUID_IP   3128

Ensuite, interagissez avec des internal listeners (p. ex., une web UI liée à 127.0.0.1) de manière transparente via Squid :

proxychains curl http://127.0.0.1:9191 -v
  • Chaining Burp/Browser → Squid: configurez Burp Proxy → Settings → Network → Connections → Upstream proxy servers pour pointer vers http://SQUID_IP:3128. Les requêtes vers des hôtes internes tels que http://127.0.0.1:9191 traverseront Browser → Burp → Squid → target, permettant l’interception complète de services qui ne seraient pas accessibles depuis l’extérieur.

Références

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks