Ниже — перевод статьи пользователя Harry на Medium.

Не устанавливайте всё подряд

Недавно я наткнулся на проект, обещающий кэшбек с каждой транзакции, включая торговлю на централизованных биржах. Чтобы получить обратно 5 процентов, достаточно установить расширение для браузера. Если предложение звучит слишком хорошо, чтобы быть правдой, то скорее всего, это и есть обман. На момент обнаружения у приложения CCB Cash с ID в Chrome liachincjagnalnmahhaioaogkngbmhf был 181 пользователь. Сейчас приложение пропало из магазина.

Продукт, обещающий возврат 5 процентов со всех ваших блокчейн-транзакций. Слишком хорошо, чтобы быть правдой.

Я изучил код и обнаружил в нём вредоносное поведение. Вредоносное расширение заинтересовано только в следующих монетах: BTC, ETH, BCH, BNB, LTC, XRP и ETC.

Какие разрешения запрашивает расширение?

После установки расширение запрашивает доступ с правом записи к различным доменам, включая Github, Exmo, Coinbase, Binance, HitBTC, LocalBitcoins и другим. Оно запрашивает доступ ко всем открытым вкладкам и к вашим cookies – этими разрешения часто злоупотребляют, похищая ваши активы с различных бирж и кошельков.

Что оно делает?

Если резюмировать одним предложением, то расширение похищает всю вашу конфиденциальную информацию в зависимости от домена. Например, на Binance оно похищает данные логина, коды двухфакторной аутентификации и CSRF-токены, после чего пытается автоматически вывести монеты.

Рассмотрим, как это происходит.

Шаг 1. Хищение данных входа

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

Код, похищающий данные входа на Binance

Шаг 2. Кража кодов двухфакторной аутентификации

Когда вы осуществляете вход, расширение отслеживает вход двухфакторной аутентификации и ждёт, пока форма не будет отправлена. После этого оно переводит введённый код на свой сервер вместе с хранящимися в LocalStorage почтой и паролем из первого шага.

Код, похищающий код двухфакторной аутентификации при входе

После входа расширение каждые 5 минут будет запрашивать у вас код Google Authenticator, который будет отправляться на его сервер. Это даёт злоумышленникам больше попыток, если они будут пытаться войти в ваш аккаунт и пропустят код, который отправлялся при входе.

Запрос кода двухфакторной аутентификации Google на Binance

Шаг 3. Хищение CSRF-токена и вывод

Когда вы просматриваете на Binance свой баланс, расширение похищает из вашего файла cookies CSRF-токен и отправляет его на свой сервер. После этого оно делает POST-запрос, чтобы завладеть балансом монет, и пытается незаметно их вывести.

Расширение похищает CSRF-токены, чтобы выполнить над ними функцию md5() и сделать POST-запрос /exchange/private/yserAssetTransferBtc для завладения вашим балансом. После этого расширение сортирует монеты по стоимости и пытается их вывести.

Если расширение обнаружит монету с балансом больше 0.01 BTC, которую можно вывести, оно перенесёт вас на страницу вывода монеты с самой высокой стоимостью, автоматически заполнит запрос на вывод и нажмёт кнопку автоматического вывода. Оно также размажет экран Binance, вставив в тело документа элемент div, выведя его на передний план и изменив текст подтверждения кода двухфакторной аутентификации. Это нужно, чтобы убедить вас, что вы вышли из сайта. Всё это происходит очень быстро, а вы даже не замечаете, что вас перенаправили со страницы.

Пользователь верит, что его сессия завершена

Тогда пользователь вводит код двухфакторной аутентификации, чтобы «восстановить» сессию (не догадываясь, что он подтверждает вывод монет на адрес злоумышленника), после чего его попросят проверить почту. Конечно, пользователь получит лишь письмо о подтверждении вывода, но если он не станет читать содержимое письма и просто нажмёт ссылку, то подтвердит вывод и запустит процесс. То же самое происходит на Coinbase: периодические запросы кода двухфакторной аутентификации и похищение cookies и данных входа.

Пример внедрённой расширением для браузера формы ввода кода двухфакторной аутентификации на Coinbase

Если вы будете просматривать счета, расширение рассчитает актив с самой высокой стоимостью, также отправив стоимость всех ваших активов на свой сервер, и попытается вывести средства. Выглядит это так.

Расширение меняет структуру окна вывода, чтобы заставить пользователя ввести не те данные (значение хеша MD5 – во время тестирования я изменил его на то, которое контролирую). Во время тестирования у меня было 100 фунтов, так что вам оставляют 3 процента.

Это происходит при каждой загрузке страницы с вашими счетами, поэтому пользователь может случайно запустить вывод. Хитро. Таким образом расширение похищает ваши данные входа на биржу и пытается заставить вас подтвердить перевод средств злоумышленникам.

Куда отправляются средства?

Злоумышленники имеют следующие адреса:

  • BTC – 16EegrNMdZ9Rxku6Za5neEFjMW57wkQr1S;
  • ETH – 0x03b70dc31abf9cf6c1cf80bfeeb322e8d3dbb4ca;
  • BCH – 1PCh7w6LdcEv1sWd5wtvkELHcWe5HumUi3;
  • LTC – LRPChoyN8qLWENjo1dUjk2bESZjE7bQ6sP;
  • BNB – 0x03B70DC31abF9cF6C1cf80bfEEB322E8D3DBB4ca;
  • XRP – rGmdGrMjvxt6S3VjF4M78U2YMLPR6XLPSN;
  • ETC – 0x4F53C9882Ba87d2D7c525dF2aEF2540EFB6e32e5.

Со времени запуска расширения в магазине Chrome 3 декабря 2018 года злоумышленники украли 23,23550279 BTC. Информаци будет правдивой, если предположить, что эти адреса используются только для этого расширения, и через них проходили только краденные средства).

Какие секреты мы обнаружили?

  • адреса злоумышленников;
  • серверы и домены;
  • комментарии к коду на русском языке – очень вероятно, что за этим стоят русские.

Мы также прикрыли домен сервера злоумышленников, поэтому те, у кого установлено расширение, больше не станут его жертвами. Но мы всё равно призываем удалить расширение из браузера и изменить почту, а также пароли во всех криптосервисах, которыми пользуетесь.

Расширение выполняло вредоносные действия на следующих платформах: Exmo, Coinbase, Hbg / Huobi, HitBTC, Binance, LocalBitcoins, Blockchain, Bitfinex и MyEtherWallet.

Как обезопасить себя?

  • Не устанавливаете непонятные программы, которые назойливо запрашивают права доступа;
  • если вы что-то подозреваете, то вероятно так и есть;
  • периодически анализируйте расширения, которые установлены в вашем браузере, и удаляйте неиспользуемые;
  • если в браузере есть расширение, которым вы пользуетесь, поищите версию/альтернативу с открытым кодом или отключите автоматические обновления из магазина Chrome. Проверьте код или найдите надёжного человека, который сможет это сделать.

Больше данных ищите в крипточате.

Подписывайтесь на наш канал в Телеграме. И держите свои криптовалюты при себе!