1080 - Pentesting Socks

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

Información básica

SOCKS es un protocolo usado para transferir datos entre un cliente y un servidor a través de un proxy. La quinta versión, SOCKS5, añade una característica de autenticación opcional, permitiendo que solo usuarios autorizados accedan al servidor. Maneja principalmente el proxy de conexiones TCP y el reenvío de paquetes UDP (vía el comando UDP ASSOCIATE), operando en la capa de sesión (Layer 5) del modelo OSI. Cuando las herramientas soportan el esquema socks5h, la resolución DNS se fuerza a través del proxy, previniendo local DNS leaks y dificultando el fingerprint del host de origen.

Puerto por defecto: 1080

Enumeración

Comprobación de autenticación

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

Brute Force

Uso básico

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

Uso avanzado

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

No tengo el contenido del archivo src/network-services-pentesting/1080-pentesting-socks.md. Por favor, pega aquí el contenido markdown que quieres traducir y lo traduciré al español siguiendo las reglas que indicaste.

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

Módulo de Hydra

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

Método y enumeración de open-proxy

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

socks-methods obliga al servidor a listar los tipos de autenticación soportados, mientras que socks-open-proxy intenta un CONNECT saliente para confirmar si el servicio puede ser abusado como relé.

Comprobación del handshake sin procesar

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

Una respuesta \x05 01 00 indica que SOCKS5 ofrece “no authentication”. Cualquier \x00 seguido de \x02 indica que se requiere username/password, útil para fingerprinting rápido de dispositivos expuestos en scripts.

Validación rápida de egress

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

Usa --socks5-hostname (o socks5h:// URLs) para que la resolución DNS se realice de forma remota. Combínalo con proxychains4 -q nmap -sT -Pn --top-ports 200 <internal-host> para verificar si el proxy realmente proporciona alcance interno.

Descubrimiento a escala de Internet / fingerprinting

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

Alimenta los resultados de nuevo en NSE, zgrab2, o scripts python personalizados para priorizar hosts prometedores (p. ej., cadenas de banner como 3proxy, Dante, MikroTik).

Tunneling and Port Forwarding

Para información sobre tunneling y port forwarding consulta la página: Tunneling and Port Forwarding

Referencias

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks