# 5800,5801,5900,5901 - Pentesting VNC
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
- Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
- Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
- **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
## Informações Básicas
Na computação, **Virtual Network Computing** (**VNC**) é um sistema de compartilhamento de desktop gráfico que usa o protocolo Remote Frame Buffer (RFB) para controlar remotamente outro computador. Ele transmite os eventos do teclado e do mouse de um computador para outro, transmitindo as atualizações da tela gráfica na outra direção, por meio de uma rede.\
De [wikipedia](https://en.wikipedia.org/wiki/Virtual\_Network\_Computing).
O VNC geralmente usa as portas **5800 ou 5801 ou 5900 ou 5901.**
```
PORT STATE SERVICE
5900/tcp open vnc
```
## Enumeração
```bash
nmap -sV --script vnc-info,realvnc-auth-bypass,vnc-title -p
msf> use auxiliary/scanner/vnc/vnc_none_auth
```
## Conectar ao VNC usando o Kali
Para se conectar a um servidor VNC usando o Kali, você pode usar o comando `vncviewer`. Por exemplo, para se conectar a um servidor VNC em `192.168.0.100:5901`, você pode executar o seguinte comando:
```
vncviewer 192.168.0.100:5901
```
Isso abrirá uma janela do VNC e solicitará suas credenciais de autenticação. Se você tiver as credenciais corretas, poderá acessar o servidor VNC. Se não, você receberá uma mensagem de erro informando que a conexão falhou.
```bash
vncviewer [-passwd passwd.txt] ::5901
```
## Descriptografando a senha do VNC
A **senha padrão é armazenada** em: \~/.vnc/passwd
Se você tiver a senha do VNC e ela parecer criptografada (alguns bytes, como se fosse uma senha criptografada), provavelmente está cifrada com 3des. Você pode obter a senha em texto claro usando [https://github.com/jeroennijhof/vncpwd](https://github.com/jeroennijhof/vncpwd)
```bash
make
vncpwd
```
Você pode fazer isso porque a senha usada dentro do 3des para criptografar as senhas VNC em texto simples foi revertida anos atrás.\
Para **Windows**, você também pode usar esta ferramenta: [https://www.raymond.cc/blog/download/did/232/](https://www.raymond.cc/blog/download/did/232/)\
Eu salvei a ferramenta aqui também para facilitar o acesso:
{% file src="../.gitbook/assets/vncpwd.zip" %}
## Shodan
* `port:5900 RFB`