1080 - Pentesting Socks

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

SOCKS ist ein Protokoll, das zum Übertragen von Daten zwischen einem Client und einem Server über einen Proxy verwendet wird. Die fünfte Version, SOCKS5, fügt eine optionale Authentifizierungsfunktion hinzu, die nur autorisierten Benutzern Zugriff auf den Server erlaubt. Es behandelt hauptsächlich das Proxien von TCP-Verbindungen und das Weiterleiten von UDP-Paketen (über den Befehl UDP ASSOCIATE) und arbeitet auf der Sitzungsschicht (Layer 5) des OSI-Modells. Wenn Tools das socks5h-Schema unterstützen, wird die DNS-Auflösung durch den Proxy erzwungen, wodurch lokale DNS leaks verhindert werden und es schwieriger wird, den Ursprungs-Host zu fingerprinten.

Standard-Port: 1080

Enumeration

Authentication Check

nmap -p 1080 <ip> --script socks-auth-info

Brute Force

Grundlegende Verwendung

nmap --script socks-brute -p 1080 <ip>

Erweiterte Nutzung

nmap  --script socks-brute --script-args userdb=users.txt,passdb=rockyou.txt,unpwdb.timelimit=30m -p 1080 <ip>

Ausgabe

PORT     STATE SERVICE
1080/tcp open  socks
| socks-brute:
|   Accounts
|     patrik:12345 - Valid credentials
|   Statistics
|_    Performed 1921 guesses in 6 seconds, average tps: 320

Hydra-Modul

hydra -L users.txt -P passwords.txt -s 1080 -t 16 -V <ip> socks5

Methode & Aufzählung offener Proxies

nmap -sV --script socks-methods,socks-open-proxy -p 1080 <ip>

socks-methods zwingt den Server dazu, die unterstützten Authentifizierungstypen aufzulisten, während socks-open-proxy versucht, einen ausgehenden CONNECT durchzuführen, um zu bestätigen, ob der Dienst als Relay missbraucht werden kann.

Raw handshake check

printf '\x05\x01\x00' | nc -nv <ip> 1080

Eine \x05 01 00-Antwort zeigt, dass SOCKS5 “no authentication” anbietet. Jedes \x00, gefolgt von \x02, bedeutet, dass username/password erforderlich ist, was nützlich ist, um exponierte Geräte in scripts schnell zu fingerprinten.

Schnelle Egress-Validierung

curl --socks5-hostname <ip>:1080 https://ifconfig.me
curl --socks5-hostname user:pass@<ip>:1080 http://internal.target

Verwende --socks5-hostname (oder socks5h:// URLs), damit die DNS-Auflösung remote erfolgt. Kombiniere das mit proxychains4 -q nmap -sT -Pn --top-ports 200 <internal-host>, um zu überprüfen, ob der Proxy tatsächlich Zugriff auf interne Hosts ermöglicht.

Internetweite discovery / fingerprinting

masscan 0.0.0.0/0 -p1080 --banners --rate 100000 -oX socks.xml

Gib Ergebnisse zurück an NSE, zgrab2 oder eigene Python-Skripte, um vielversprechende Hosts zu priorisieren (z. B. Banner-Strings wie 3proxy, Dante, MikroTik).

Tunneling and Port Forwarding

Für Informationen zu tunneling und post forwarding siehe die Seite: Tunneling and Port Forwarding

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