偽のフォントファイルを使用してコンテンツを暗号化し、 なりすましの検知を回避するフィッシングキット

本ブログは、英語版ブログ「https://www.proofpoint.com/us/threat-insight/post/phishing-template-uses-fake-fonts-decode-content-and-evade-detection」の翻訳です。

概要

Proofpointの研究者は最近、これまで見たことの無い暗号化手法によって難読化を行うフィッシングキットを発見しました。このフィッシングキットは、大手リテールバンクを装ったクレデンシャル収集攻撃に利用されています。一般的にフィッシングキットで使われるソースコードの暗号化と難読化のメカニズムについては、様々な手法が既に報告されていますが、今回のケースはWebフォントを使用して暗号化を実装している点で、独特なものと言うことができます。

このキットによるランディングページは、一見すると侵害された銀行のブランドを利用した典型的なオンラインバンキングのクレデンシャルフィッシングページのように見えます。しかし、このページのソースコードには、普通には見られない暗号化されたままの表示テキストが含まれています(図1)。

1:平文では無く暗号化されたままのテキストが含まれたフィッシングランディングページのコードスニペット

テキストをWebページからコピーしてテキストファイルにペーストしても、テキストは暗号化されたままです。

テキストは簡単な換字式暗号により復号化できるため、自動化されたシステムにとっては、このフィッシング用ランディングページの検出は容易です。ただし、このケースにおける換字の実装は独特なもので、詳細な検討に値します。

一般的に、フィッシングキットの換字機能はJavaScriptで実装されますが、このWebページのソースにはそのような機能は含まれていません。その代わりに、ランディングページのCSSコードに換字の仕掛けがありました(図2)。

2:フィッシングランディングページのCSSコード中の@font-faceルール

脅威アクターが残したフィッシングキットのコピーを多数確認した結果、「../fonts/」ディレクトリがキットに存在せず、base64エンコードされたwoffおよびwoff2が唯一のロード済みフォントになっていたのです。

このwoffおよびwoff2 Webフォントファイルを抽出、変換して表示すると、次のフォント仕様が表示されます:

3woffフォント仕様

このフィッシング用ランディングページは、暗号文を平文としてブラウザに表示させるために、特別なWebフォントファイルを使用しているのです。Web Open Font Format(WOFF)は、フォントファイル内の文字データが標準のアルファベット順になっていることを想定しています。しかし、「abcdefghi ...」という順番を変え、他の文字順(サンプルでは「mbcdt…」)に置き換えると、ソースに含まれる文字列とブラウザ上で表示される文字列とが異なるということになります。これにより、検出を回避できるのです。(後半は訳者追加)

 

さらに、なりすまされている銀行のブランド表示はSVG(スケーラブルベクターグラフィック)でレンダリングされるため、ロゴとそのリンク元はソースコードには含まれていないことにも注目すべきです(図4)。本物のロゴにリンクしたり、その他の視覚的なリソースにリンクしたりすると、なりすましとして検出される可能性があるからです。

4:銀行のロゴのSVGレンダリングを示すコードスニペット

Proofpointは2018年5月にこのキットの使用を最初に観測しましたが、キットがこれよりも早い時期にフィールドに現れていたことは確実でしょう。このキットのサンプルで確認したリソースファイルのほとんどのアーカイブ日付は、2018年6月上旬でした。

結論

脅威アクターは常に新しい手法を開発し、疑いを持たない被害者、セキュリティベンダー、さらにはブランドの悪用を積極的に検知しようとしている組織に対してさえも、検出を回避しその活動を隠そうとしています。今回のケースでは、アクターは特別なWebフォントファイルを使用して換字式暗号を実装するフィッシングテンプレートを開発し、米国の大手銀行の認証用サイトを模倣したフィッシングページを表示させました。換字式暗号自体は単純ですが、Webフォントファイルを介した実装は独特なものであると考えられ、フィッシングアクターが自分たちの痕跡を隠して消費者を騙すための新たな手法ということができます。

 

Indicators of Compromise (IOCs)

Proofpointは、このフィッシングキットに関連しているいくつかのメールアドレスを特定しました。これらは、PHPソースコードに含まれているか、盗み出したクレデンシャルを受信するためにハードコードされています:

fatima133777@gmail[.]com

fitgirlp0rtia@gmail[.]com

hecklerkiller@yandex[.]com

netty6040@aol[.]com

nicholaklaus@yandex[.]com

oryodavied@gmail[.]com

realunix00@gmail[.]com

slidigeek@gmail[.]com

zerofautes@outlook[.]com

ET and ETPRO Suricata/Snort Signatures

この脅威への対策はETPRO Rulesetに含まれています。