# 1080 - Pentesting Socks
Lernen Sie das Hacken von AWS von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!
Andere Möglichkeiten, HackTricks zu unterstützen:
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories senden.
## 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 den Zugriff auf den Server ermöglicht. Es behandelt hauptsächlich das Proxying von TCP-Verbindungen und das Weiterleiten von UDP-Paketen und arbeitet auf der Sitzungsschicht (Layer 5) des OSI-Modells.
**Standardport:** 1080
## Enumeration
### Überprüfung der Authentifizierung
```bash
nmap -p 1080 --script socks-auth-info
```
#### Grundlegende Verwendung
Die Brute-Force-Methode ist eine gängige Technik, um Benutzernamen und Passwörter für verschiedene Dienste zu erraten. Es beinhaltet das systematische Ausprobieren aller möglichen Kombinationen, bis die richtigen Anmeldeinformationen gefunden werden.
Um die Brute-Force-Methode anzuwenden, können Sie Tools wie Hydra oder Medusa verwenden. Diese Tools ermöglichen es Ihnen, eine Liste von Benutzernamen und eine Liste von Passwörtern anzugeben, die dann automatisch ausprobiert werden.
Hier ist ein Beispiel für die Verwendung von Hydra, um einen SSH-Server anzugreifen:
```plaintext
hydra -l -P ssh://
```
In diesem Beispiel wird Hydra verwendet, um den SSH-Server auf der angegebenen Ziel-IP-Adresse anzugreifen. Das Tool wird die angegebene Benutzerliste und die Passwortliste verwenden, um verschiedene Kombinationen auszuprobieren, bis das richtige Passwort gefunden wird.
Es ist wichtig zu beachten, dass die Brute-Force-Methode zeitaufwändig sein kann und von den Sicherheitsvorkehrungen des Ziels abhängt. Einige Dienste können nach einer bestimmten Anzahl von fehlgeschlagenen Anmeldeversuchen blockiert werden, um solche Angriffe zu verhindern.
```bash
nmap --script socks-brute -p 1080
```
#### Fortgeschrittene Verwendung
##### Socks Proxy
Ein Socks-Proxy ist ein Protokoll, das verwendet wird, um den Datenverkehr zwischen einem Client und einem Server über einen Proxy-Server zu leiten. Es ermöglicht dem Client, Verbindungen zu verschiedenen Netzwerkdiensten über den Proxy herzustellen, ohne dass der Client die Details der Verbindung kennt.
##### Socks4
Socks4 ist eine ältere Version des Socks-Protokolls, die nur IPv4-Adressen unterstützt. Es bietet keine Authentifizierungsmöglichkeiten und ist daher weniger sicher als Socks5.
##### Socks5
Socks5 ist die neueste Version des Socks-Protokolls und bietet erweiterte Funktionen im Vergleich zu Socks4. Es unterstützt sowohl IPv4- als auch IPv6-Adressen und bietet verschiedene Authentifizierungsmethoden, einschließlich Benutzername/Passwort und GSSAPI.
##### Socks5-Authentifizierung
Die Socks5-Authentifizierung ermöglicht es dem Proxy-Server, den Client zu authentifizieren, bevor eine Verbindung hergestellt wird. Dies erhöht die Sicherheit, da nur autorisierte Clients auf den Proxy zugreifen können.
##### Socks5-Verbindungsaufbau
Um eine Verbindung über einen Socks5-Proxy herzustellen, muss der Client eine Verbindung zum Proxy-Server herstellen und eine Verbindungsanfrage senden. Der Proxy-Server überprüft die Anfrage und leitet sie gegebenenfalls an den Zielserver weiter. Sobald die Verbindung hergestellt ist, fungiert der Proxy als Vermittler zwischen dem Client und dem Server.
##### Socks5-Portweiterleitung
Socks5 unterstützt auch die Portweiterleitung, bei der der Proxy-Server den Datenverkehr von einem bestimmten Port an den Client weiterleitet. Dies ermöglicht es dem Client, auf Dienste zuzugreifen, die auf einem entfernten Server ausgeführt werden, als ob sie lokal ausgeführt würden.
##### Socks5-Verbindungsverschlüsselung
Um die Sicherheit zu erhöhen, kann eine Socks5-Verbindung verschlüsselt werden. Dies kann durch die Verwendung von SSL/TLS oder anderen Verschlüsselungsprotokollen erreicht werden. Die Verschlüsselung schützt den Datenverkehr vor Abhören und Manipulation durch Dritte.
##### Socks5-Proxy-Tools
Es gibt verschiedene Tools, die verwendet werden können, um mit Socks5-Proxies zu arbeiten, einschließlich Proxychains, SocksCap und Proxifier. Diese Tools ermöglichen es dem Benutzer, den gesamten Netzwerkverkehr über einen Socks5-Proxy umzuleiten, ohne dass einzelne Anwendungen konfiguriert werden müssen.
```bash
nmap --script socks-brute --script-args userdb=users.txt,passdb=rockyou.txt,unpwdb.timelimit=30m -p 1080
```
# Pentesting SOCKS
## Introduction
SOCKS (Socket Secure) is a protocol that allows a client to establish a connection through a proxy server. It is commonly used for bypassing network restrictions and anonymizing internet traffic. In this section, we will explore various techniques for pentesting SOCKS servers.
## Enumeration
### Version Detection
To determine the version of the SOCKS server, we can send a `SOCKS5` handshake request and analyze the response. The server will reply with its supported version and authentication methods.
```bash
$ nc -v
> 05 01 00
< 05 00
```
### User Enumeration
Some SOCKS servers may require authentication. We can attempt to enumerate valid usernames by sending a `SOCKS5` handshake request with different usernames and analyzing the server's response.
```bash
$ nc -v
> 05 01 00 02 00 00 00 00 00 00
< 05 02
```
## Exploitation
### Proxy Chaining
SOCKS servers can be used to chain multiple proxies together, allowing us to hide our true identity and location. By configuring our browser or other applications to use a SOCKS proxy, we can route our traffic through multiple proxies before reaching the final destination.
### Traffic Analysis
Since SOCKS proxies can be used to anonymize internet traffic, they are often targeted by attackers for malicious activities. By analyzing the traffic passing through a SOCKS server, we can identify potential security vulnerabilities or suspicious behavior.
### Credential Brute-Forcing
If the SOCKS server requires authentication, we can attempt to brute-force valid usernames and passwords. This can be done using tools like Hydra or Burp Suite's Intruder module.
## Conclusion
Pentesting SOCKS servers is essential for identifying potential security weaknesses and ensuring the privacy and integrity of network traffic. By understanding the enumeration and exploitation techniques discussed in this section, we can effectively assess the security of SOCKS servers.
```
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 und Portweiterleitung
### Grundlegende Verwendung von Proxychains
Richten Sie Proxychains ein, um einen Socks-Proxy zu verwenden
```
nano /etc/proxychains4.conf
```
Editiere den folgenden Abschnitt und füge deinen Proxy hinzu:
```markdown
## Pentesting SOCKS
### Introduction
SOCKS (Socket Secure) is a protocol that allows a client to establish a connection through a proxy server. It is commonly used for bypassing network restrictions and anonymizing internet traffic.
### Pentesting SOCKS
When pentesting SOCKS, there are several areas to focus on:
1. **Proxy Server Configuration**: Check the configuration of the proxy server, including authentication mechanisms, access controls, and logging settings.
2. **Authentication Mechanisms**: Test the strength of authentication mechanisms used by the proxy server. Look for weak or default credentials that could be exploited.
3. **Access Controls**: Identify any misconfigurations or vulnerabilities in the access control settings of the proxy server. This could include allowing unauthorized access or failing to enforce restrictions.
4. **Logging and Monitoring**: Analyze the logging and monitoring capabilities of the proxy server. Look for any potential information leaks or vulnerabilities that could be exploited.
### Tools for Pentesting SOCKS
Here are some tools commonly used for pentesting SOCKS:
- **Proxychains**: A tool that allows you to run any program through a proxy server.
- **Burp Suite**: A web application testing tool that can be configured to use a SOCKS proxy.
- **Nmap**: A network scanning tool that can be used to identify open SOCKS ports.
### Conclusion
Pentesting SOCKS involves assessing the security of proxy servers and identifying any vulnerabilities that could be exploited. By understanding the configuration, authentication mechanisms, access controls, and logging settings of the proxy server, you can effectively test its security and ensure the protection of sensitive information.
```
Füge deinen Proxy hinzu:
```markdown
## Pentesting SOCKS
### Einführung
SOCKS (Socket Secure) ist ein Protokoll, das es einem Client ermöglicht, eine Verbindung über einen Proxy-Server herzustellen. Es wird häufig verwendet, um Netzwerkbeschränkungen zu umgehen und den Internetverkehr anonym zu machen.
### Pentesting SOCKS
Beim Pentesting von SOCKS gibt es mehrere Bereiche, auf die man sich konzentrieren sollte:
1. **Konfiguration des Proxy-Servers**: Überprüfen Sie die Konfiguration des Proxy-Servers, einschließlich Authentifizierungsmechanismen, Zugriffskontrollen und Protokollierungseinstellungen.
2. **Authentifizierungsmechanismen**: Testen Sie die Stärke der vom Proxy-Server verwendeten Authentifizierungsmechanismen. Suchen Sie nach schwachen oder Standard-Anmeldeinformationen, die ausgenutzt werden könnten.
3. **Zugriffskontrollen**: Identifizieren Sie mögliche Fehlkonfigurationen oder Schwachstellen in den Zugriffskontrolleinstellungen des Proxy-Servers. Dies könnte das Zulassen unberechtigten Zugriffs oder das Nichtdurchsetzen von Beschränkungen umfassen.
4. **Protokollierung und Überwachung**: Analysieren Sie die Protokollierungs- und Überwachungsfunktionen des Proxy-Servers. Suchen Sie nach potenziellen Informationslecks oder Schwachstellen, die ausgenutzt werden könnten.
### Tools für das Pentesting von SOCKS
Hier sind einige Tools, die häufig für das Pentesting von SOCKS verwendet werden:
- **Proxychains**: Ein Tool, mit dem Sie jedes Programm über einen Proxy-Server ausführen können.
- **Burp Suite**: Ein Webanwendungstest-Tool, das so konfiguriert werden kann, dass es einen SOCKS-Proxy verwendet.
- **Nmap**: Ein Netzwerk-Scanning-Tool, das zur Identifizierung offener SOCKS-Ports verwendet werden kann.
### Fazit
Das Pentesting von SOCKS umfasst die Bewertung der Sicherheit von Proxy-Servern und die Identifizierung möglicher Schwachstellen, die ausgenutzt werden könnten. Durch das Verständnis der Konfiguration, der Authentifizierungsmechanismen, der Zugriffskontrollen und der Protokollierungseinstellungen des Proxy-Servers können Sie dessen Sicherheit effektiv testen und den Schutz sensibler Informationen gewährleisten.
```
Füge deinen Proxy hinzu:
```markdown
## Pentesting SOCKS
### Einführung
SOCKS (Socket Secure) ist ein Protokoll, das es einem Client ermöglicht, eine Verbindung über einen Proxy-Server herzustellen. Es wird häufig verwendet, um Netzwerkbeschränkungen zu umgehen und den Internetverkehr anonym zu machen.
### Pentesting SOCKS
Beim Pentesting von SOCKS gibt es mehrere Bereiche, auf die man sich konzentrieren sollte:
1. **Konfiguration des Proxy-Servers**: Überprüfen Sie die Konfiguration des Proxy-Servers, einschließlich Authentifizierungsmechanismen, Zugriffskontrollen und Protokollierungseinstellungen.
2. **Authentifizierungsmechanismen**: Testen Sie die Stärke der vom Proxy-Server verwendeten Authentifizierungsmechanismen. Suchen Sie nach schwachen oder Standard-Anmeldeinformationen, die ausgenutzt werden könnten.
3. **Zugriffskontrollen**: Identifizieren Sie mögliche Fehlkonfigurationen oder Schwachstellen in den Zugriffskontrolleinstellungen des Proxy-Servers. Dies könnte das Zulassen unberechtigten Zugriffs oder das Nichtdurchsetzen von Beschränkungen umfassen.
4. **Protokollierung und Überwachung**: Analysieren Sie die Protokollierungs- und Überwachungsfunktionen des Proxy-Servers. Suchen Sie nach potenziellen Informationslecks oder Schwachstellen, die ausgenutzt werden könnten.
### Tools für das Pentesting von SOCKS
Hier sind einige Tools, die häufig für das Pentesting von SOCKS verwendet werden:
- **Proxychains**: Ein Tool, mit dem Sie jedes Programm über einen Proxy-Server ausführen können.
- **Burp Suite**: Ein Webanwendungstest-Tool, das so konfiguriert werden kann, dass es einen SOCKS-Proxy verwendet.
- **Nmap**: Ein Netzwerk-Scanning-Tool, das zur Identifizierung offener SOCKS-Ports verwendet werden kann.
### Fazit
Das Pentesting von SOCKS umfasst die Bewertung der Sicherheit von Proxy-Servern und die Identifizierung möglicher Schwachstellen, die ausgenutzt werden könnten. Durch das Verständnis der Konfiguration, der Authentifizierungsmechanismen, der Zugriffskontrollen und der Protokollierungseinstellungen des Proxy-Servers können Sie dessen Sicherheit effektiv testen und den Schutz sensibler Informationen gewährleisten.
```
```
socks5 10.10.10.10 1080
```
Mit Authentifizierung
```
socks5 10.10.10.10 1080 username password
```
#### Weitere Informationen: [Tunneling und Portweiterleitung](../generic-methodologies-and-resources/tunneling-and-port-forwarding.md)
Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!
Andere Möglichkeiten, HackTricks zu unterstützen:
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories senden.