GhostLock PoC、Windows APIの悪用によるSMB共有上のファイルアクセス妨害方法を示す
セキュリティ研究者が、正当なWindowsファイルAPIを悪用して、ローカルまたはSMBネットワーク共有上のファイルへのアクセスをブロックする方法を示す概念実証(PoC)ツール「**GhostLock**」を公開しました。この手法は、`CreateFileW` APIを利用してサービス拒否(DoS)状態を作り出します。

**Israel Aerospace Industries**の**Kim Dvash**氏は、Windowsの`CreateFileW` APIとファイル共有モードを悪用し、他のユーザーやアプリケーションがファイルを開けないようにする手法を開発しました。これは、ファイルハンドルがアクティブなままである間に行われ、他のユーザーを効果的に締め出します。
### GhostLockの手法
**GhostLock**の手法は、`CreateFileW()`関数内の`dwShareMode`パラメータを悪用します。このパラメータは、他のプロセスが既に開いているファイルに対して、他のプロセスがどのようなアクセス権を持つかを決定します。
`dwShareMode`を`0`に設定すると、開始プロセスは排他的アクセス権を取得し、他のユーザーやアプリケーションがそのファイルを開くことを防ぎます。ファイルへのアクセス試行は、Windowsで`STATUS_SHARING_VIOLATION`エラーを引き起こします。
例:
```c++
HANDLE hFile = CreateFileW(
L"\\server\share\finance.xlsx",
GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL
);
```

### GhostLockツール
**Dvash**氏は、SMB共有上の多数のファイルを再帰的に開くことで攻撃を自動化する**GhostLockツール**を**GitHub**で公開しました。これらのファイルハンドルが開いている限り、共有違反によりファイルへの後続のアクセス試行は失敗します。このツールは標準のドメインユーザー権限で動作し、昇格された権限は必要ありません。
攻撃者は、複数の侵害されたデバイスから同時に攻撃を開始し、プロセスが終了するたびにファイルハンドルを継続的に再取得することで、妨害を増幅させることができます。
### 緩和策と影響
SMBセッションの終了、**GhostLock**プロセスの終了、または影響を受けるシステムの再起動により、ファイルハンドルが解放され、ファイルへのアクセスが回復します。**Dvash**氏は、この手法はランサムウェアのような破壊的な攻撃ではなく、主にサービス拒否(DoS)に似た妨害攻撃であると強調しています。影響は運用ダウンタイムであり、データ損失ではありません。
破壊的ではありませんが、この攻撃は侵入中のデコイとして使用される可能性があります。広範なファイルアクセス妨害を引き起こすことで、攻撃者はITスタッフの注意をそらし、その間に環境内の他の場所でデータ窃盗、ラテラルムーブメント、またはその他の悪意のあるアクティビティを実行できます。
### 検知の課題
多くのセキュリティ製品は、大量のファイル書き込みや暗号化の検知に焦点を当てています。**GhostLock**は正当なファイルオープンリクエストを生成するため、検知が困難になる可能性があります。**Dvash**氏によると、最も信頼性の高い指標は、ファイルサーバーレイヤーでの`ShareAccess = 0`を持つセッションごとのオープンファイル数です。このメトリックは、Windowsイベントログ、EDRテレメトリ、またはネットワークフローデータには通常含まれず、ストレージプラットフォーム管理インターフェイス内に存在します。
**Dvash**氏は、ITチームの検知努力を支援するために、[GhostLockホワイトペーパー](https://zenodo.org/records/20070064)でSIEMクエリとNDR検知ルールを提供しています。
