アタッシェケースの脆弱性がリバースエンジニアリングで解決できないか実験

アタッシェケース#3 | HiBARA Software

【再現手順】
アタッシェケースで作成した自己実行可能形式の暗号化ファイルには、
DLL を読み込む際の検索パスに問題があり、意図しない DLL を
読み込んでしまう脆弱性が存在します。

  1. Windows (32bit / 64bit) で攻撃者の用意したトロイの木馬として偽装した
    「DWMAPI.DLL」や「DWrite.dll」などをディレクトリに置きます。
  2. アタッシェケースで暗号化された自己実行可能形式ファイルをそのディレクトリに置きます。
  3. 当該EXEを実行すると、意図せずトロイの木馬が読み込まれ、実行されます。

【発生バージョン】
現行バージョンで発生。

【回避・対応策】
現状、この問題を回避するには、以下の点を注意しながらの運用をお願いいたします。

  • 自己解凍書庫ファイルは新たに作成したディレクトリに保存し、他の無関係なファイルが存在しない状態で実行する。
  • 自己解凍書庫ファイルを実行するディレクトリに信用できないファイルが存在しないことを確認する。
  • 自己解凍書庫ファイルを共有ディレクトリに置き、実行させるような運用を行っている場合は、当該ディレクトリを読み取り専用にする。
  • 自己解凍書庫ファイルは管理者権限を持たない標準ユーザアカウントで操作することを原則とし、必要なときのみ管理者アカウントで操作する。

と言うことなので、調べてみた


1. まず、最新版で自己解凍形式のバイナリを作成。
rev1
こんな感じ

2. 改造します
rev2

rev3
なぜか起動できない

3. どうやら、.Netのバージョン情報が COM+RTM Header にあるみたいなんだけど、これを移動させても、2つ以上の関数を静的ロードすると ちゃんと読んでくれない様だ。

というわけで、作戦は失敗 ・ω・

おすすめ

2件のフィードバック

  1. 名無しさん より:

    自己解凍書庫なんてのが、時代にそぐわないんでしょうかねえ

  2. 名無しさん より:

    自己解凍書庫なんてのが、時代にそぐわないんでしょうかねえ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です