hacktricks/pentesting/1080-pentesting-socks.md

71 lines
1.3 KiB
Markdown
Raw Normal View History

# 1080 - Pentesting Socks
## Basic Information
SOCKS is an Internet protocol that exchanges network packets between a client and server through a proxy server. SOCKS5 optionally provides authentication,
so only authorized users may access a server.
Practically, a SOCKS server proxies TCP connections to an arbitrary IP address, and provides a means for UDP packets to be forwarded.
SOCKS performs at Layer 5 of the OSI model
**Default Port:** 1080
## Enumeration
### Authentication Check
```bash
nmap -p 1080 <ip> --script socks-auth-info
```
### Brute Force
#### Basic usage
```bash
nmap --script socks-brute -p 1080 <ip>
```
#### Advanced usage
```bash
nmap --script socks-brute --script-args userdb=users.txt,passdb=rockyou.txt,unpwdb.timelimit=30m -p 1080 <ip>
```
#### Output
```text
PORT STATE SERVICE
1080/tcp open socks
| socks-brute:
| Accounts
| patrik:12345 - Valid credentials
| Statistics
|_ Performed 1921 guesses in 6 seconds, average tps: 320
```
## Tunneling and Port Forwarding
### Basic proxychains usage
Setup proxy chains to use socks proxy
```text
nano /etc/proxychains4.conf
```
Edit the bottom and add your proxy
```text
socks5 10.10.10.10 1080
```
With auth
```text
socks5 10.10.10.10 1080 username password
```
#### More info: [Tunneling and Port Forwarding](../tunneling-and-port-forwarding.md)