hacktricks/network-services-pentesting/pentesting-vnc.md
2024-02-10 15:36:32 +00:00

122 lines
5.9 KiB
Markdown

# 5800,5801,5900,5901 - Pentesting VNC
<details>
<summary><strong>Lernen Sie AWS-Hacking von Grund auf mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
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.**
</details>
## Grundlegende Informationen
**Virtual Network Computing (VNC)** ist ein robustes grafisches Desktop-Sharing-System, das das Protokoll **Remote Frame Buffer (RFB)** verwendet, um die Fernsteuerung und Zusammenarbeit mit einem anderen Computer zu ermöglichen. Mit VNC können Benutzer nahtlos mit einem Remote-Computer interagieren, indem sie Tastatur- und Mausereignisse bidirektional übertragen. Dies ermöglicht den Echtzeitzugriff und erleichtert die effiziente Fernunterstützung oder Zusammenarbeit über ein Netzwerk.
VNC verwendet normalerweise die Ports **5800 oder 5801 oder 5900 oder 5901**.
```
PORT STATE SERVICE
5900/tcp open vnc
```
## Enumeration
Die Enumeration ist der erste Schritt bei der Pentesting von VNC-Diensten. Es gibt verschiedene Möglichkeiten, Informationen über den VNC-Server zu sammeln:
### Port-Scanning
Verwenden Sie Tools wie Nmap, um offene VNC-Ports zu identifizieren. Der Standardport für VNC ist 5900, aber es können auch andere Ports verwendet werden.
```bash
nmap -p 5900-5910 <ziel-ip>
```
### Banner-Grabbing
Verwenden Sie Tools wie `vncviewer` oder `vnccrack`, um den Banner des VNC-Servers abzurufen. Dies kann Informationen wie die VNC-Version und den verwendeten Verschlüsselungsalgorithmus liefern.
```bash
vncviewer -banner <ziel-ip>:<port>
```
### Brute-Force-Angriffe
Verwenden Sie Tools wie `Hydra` oder `vnccrack`, um Brute-Force-Angriffe auf den VNC-Server durchzuführen. Dies kann verwendet werden, um schwache Passwörter zu identifizieren.
```bash
hydra -P <passwortliste> <ziel-ip> vnc
```
### VNC-Client-Enumeration
Verwenden Sie Tools wie `vncviewer` oder `remmina`, um eine Liste der verfügbaren VNC-Server anzuzeigen.
```bash
vncviewer -list <ziel-ip>
```
### VNC-Server-Enumeration
Verwenden Sie Tools wie `vncserver` oder `tightvncserver`, um eine Liste der verfügbaren VNC-Server auf dem Zielhost anzuzeigen.
```bash
vncserver -list
```
### VNC-Server-Informationen
Verwenden Sie Tools wie `vncserverinfo` oder `vncinfo`, um Informationen über den VNC-Server abzurufen. Dies kann Informationen wie den verwendeten Verschlüsselungsalgorithmus und die unterstützten VNC-Versionen liefern.
```bash
vncserverinfo <ziel-ip>:<port>
```
### VNC-Server-Exploits
Überprüfen Sie bekannte Schwachstellen und Exploits für den VNC-Server, um mögliche Angriffspunkte zu identifizieren.
```bash
nmap -sV --script vnc-info,realvnc-auth-bypass,vnc-title -p <PORT> <IP>
msf> use auxiliary/scanner/vnc/vnc_none_auth
```
### [**Brute Force**](../generic-methodologies-and-resources/brute-force.md#vnc)
## Verbindung zu VNC mit Kali herstellen
```bash
vncviewer [-passwd passwd.txt] <IP>::5901
```
## Entschlüsseln des VNC-Passworts
Das Standardpasswort wird in der Datei \~/.vnc/passwd gespeichert.
Wenn Sie das VNC-Passwort haben und es verschlüsselt aussieht (ein paar Bytes, als ob es ein verschlüsseltes Passwort sein könnte), ist es wahrscheinlich mit 3DES chiffriert. Sie können das Klartext-Passwort mit [https://github.com/jeroennijhof/vncpwd](https://github.com/jeroennijhof/vncpwd) erhalten.
```bash
make
vncpwd <vnc password file>
```
Du kannst dies tun, weil das Passwort, das in 3DES verwendet wird, um die Klartext-VNC-Passwörter zu verschlüsseln, vor Jahren umgekehrt wurde.\
Für **Windows** kannst du auch dieses Tool verwenden: [https://www.raymond.cc/blog/download/did/232/](https://www.raymond.cc/blog/download/did/232/)\
Ich habe das Tool hier auch zur einfacheren Nutzung gespeichert:
{% file src="../.gitbook/assets/vncpwd.zip" %}
## Shodan
* `port:5900 RFB`
<details>
<summary><strong>Lerne AWS-Hacking von Null auf Held mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Andere Möglichkeiten, HackTricks zu unterstützen:
* Wenn du dein **Unternehmen in HackTricks bewerben möchtest** oder **HackTricks als PDF herunterladen möchtest**, schau dir die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop) an!
* Hol dir das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecke [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Trete der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) **bei oder folge** uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Teile deine Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) **und** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **GitHub-Repositories einreichst.**
</details>