Skip to content
KitploitKITPLOIT
ツールブログ
Log in
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
DetectPacket-CVE-2017-8464 — 脆弱性の悪用と脆弱性防止の実装 | Kitploit
ツール/GitHubGitHub/trg-1999/detectpacket-cve-2017-8464
パケットスニッフィングと分析静的分析脆弱性分析エクスプロイトフォレンジックネットワークセキュリティマルウェア分析侵入検知学習と教育
GitHubtrg-1999/detectpacket-cve-2017-8464

DetectPacket-CVE-2017-8464

脆弱性の悪用と脆弱性防止の実装

21544年前未レビュー
リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2017-8464の脆弱性を検出するアプリケーションの構築

ソース(ここをクリック)

内容:

第1部: CVE-2017-8464の概要

  1. LNKファイルの概念
  2. CVE-2017-8464の脆弱性を持つシステムの構築
  3. CVE-2017-8464の脆弱性を攻撃するツール

第2部: Metasploitツールを使用したCVE-2017-8464の悪用

2.1. CVE-2017-8464の悪用モデル

2.2. CVE-2017-8464の悪用の実行

第3部: Python言語に基づくCVE-2017-8464検出ツールの構築

3.1. キャプチャしたネットワークパケットに基づくCVE-2017-8464のシグネチャ分析

3.2. パケットのシグネチャ分析に基づくCVE-2017-8464悪用検出処理関数

結論

**

第1部: CVE-2017-8464の概要

  1. LNKファイルの概念

LNKは、Microsoftによって開発されたバイナリ形式のシステムファイル(Windowsショートカット)です。

図1: Windowsのショートカットアイコン

LNKファイルは、Windowsがファイル、フォルダー、またはアプリケーションのルートへの参照として使用するショートカットまたは「リンク」であり、Macintoshプラットフォームのエイリアスに似ています。これには、ターゲットの種類、場所、ファイル名に加えて、ターゲットファイルを開くプログラム、およびオプションのショートカットキーが含まれます。ファイルはWindowsで、ファイル、フォルダー、または実行可能プログラムを右クリックし、[ショートカットの作成]を選択することで作成できます。

この脆弱性はMicrosoft Windowsに存在し、特別に作成されたショートカットのアイコンが処理される際に、攻撃者がリモートからコードを実行できるようにするものです。

図2: .LNKファイルを介して攻撃コードをダウンロード・実行するショートカットを手動で作成

脆弱なコンポーネントはネットワークスタックに関連しています。このような脆弱性は一般に「リモートで悪用可能(remotely exploitable)」と呼ばれ、プロトコルレベルまたは複数のネットワークホップ(例えば、1台以上のルーターを経由する)で悪用可能な攻撃と見なされます。

  1. CVE-2017-8464の脆弱性を持つシステムの構築

CVE-2017-8464の脆弱性の影響を受けるシステムは、Microsoft Windows Server 2008 SP2およびR2 SP1、Windows 7 SP1、Windows 8、Windows 8.1、Windows Server 2012 GoldおよびR2、Windows RT 8.1、Windows 10 Gold、1511、1607、1703、Windows Server 2016のWindows Shellです。これらのシステムでは、手動で作成された.LNKファイルがWindows Explorerまたはショートカットのアイコンを解析するその他のアプリケーションでアイコン表示中に正しく処理されないため、ローカルユーザーまたはリモートの攻撃者が任意のコードを実行できます。これは「LNK Remote Code Execution Vulnerability(LNKリモートコード実行の脆弱性)」とも呼ばれます。

この脆弱性を修正するセキュリティ更新プログラムは、ショートカットアイコンの参照を正しく検証するよう修正します。Microsoft Windowsは2017年6月にこの脆弱性の更新プログラムをリリースしました。この脆弱性はWindows XPおよびそれ以前のバージョンのWindowsには影響しません。

  1. CVE-2017-8464の脆弱性を攻撃するツール

Metasploit

Metasploit Frameworkは、コマンドラインインターフェイス上で使用されるサービスのテスト、攻撃、脆弱性の悪用を行うための環境です。このツールはKali Linux(VMware版)で利用できます。

図3: Metasploitツール

Armitage

Metasploitプロジェクトに基づくGUIツール。

図4: Armitageツール

第2部: Metasploitツールを使用したCVE-2017-8464の悪用

2.1. CVE-2017-8464の悪用モデル

被害者マシン – Windows 7 Pro

図5: 被害者のOSバージョン

図6: 被害者マシンのIPアドレス

攻撃者マシン – Kali Linux – Metasploitツールを使用。

図7: 攻撃者マシンのIPアドレス

アクティブなネットワーク層はVMnet8サブネット192.168.169.0です。

2.2. CVE-2017-8464の悪用の実行

  • reverse_tcpペイロードを作成し、KaliマシンへのTCP接続を待ち受けます。
  • LHOSTは攻撃者マシンの待ち受けアドレスです。

図8: ペイロードを作成し、攻撃者マシンへのTCP接続を待ち受ける

  • 挿入されたreverse_tcpペイロードを自動的に起動する、CVE-2017-8464の脆弱性を含むショートカットファイルを作成します。

図9: マルウェアを自動実行する.lnkファイルを作成

図10: ペイロードの設定情報

  • exploitコマンドを実行して、ペイロードファイルを指す脆弱性を含むショートカットを生成します。
  • 具体的には、上記の説明情報にあるように、ペイロードファイルはFlashPlayerCPApp.cplで、脆弱性を含むショートカットファイルがペイロードファイルを自動実行します。
  • 必要なファイルをすべて生成すると、攻撃者マシン上の/root/.msf4/local/フォルダーに保存され、攻撃者はそのフォルダー内のすべてのファイルを任意のUSBにコピーします。

図11: .lnkファイルとマルウェアの生成

図12: すべてのマルウェアをUSBにコピー

  • 被害者を騙してUSBを自分のコンピューターに挿入させます。被害者がUSB内のどのアプリケーションもクリックする必要はありませんが、.lnkファイル(ショートカットファイル)の脆弱性により、マルウェアペイロードが自動的に起動し、リモートコード実行の脆弱性が悪用されます。

図13: マルウェアを含む悪意のある.lnkファイルが入ったUSBを被害者が挿入

  • 攻撃者マシン側を確認すると、被害者マシンが攻撃者マシンに接続されているのが分かります。この時点で攻撃者はCVE-2017-8464を利用した悪用に成功し、被害者マシン上でリモートからマルウェアを実行しています。

図14: 攻撃者が悪用に成功し、被害者マシンへの侵入に成功

**

第3部: Python言語に基づくCVE-2017-8464検出ツールの構築

3.1. キャプチャしたネットワークパケットに基づくCVE-2017-8464のシグネチャ分析

  • 攻撃時にパケットをキャプチャすると、.lnkファイルが自動実行されると、被害者マシンがペイロードで設定された攻撃者マシンのアドレスに対してTCP接続を確立することが分かります。

図15: CVE-2017-8464の脆弱性を利用した攻撃パケットをキャプチャしたもの

  • PSHフラグが設定されたパケットは、一時バッファーに入れる代わりに、被害者マシンへ直接送信できるようにします。

図16: 攻撃者へのTCP接続成功後に送信されるPSHフラグ付きパケット

  • 次に、「MZ」という不審な兆候を持つパケットは、被害者マシンに送り込もうとしているPEファイル(マルウェア)である可能性を示しています。

図17: 攻撃者が被害者に送信したキャプチャパケット内の不審な兆候

PEファイル形式(Portable Executable File Format)は、Win32専用のファイル形式です。Win32上で実行可能なすべてのファイル(*.EXE、*.DLL(32ビット)、*.COM、*.NET、*.CPLなど)はPE形式です。ただし、VxDsファイルと*.DLL(16ビット)は除きます。

PE_File_Struct.png

図18: PEファイルの構造

DOS MZヘッダー

すべてのPEファイルは、単純なDOS MZヘッダーで始まります。これは最初の64バイトを占めます。この領域は、プログラムがDOS環境で実行される場合に使用されます。

e_magic: PEファイルのシグネチャ。値: 4Dh, 5Ah(文字「MZ」。MS-DOSの創始者Mark Zbikowskyの名前)。この値は、有効なDOSヘッダーを示し、その後の実行を許可します。

図19: キャプチャしたパケット内のPEファイルシグネチャ

e_lfanew: DOSヘッダーの最後に位置するDWORDで、ファイルの先頭位置に対するPEヘッダーのオフセットを格納するフィールドです。

DOS STUB

DOS Stubは、エラーメッセージを表示する小さなDOS EXEプログラムに過ぎず、16ビットWindowsとの互換性を確保するための部分です。

図20: 攻撃者が被害者に送信したパケット内のDOS STUB情報

PEヘッダー

PEヘッダーは、実際にはIMAGE_NT_HEADERS構造体であり、ローダーがファイルをメモリに読み込むために必要な情報を含みます。

Signature: PEヘッダーの先頭にある1つのDWORDで、PEシグネチャ(50h, 45h, 00h, 00)を含みます。

図21: e_lfanewからPEヘッダーのSignature部分を示す情報

セクションテーブル

セクションテーブルはPEヘッダーの直後に続くコンポーネントで、IMAGE_SECTION_HEADER構造体の配列で構成されています。

図22: キャプチャしたパケット内のセクションテーブルの内容

  • 後続のパケットは、PEファイルのセクションのデータ部分です。
  • このことから、このマルウェアPEファイルの構造のうちHEADER部分のみを取得し、MD5ハッシュ関数でハッシュ化して、このファイルのマルウェアを検出するためのシグネチャとします。具体的には、検出したパケット内のデータからHEADER部分を含む1024バイトを取得します。また、マルウェアに関して判明した関連情報はCSVファイルに保存し、マルウェア検出用のデータセットとします。

図23: シグネチャとマルウェア関連情報をCSVファイルに保存

3.2. パケットのシグネチャ分析に基づくCVE-2017-8464悪用検出処理関数

ツールをダウンロード