Блокировка вируса асик майнеров при помощи Router OS

Обсуждение ПО и его настройки
Ответить
OffM7
Сообщения: 7
Зарегистрирован: 22 май 2020, 11:43

Blocking the asic miner’s virus using Router OS

В эксперименте участвовал RB2011UiAS-RM с тройным резервированием от разных ВОЛС (3 Wan & load balance -> конфигурация, по методике описанной здесь: https://mikrotik.me/blog-MultiWAN.html)

4 шт. новеньких асик майнера AVALON 1166pro 81 Th были включены в один broadcast домен за Nat RB2011 через неуправляемый коммутатор. Т.к. майнеры не мои, их владельцу (проживающему в другом регионе) были проброшены порты (правилом dst nat) от Wan list до веб-интерфейса каждого аппарата, для контроля и управления.
Через пару дней все майнеры стали отключаться от пула и блокировать вход на веб-интерфейс. Если в браузере оставляли открытую страницу веб морды майнера, то было замечено, что 1-я строка с адресом майнинг пула и имя воркера переписываются на чужие реквизиты. То есть, все аппараты стоимостью $7000 (каждый) начинали работать на чужой кошелек.
Стало понятно: все майнеры заражены вирусом.

Описание вируса.
1. Вирус переписывает 1-ю строку майнинг пула на URL: stratum + tcp: // btc .viabtc.com:3333 Worker: rkano;
2. Меняет пароль на устройство;
3. Предпочитает срабатывать в неудобное для контроля время. В пятницу вечером, или в 5:00 утра, когда есть большая вероятность пропустить сообщение мониторинга (автор вируса явно опытный программист);
4. Блокирует возможность прошивки. При попытке прошить устройство через веб-интерфейс прошивка загружается в память, но дает Update fall в начале установки. При прошивке при помощи заводского приложения FMS майнер сразу уходит в перезагрузку.

Со слов специалиста по ремонту майнеров:
зараженный аппарат при загрузке сканирует локальную сеть, и вирус сразу проникает в другие. Вылечить, возможно, только прошивкой через программатор.
Занимался сексом с ними 2 недели.

Не помогло:
1. Включение майнеров в разные подсети и VLANы. (чтоб не могли видеть друг друга);
2. Установка сложных паролей на устройства (вирус все равно доставал пароль из «недр» операционной системы асика и менял его. Явный косяк программистов Canaan, производителя AVALON);
3. Сброс до заводских настроек (снова косяк Canaan);
4. Отключение проброса портов (dst nat) тоже уже не спасало!!!

Вирус продолжал через 1-2 дня переключать их на чужой пул.

Включил запись лога пакетов от майнеров. Обнаружил исходящие запросы по разным IP адресам. Стал анализировать их геопозиции. Вот некоторые из них:

https://ip2geolocation.com/?ip=103.50.83.41
https://ip2geolocation.com/?ip=66.240.205.34
https://ip2geolocation.com/?ip=72.11.134.114
https://ip2geolocation.com/?ip=69.12.78.186
https://ip2geolocation.com/?ip=139.177.198.64
https://ip2geolocation.com/?ip=64.227.188.164
https://ip2geolocation.com/?ip=209.97.136.164
https://ip2geolocation.com/?ip=146.0.75.2
https://ip2geolocation.com/?ip=80.234.112.216
Особенно заинтересовал последний в моем списке. Автозаводской район Тольятти! Адрес точно не имеет отношения к крупнейшей крипто-бирже Binance, куда майнили авалоны.
Возможно это адреса других зараженных майнеров?

Строка из лога:
in:IS-bridge out:ISP2, src-mac bb:bb:bb:bb:bb:bb, proto TCP (SYN,ACK), 192.168.16.101:5554->80.XXX.XXX.XXX:2420, NAT (192.168.16.101:5554->80.XXX.XXX.XXX:5554)->80.234.112.216:2420, len 48
Где:
bb:bb:bb:bb:bb:bb – mac адрес майнера
192.168.16.101 – IP адрес майнера
5554 – порт проброшенный к нему из WAN листа
80.XXX.XXX.XXX - IP адрес WAN2

Промежуточный вывод: вирус знает все открытые порты и все 3 IP-адреса Wan портов. Он пытается установить исходящее соединение со сторонними адресами и такое соединение не попадет под Firewall. Оно же исходящее. И ответ будет получен.

Что было сделано:
Добавил URL адрес нашего майнинг пула в Adress Lists Firewall.
IP – Firewall – Adress Lists
/add address=bs.poolbinance.com list="Allowed for Avalon"
В примере Binance. Если вы майните на другие, добавляйте все ваши. Например Poolin:
/add address=btc.ss.poolin.me list="Allowed for Avalon"
Таким образом, мы собираем в лист все возможные IP-адреса наших майнинг пулов. Их может быть несколько у каждого пула.
IP-адрес провайдера с которого подключается хозяин прописал в список «Allowed for Avalon» руками и снова разрешил проброс портов (dst nat) к веб-интерфейсам устройств.

Изображение

Далее: IP – Firewall – Filter Rules
/add action=reject chain=forward comment=Avalon dst-address-list=\
"!Allowed for Avalon" log=yes log-prefix="Kil not allowed" reject-with=\
icmp-network-unreachable src-address=192.168.16.101

Изображение

Изображение

Изображение


Это правило запрещает майнерам устанавливать исходящие соединения по всем IP-адресам, кроме адресов из списка разрешенных (список «Allowed for Avalon») и записывает попытки в лог. Почему я поставил не «Drop», а «reject» с отправкой «icmp-network-unreachable» на асик? - Для подстраховки. Все майнеры одинаково устроены, и все имеют по 3 строки для URLов. Если URL, вписанный в первую строку, не доступен – операционная система асика переключает майнинг на URL, вписанный во 2-ю строку. Если и она недоступна, то на 3-ю. Я рассуждал так: если вирус перепишет 1-ю строку на себя, то операционная стстема асика обратится к DNS серверу, получит IP-адрес, но этот IP-адрес запрещен. ОC получит ответ «network-unreachable» и перейдет майнить по 2-й строке. А 2-я строка то наша! Но это оказалось лишним.

О чудо! Теперь все зараженные майнеры без сбоев работают на хозяина. В лог постоянно валятся строки с заблокированными попытками выхода по IP-адресам мира.

После смены всех №№ портов dst nat попытки установить связь по TCP протоколу прекратились (связи с внешним миром у вируса теперь нет). Но он не прекращает попытки установить ее, теперь, по UDP протоколу.

Строка из лога:
Kill not allowed forward: in:IS-bridge out:ISP3, src-mac bb:bb:bb:bb:bb:bb, proto UDP, 192.168.16.101:49546->192.43.244.18:123, len 76

Оставшиеся вопросы и выводы:

Поставщик проверенный с репутацией. Поставка официальная со всеми делами (ГТД, таможня…) => вероятность что кто то, по пути сумел заразить устройства крайне мала.

После распаковки и включения устройства были настроены и запаролены в течении первых 10-15 минут. => вероятность что за это время просканировали порты и заразили их тоже мала.

Dst nat был от всего Wan list, но хозяин знал только IP-адрес Wan 1. А аппараты ломятся по IP-адресам всех 3х Wan портов.

Других асик майнеров в сети на было. Были только офисные компьютеры. Может вирус попасть из Windows компьютеров? С асик майнеров других типов или только с майнеров с одинаковыми контрольными платами и одинаковыми ядрами?

Реквизиты доступа: ip адрес ISP1 (Wan 1), порты и пароли отправлены через What’s up (возможно это имеет значение)

У меня 2 версии:
1. Майнеры уже с завода пришли с вирусом.
2. Реквизиты доступа украли из переписки в What’s up, заразили один или все сразу.
Буду признателен за другие мысли и варианты.


MTCNA MTCRE

На работе: CCR1009, 2xRB2011; 10+RB951UI; 10+hAP AC Lite; 2xSXT LTE; wAP LTE; 20+CRS112; 10+CRS212...
Дома: 2xhAP AC Lite; SXT LTE
Ответить