#Unicode制御文字 を使って #Windows のファイルの拡張子をごまかす方法
Unicode制御文字を使ってWindowsのファイルの拡張子をごまかす方法 この記事の内容 Windowsエクスプローラーの「登録されている拡張子は表示しない」設定を解除する重要性 Unicode制御文字「Start of Right-to-Left Override」を使ったファイル名偽装のデモ テキストファイルや実行ファイルを別の拡張子に見せかける具体的な手口 攻撃者がこの技術を悪用してマルウェアを配布する可能性とその注意点 はじめに 今回は、Windowsにおいてファイルの拡張子を「見た目だけ」ごまかすテクニックをご紹介します。これはセキュリティの観点から知っておくべき手口であり、悪意ある人物がどのような方法でファイルを偽装するかを理解することを目的としています。 事前準備:拡張子を表示する設定にする デモを行う前に、まずWindowsエクスプローラーの設定を確認します。 「表示」→「オプション」→「登録されている拡張子は表示しない」のチェックを外す この設定が有効になったままだと、拡張子が見えないためファイルの実態を把握しにくくなります。セキュリティの観点からも、常に拡張子を表示しておくことをおすすめします。 デモ①:ExcelファイルをXLSXに見せかける まずはシンプルなデモとして、テキストファイルをExcelファイルのように見せかける例を紹介します。 テキストファイル(.txt)を用意します ファイル名を example.xlsx のようにリネームします 拡張子が .xlsx になっているため、アイコンがExcelのワークシートとして表示されます ダブルクリックすると、実際にはExcelファイルとして関連付けられているためExcelが開きます この時点では、単純なリネームによる偽装です。 デモ②:Unicode制御文字を使った高度な拡張子偽装 ここからが本題です。Windowsのエクスプローラーには、Unicodeの制御文字を挿入する機能が存在します。 使用する制御文字 Start of Right-to-Left Override(RLO) この文字は、アラビア語やヘブライ語など右から左に読む言語のために存在するUnicode制御文字です。ファイル名の途中に挿入すると、それ以降の文字列の表示方向が右から左に反転します。 手順 ファイルをリネームモードにします 拡張子の直前にカーソルを移動します 右クリックして 「Unicode制御文字の挿入」→「Start of Right-to-Left Override」 を選択します 実行ファイルを偽装する例 たとえば、実態が .exe である実行ファイルを .txt に見せかける場合、以下のような仕組みになります。 実 表 際 示 の さ フ れ ァ る イ フ ル ァ 名 イ ( ル 内 名 部 : ) : d o c u d m o e c n u t m [ e R n L t O t ] x e t x . e e . x t e x t → t x t . e x e の 部 分 が 反 転 し て " e x e . t x t " に 見 え る RLO文字を挿入した位置以降の文字列が右から左に表示されるため、拡張子部分の文字列が反転して別の拡張子のように見えます。 ...