3128/tcp - Pentesting Squid

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Βασικές Πληροφορίες

Από Wikipedia:

Squid είναι ένας διακομιστής μεσολάβησης (proxy) HTTP που παρέχει προσωρινή αποθήκευση (caching) και προώθηση (forwarding). Έχει ευρύ φάσμα χρήσεων, συμπεριλαμβανομένης της επιτάχυνσης ενός web server με την προσωρινή αποθήκευση επαναλαμβανόμενων αιτήσεων, της προσωρινής αποθήκευσης web, DNS και άλλων αναζητήσεων δικτύου για μια ομάδα χρηστών που μοιράζονται πόρους δικτύου, και της ενίσχυσης της ασφάλειας με φιλτράρισμα της κυκλοφορίας. Αν και χρησιμοποιείται κυρίως για HTTP και FTP, το Squid περιλαμβάνει περιορισμένη υποστήριξη για αρκετά άλλα πρωτόκολλα, όπως Internet Gopher, SSL, TLS και HTTPS. Το Squid δεν υποστηρίζει το πρωτόκολλο SOCKS, σε αντίθεση με το Privoxy, με το οποίο το Squid μπορεί να χρησιμοποιηθεί για να παρέχει υποστήριξη SOCKS.

Προεπιλεγμένη θύρα: 3128

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

Απογραφή

Web Proxy

Μπορείτε να δοκιμάσετε να ορίσετε αυτήν την ανακαλυφθείσα υπηρεσία ως proxy στον browser σας. Ωστόσο, εάν είναι διαμορφωμένη με HTTP authentication, θα σας ζητηθούν usernames and password.

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

Nmap proxified

Μπορείτε επίσης να προσπαθήσετε να αξιοποιήσετε τον proxy για να σκανάρετε εσωτερικές θύρες προωθώντας το nmap μέσω proxy.
Ρυθμίστε το proxychains να χρησιμοποιεί τον squid proxy προσθέτοντας την εξής γραμμή στο τέλος του αρχείου proxichains.conf: http 10.10.10.10 3128
Για proxies που απαιτούν authentication, προσθέστε τα credentials στη ρύθμιση συμπεριλαμβάνοντας το username και το password στο τέλος: http 10.10.10.10 3128 username passw0rd.

Έπειτα τρέξτε το nmap με proxychains για να σκανάρετε τον host τοπικά: proxychains nmap -sT -n -p- localhost

SPOSE Scanner

Εναλλακτικά, μπορεί να χρησιμοποιηθεί το Squid Pivoting Open Port Scanner (spose.py).

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

Pivot & ρύθμιση εργαλείων

Χρησιμοποιήστε Squid ως discovery pivot και ως transparent upstream hop για εργαλεία CLI και browser.

  • Scan “from” the proxy: τρέξτε SPOSE μέσω Squid για να απαριθμήσετε τις θύρες προσβάσιμες από τον proxy host/loopback. Με uv μπορείτε να εγκαταστήσετε deps και να σαρώσετε όλες τις TCP θύρες απευθείας:
uv add --script spose.py -r requirements.txt
uv run spose.py --proxy http://SQUID_IP:3128 --target localhost --allports
  • Proxychains για αλληλεπίδραση HTTP: προσθέστε μια αυστηρή εγγραφή HTTP στο κάτω μέρος του /etc/proxychains.conf:
[ProxyList]
http    SQUID_IP   3128

Στη συνέχεια αλληλεπιδράστε με εσωτερικούς listeners (π.χ., ένα web UI δεσμευμένο στο 127.0.0.1) διαφανώς μέσω Squid:

proxychains curl http://127.0.0.1:9191 -v
  • Chaining Burp/Browser → Squid: ρυθμίστε το Burp Proxy → Settings → Network → Connections → Upstream proxy servers ώστε να δείχνει σε http://SQUID_IP:3128. Τα αιτήματα προς εσωτερικούς hosts όπως http://127.0.0.1:9191 θα διασχίζουν Browser → Burp → Squid → target, επιτρέποντας πλήρη υποκλοπή υπηρεσιών που διαφορετικά δεν είναι προσβάσιμες εξωτερικά.

Αναφορές

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks