28 листопада 2020 р.

Про шахрайських схемах, націлених на користувачів Huobi, MyEtherWallet і Blockchain.info

Шкідливі розширення або сторінки, пов'язані з Huobi, хоч зустрічаються і не дуже часто, проте небезпечні не менше будь-яких інших шахрайських схем. Нещодавно я виявив сайт з ейрдропом для Huobi, на якому використовувався відмінний від став вже звичним мені фішингових набору компонентів для MyEtherWallet. Сайт перевіряв по вводиться публічного адресою, чи є на цю адресу токени Huobi Airdrop (які насправді є підробленими токенами, асоційованими з іншим шахрайством). Якщо ввести адресу, на якому немає потрібних токенов, сервер все одно поверне відповідь з фішинговими компонентами.

Коли ви вводите свій публічний адресу, серверзловмисників повертає новий HTML-документ, фішингових сайтів HuobiGlobal з підробленими MyEtherWallet. Цей HTML-документ містить посилання на PHP скрипт, який привернув мою увагу.

Скрипт redir.php - це шкідливий набір компонентів для MyEtherWallet, призначений для крадіжки ваших ключів.

Цей скрипт зберігає ваш секретний ключ в cookie-файлі і запускає другий PHP-скрипт.

Мережевий запит, який зберігає секретний ключ в cookie-файлі і відправляє його в postback.php

Якщо ви введете свій секретний ключ, він стане доступний зловмисникам, і ви втратите свої кошти.

* * *

Оскільки я не зустрічав великої кількостіфішингових / шахрайських доменів Huobi, я вирішив пошукати ще. Я натрапив на ERC20-токен, що рекламує вебсайт ейрдропа, в якому взяло участь ~ 20 000 Ethereum-адрес.

При достатньому капіталі це використовується як спосіб просування в блокчейн-сфері.

Токен, що рекламує вебсайт

Якщо подивитися на адресу, який фінансуєтранзакції (через 19 проксі-адрес, тобто .: 0x0b88a083dc7b8ac2a84eba02e4acb2e5f2d3063c) і створення контракту з адреси 0x15ccc4ab2cfdb27fc4818bf481f7ed0352d8c6b3, то можна побачити, що зловмисник:

  • створив 18 контрактів між блоками 6 708 041 і 7 249 374;
  • всі контракти, крім одного, рекламують сайт huobiairdrop.com; виняток - просто тестовий контракт;
  • токен з рекламою huobiairdrop.com був відправлений на 62 132 адрес.

Ось дамп створених 0x15cc ... c6b3 адрес контрактів з рекламою huobiairdrop.com станом на блок 7362119:

0x219b9040eb7d8d8c2e8e84b87ce9ac1c83071980

0xb331728743d45a6470b8798320f2c173d41e4bfb

0x6727816581215d1a7389bb1e9afc7ae7bf2fd5d1

0x596f83e44d6e62fc886222afea468e14f4c3fec7

0x36794518b3ef84c4b1a40af9540a03292f692c38

0x8fa86218ec14bb207b5ae404c60a836c3d7cbb3a

0x7f30f5955b7605b96421e7c170edbbc45b373cd9

0x53e00c6a2887f71bed5340ce369675ddaff4f42a

0x9c6625dc8333b633c40a0c2f2a49379363763ba0

0x6c3bb918a1242ba4e32908d7bf4addd7ef651e74

0x7d4bf678252c1c85aa46e032bf70e76439ee1708

0x697a260ba6365ab241f7aef057da3587f0c255ca

0x7db95f8d8d80a75d768a2f8b0be392ff901d3fc8

0x409de70d8ad0135e6fd91f343899b93d903c998b

0xbd806a9a7ad8ce9d36048861dd63a295a3c9d5f2

0x203daffa152dafaf2a859029f729b364fc8540f8

А ось дамп проксі-адрес, що використовувалися дляейрдропа токенов - всі вони фінансувалися з адреси 0x15cc ... c6b3 і на всіх проксі-адреси зберігалися аналогічні суми (після фінансування в розмірі 5 ETH і відправки x транзакцій), тому можна припустити, що вони всі мають відношення до описуваного сценарієм.

0xb179778356bebad15bd4b238f1384288cb477378

0x65d471996e4925e0acd113c6bb47cbf96fbc581f

0x2e5b15ea47129fdcc351360c896563ff0aa5b2fc

0x0e464ba1d597ac772b86fb5a93a82bb397e8c438

0x0b19448105c56dc68244e5715b5a78b5e06ccc9d

0x24e55688d74f902e478e638b8bf4339cd92adc8b

0x0ef221408918939419e03f48b126436fd72051ca

0x5ed89913028bb07d3c0b0cb68a78234027563ef8

0xe82ac313c98be7c7f921fee5ef52da868fdb79dd

0x348413142a330edc6e8f4fb932ab656a63a1a9b4

0x4fbf7701b3078b5bed6f3e64df3ae09650ee7de5

0x691da2826ac32bbf2a4b5d6f2a07ce07552a9a8e

0xa33b95ea28542ada32117b60e4f5b4cb7d1fc19b

0xe06ed65924db2e7b4c83e07079a424c8a36701e5

0x1b1b391d1026a4e3fb7f082ede068b25358a61f2

0xbbfd8041ebde22a7f3e19600b4bab4925cc97f7d

0xecd91d07b1b6b81d24f2a469de8e47e3fe3050fd

0x2ef1b70f195fd0432f9c36fb2ef7c99629b0398c

0x0b88a083dc7b8ac2a84eba02e4acb2e5f2d3063c

0xc2e90df58f0d93d677f0d8e7e5afe3b1584bb5ab

Дивлячись на huobiairdrop.com

Резюме (якщо багато букв): Сайт пропонує встановити розширення для браузера, який, захоплюючи заголовки CSP і мережеві запити, додає шкідливі скрипти до сторінок MyEtherWallet.com і Blockchain.com.

Отже, я завантажив віртуальну машину, перейшов додомену та побачив схоже на справжнє попередження Google, яке, втім, мене трохи збентежило - я не знав, що Google виявляє подібний кріптоджекінг ...

Підроблене попередження про кріптоджекінге

Я спробував включити MetaMask, і повідомлення змінило вигляд на підроблене попередження MetaMask, притому що я знаю, що MetaMask не попереджає про кріптоджекінге.

Підроблене попередження MetaMask

Так чи інакше, я вирішив подивитися джерело, і побачив, що він пов'язаний з розширенням для Google Chrome; ID розширення: coigcglbjbcoklkkfnombicaacmkphcm (NoCoin - Block Coin Miners)

Станом на початок березня, коли я проводив свій експеримент, у цього шкідливого розширення було 230 користувачів

Я подумав, що посилання на це розширення зі сторінок попередження Google і MetaMask виглядають дуже дивно, і вирішив досліджувати це питання докладніше.

Дивлячись на "NoCoin - Block Coin Miners"

Я запустив нову віртуальну машину (оскільки не знав, що розширення буде робити, до того ж я перейшов з недовірених / підозрілого джерела).

Спочатку здавалося, що розширення робить рівното, що заявлено - виявляє різні кріптоджекінговие скрипти (CoinHive, MinerAlt, WebminerPool) і звітує про результати через виразний призначений для користувача інтерфейс.

Судячи з UI, розширення справно робить свою роботу

Я думав, що активність розширення навряд чи цим обмежується, враховуючи, наскільки підозрілим шляхом я на нього вийшов.

Заглянувши у вихідний код, я помітив дві речі:

  • розширення відстежує і захоплює все веб-запити, прикріплюючи EventListener до onBeforeRequest і onHeadersReceived;
  • в залежності від мережевої активності, воно будувало домен на .top (домен верхнього рівня, відомий великою кількістю спаму, за даними Spamhaus).

Це підтверджувало моє враження про те, що функція коду розширення виходить за рамки виявлення кріптоджекінга, і я вирішив спробувати застосувати цим кодом.

По-перше, я хотів дізнатися, що EventListener робив для onHeadersReceived, тому що він перезаписував значення Content-Security-Policy.

Логіка, використана для зміни CSP для певних запитів

Я вирішив модифікувати код таким чином, щоб він відтворював цю логіку при кожному запиті.

Виявилося, що розширення перезаписує CSP, щоб отримати можливість «безпечно» вставляти код з неперевірених джерел.

Тепер давайте подивимося, що EventListener робить з onBeforeRequest. Він перевіряє, чи рівний URL певного хешу, а потім вказує браузеру завантажити окремий ресурс, використовуючи redirectUrl.

Логіка, яка використовується для завантаження зовнішніх ресурсів через redirectUrl

Однак ця логіка виконується, тільки якщо хеш URL має одне з двох значень, але що це за хеш-кодування?

echo -n blockchain.com | md5sum

425d95e3b753c1afb3871c66a858a4c9

echo -n myetherwallet.com | md5sum

5fd0d2c183e9184f63409aee2371700e

Ok, значить розширення захоплює запити до доменів blockchain.com і myetherwallet.com.

Ось список доменів, контрольованих зловмисником:

blockchainanalyticscdn.com

5b0c4f7f0587346ad14b9e59704c1d9a.top

925e40815f619e622ef71abc6923167f.top

Дивлячись на MyEtherWallet.com

Отже, тепер ми знаємо, що мішенню є myetherwallet.com і що розширення змінює політику CSP, щоб підміняти вводяться запити на адреси зовнішніх ресурсів. Давайте подивимося, що воно робить.

Оскільки код шукає в ресурсі подстроку master або chunk, основною мішенню є домен vintage.myetherwallet.com для перезапису файлу etherwallet-master.js.

Ми можемо поглянути на це, не допускаючи захоплення CSP.

Отже, тепер, коли ми знаємо, що шкідливе розширення підміняє основний JS, давайте введемо наш секретний ключ і подивимося, куди воно його відправить.

Скрипт відправляє секретний ключ іншому PHP-скрипту як частина рядка запиту

Ось воно, наш секретний ключ був відправлений зловмисникам.

Зверніть увагу, що, оскільки CSP бувзахоплений, ми не отримуємо ніяких повідомлень про спробу завантаження зовнішніх ресурсів, і з точки зору користувача розширення працює так, як передбачалося, а сертифікат EV залишається недоторканим. Те, що розширення при цьому виконує свою заявлену функцію виявлення кріптоджекінга, теж досить розумне рішення, оскільки так його небажана активність якийсь час буде залишатися непоміченою непараноідальнимі користувачами.

Дивлячись на Blockchain.com

Нам відомо, що ще однією мішенню є blockchain.com, тому давайте трохи модифікуємо сценарій, щоб захопити CSP і подивитися, що він спробує завантажити.

Ми бачимо, що розширення намагається завантажити шкідливі версії manifest.1550618679966.js, vendor.b18ffdf080.js і app.46d4854459.js в рамках логіки входу в аккаунт.

Що можна зробити, щоб убезпечити себе?

Потрібно вести себе осмислено і обережно. Відповідальність за нашу безпеку лежить на нас самих. Бійтеся данайців, що дари приносять.

  • Ніколи не встановлюйте розширення, які можуть змінювати DOM на неперевірений вами або довіреною джерелом.
  • Не слід сліпо довіряти попередженням пробезпеки, що пропонують встановити якесь програмне забезпечення; в попередженнях MetaMask (наприклад, про фішинг) в адресному рядку браузера завжди буде значитися адресу розширення.
  • Ніколи не вводьте свої секретні ключі онлайн - завжди використовуйте офлайн-механізми підпису (наприклад, Ledger Wallet, TREZOR або Parity Signer).

Домени, причетні до описаної в цій статті кампанії, перераховані на EtherScamDB:

  • https://etherscamdb.info/domain/huobi-airdrop.org
  • https://etherscamdb.info/domain/huobiairdrop.co
  • https://etherscamdb.info/domain/huobiairdrop.com

Вони також були включені в чорний список на MetaMask і EtherAddressLookup, щоб убезпечити вас від їх відвідування.

</ P>