3128/tcp - Pentesting Squid

Tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

Grundlegende Informationen

Von Wikipedia:

Squid ist ein Caching- und Forwarding-HTTP-Webproxy. Es hat eine breite Palette von Einsatzmöglichkeiten, einschließlich der Beschleunigung eines Webservers durch das Caching wiederholter Anfragen, dem Caching von Web-, DNS- und anderen Computernetzwerk-Abfragen für eine Gruppe von Personen, die Netzwerkressourcen gemeinsam nutzen, sowie der Unterstützung der Sicherheit durch Filterung des Datenverkehrs. Obwohl es hauptsächlich für HTTP und FTP verwendet wird, bietet Squid eingeschränkte Unterstützung für mehrere andere Protokolle, darunter Internet Gopher, SSL, TLS und HTTPS. Squid unterstützt nicht das SOCKS-Protokoll, im Gegensatz zu Privoxy, mit dem Squid verwendet werden kann, um SOCKS-Unterstützung bereitzustellen.

Default port: 3128

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

Enumeration

Web Proxy

Sie können versuchen, diesen entdeckten Dienst als Proxy in Ihrem Browser zu setzen. Wenn er jedoch mit HTTP-Authentifizierung konfiguriert ist, werden Sie zur Eingabe von Benutzernamen und Passwort aufgefordert.

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

Nmap proxified

Du kannst auch versuchen, den Proxy auszunutzen, um interne Ports zu scannen, indem du nmap über den Proxy ausführst.
Konfiguriere proxychains so, dass es den squid proxy verwendet, indem du die folgende Zeile am Ende der proxichains.conf Datei hinzufügst: http 10.10.10.10 3128
Bei Proxies, die Authentifizierung erfordern, hänge die Zugangsdaten an die Konfiguration an, indem du Benutzername und Passwort am Ende hinzufügst: http 10.10.10.10 3128 username passw0rd.

Führe dann nmap mit proxychains aus, um den Host lokal zu scannen: proxychains nmap -sT -n -p- localhost

SPOSE Scanner

Alternativ kann der Squid Pivoting Open Port Scanner (spose.py) verwendet werden.

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

Pivot & Tooling-Konfiguration

Verwende Squid als Discovery-Pivot und als transparenten Upstream-Hop für CLI- und Browser-Tools.

  • Scan “from” the proxy: Führe SPOSE über Squid aus, um Ports zu enumerieren, die vom Proxy-Host/Loopback erreichbar sind. Mit uv kannst du deps installieren und direkt alle TCP-Ports scannen:
uv add --script spose.py -r requirements.txt
uv run spose.py --proxy http://SQUID_IP:3128 --target localhost --allports
  • Proxychains für HTTP-Interaktion: Hänge am Ende von /etc/proxychains.conf einen strikten HTTP-Eintrag an:
[ProxyList]
http    SQUID_IP   3128

Anschließend mit internen Listenern (z. B. einer an 127.0.0.1 gebundenen Weboberfläche) transparent über Squid interagieren:

proxychains curl http://127.0.0.1:9191 -v
  • Chaining Burp/Browser → Squid: Konfiguriere Burp Proxy → Settings → Network → Connections → Upstream proxy servers, sodass es auf http://SQUID_IP:3128 zeigt. Anfragen an interne Hosts wie http://127.0.0.1:9191 durchlaufen Browser → Burp → Squid → Ziel und ermöglichen das vollständige Abfangen von Diensten, die sonst extern nicht erreichbar wären.

Referenzen

Tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks