1080 - Pentesting Socks

Tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks

Informações Básicas

SOCKS é um protocolo usado para transferir dados entre um cliente e um servidor através de um proxy. A quinta versão, SOCKS5, adiciona um recurso opcional de autenticação, permitindo que apenas usuários autorizados acessem o servidor. Ele lida principalmente com o proxy de conexões TCP e o encaminhamento de pacotes UDP (via o comando UDP ASSOCIATE), operando na camada de sessão (Camada 5) do modelo OSI. Quando ferramentas suportam o esquema socks5h, a resolução de DNS é forçada através do proxy, prevenindo DNS leak local e tornando mais difícil identificar o host de origem.

Porta padrão: 1080

Enumeração

Verificação de Autenticação

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

Brute Force

Uso básico

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

Uso avançado

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

Saída

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 Hydra

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

Método & open-proxy enumeration

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

socks-methods força o servidor a listar os tipos de autenticação suportados, enquanto socks-open-proxy tenta um outbound CONNECT para confirmar se o serviço pode ser abusado como um relay.

Verificação do handshake bruto

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

Uma resposta \x05 01 00 indica que o SOCKS5 oferece “no authentication”. Qualquer \x00 seguido por \x02 significa que username/password é necessário, o que é útil para fingerprinting rápido de dispositivos expostos em scripts.

Validação rápida de egress

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

Use --socks5-hostname (or socks5h:// URLs) para que a resolução de DNS ocorra remotamente. Combine-o com proxychains4 -q nmap -sT -Pn --top-ports 200 <internal-host> para verificar se o proxy realmente fornece acesso à rede interna.

Descoberta em toda a Internet / fingerprinting

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

Reinsira os resultados no NSE, zgrab2 ou em scripts python personalizados para priorizar hosts promissores (por exemplo, strings de banner como 3proxy, Dante, MikroTik).

Tunneling and Port Forwarding

Para informações sobre tunneling e port forwarding, consulte a página: Tunneling and Port Forwarding

Referências

Tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks