MikroTik и открытый Winbox: аудит периметра и переход на VPN-туннель
На нескольких объектах нашли MikroTik с устаревшими прошивками и Winbox наружу. Закрываем порты, переводим управление на VPN, фиксируем что и как проверять.
Продолжение волны сканирований и эксплуатации устаревших RouterOS: Winbox-порт на периметре остаётся точкой входа для атакующих
MikroTik - это такое оборудование, которое покупают один раз, настраивают «на один вечер» и дальше не трогают годами. Работает - и хорошо. Именно поэтому к нам регулярно прилетает: «а можете посмотреть, у нас MikroTik на периметре, мы уже немного беспокоимся».
Беспокоиться есть о чём. На протяжении нескольких лет в RouterOS выходили CVE разной степени серьёзности. Самая известная серия - уязвимости в протоколе Winbox: CVE-2018-14847 позволяла читать произвольные файлы без аутентификации, включая базу паролей. Потом были исправления, потом новые CVE, потом - снова сканирование. Сейчас Shodan исправно показывает десятки тысяч RouterOS с открытым Winbox-портом (8291/tcp) в интернете. Часть из них - с прошивками, которые не обновлялись несколько лет.
Что нашли на объектах
Несколько клиентов попросили посмотреть MikroTik-устройства примерно в один период - частично после новостей об очередной волне сканирований, частично в рамках плановых аудитов. Картина во всех случаях оказалась схожей.
Версии прошивок - старые. На части устройств RouterOS 6.44.x, на части - что-то из ветки 6.46, ни одного с актуальными патчами на момент проверки. Это не значит, что все они под активной атакой, но уязвимые версии есть.
Winbox открыт наружу. По умолчанию Winbox-порт не закрыт файрволом - его нужно закрывать явно. Если устройство ставилось наспех или конфигурацию не трогали с момента установки, 8291/tcp вполне может быть доступен из интернета. Мы видели именно это.
SSH - тоже наружу, тоже на стандартном порту. Некоторые устройства дополнительно имели открытый 22/tcp с доступом из интернета. Пароли по умолчанию, к счастью, нигде не сохранились - но пароли были слабые.
Логов нет или они не настроены. В нескольких случаях syslog не был настроен вообще - логи оставались только локально на устройстве с дефолтным буфером в памяти. Историю активности не восстановить.
Как проверяли
Первым делом - инвентаризация: какие устройства есть, какие версии RouterOS, что открыто наружу. Последнее выясняется просто: сканирование с внешнего IP по списку устройств. 8291, 22, 23 (Telnet - иногда включён, иногда нет), 80/443 (WebFig). Если хоть что-то из этого отвечает с адреса, который смотрит в интернет - это уже разговор.
Версию RouterOS видно в Winbox и через SSH без аутентификации - баннер отдаётся открыто. Это удобно для аудита, но удобно и для атакующего.
Сравниваем версии с changelog на mikrotik.com и с CVE-базой. Не все CVE критичны для конкретной конфигурации, но несколько ключевых точек проверяем отдельно: включён ли Winbox, есть ли firewall-правила на input, какая конфигурация address-list и filter-rules.
Что делали в результате
Обновление прошивок. Это первое и обязательное. RouterOS обновляется через winbox, ssh или webfig - несложно, но требует окна обслуживания, потому что перезагрузка. Обновили до актуальных на момент выхода патчей версий ветки 6.48.x.
Закрытие Winbox снаружи. Winbox нужен для управления - но управлять с рабочего ноутбука напрямую через интернет нет никакой нужды. Добавили firewall-правило на input: Winbox (8291) доступен только с адресов управления, всё остальное - drop. То же самое для SSH и WebFig.
/ip firewall filter
add chain=input protocol=tcp dst-port=8291 src-address-list=mgmt-hosts action=accept
add chain=input protocol=tcp dst-port=8291 action=drop
Перевод управления на VPN-туннель. Для части клиентов пошли дальше: подняли IPsec-туннель, и управление MikroTik теперь идёт только через него. Снаружи открыто только то, что нужно для установки туннеля. Winbox, SSH, WebFig - только по туннельному адресу.
Настройка syslog. Добавили отправку логов на внешний syslog-сервер - хотя бы базовые события: логины, изменения конфигурации, firewall-срабатывания. В нескольких случаях это первый раз, когда с этих устройств вообще появилось что-то для анализа.
Смена паролей. Банально, но несколько устройств имели пароли вида «admin123» или производные от названия компании. Поменяли, убедились что стандартный пользователь admin с пустым паролем отключён или удалён.
Что нужно проверить у себя
Если MikroTik стоит на периметре - быстрая самопроверка:
- Какая версия RouterOS? Сравнить с changelog и убедиться что нет пропущенных CVE.
ip firewall filter print- есть ли правила, закрывающие Winbox, SSH, WebFig от публичных адресов?- Проверить с внешнего IP: доступен ли 8291? Если да - это первоочередная задача.
- Есть ли пользователь admin с пустым паролем?
/user printпокажет список,/user print detail- группы. - Куда идут логи?
/system logging printи/system logging action print.
Обновление RouterOS - стандартная операция, не требует специальных знаний. Тем не менее мы регулярно видим устройства, которые не обновлялись два-три года. Обычно потому что «работает» и потому что нет процедуры регулярного контроля версий сетевого оборудования.
Статус по объектам
На большинстве устройств работы завершены: прошивки обновлены, управление изолировано. Там, где сейчас поднимаем VPN-туннель - это идёт параллельно с другими работами и займёт ещё немного времени. Winbox наружу при этом уже закрыт на всех объектах.
Часть вопросов остаётся: что было с этими устройствами до нашего прихода - не восстановить без логов. Следов активных инцидентов не нашли, но отсутствие логов - это отсутствие видимости, а не гарантия чистоты. Теперь хотя бы следующие события будут видны.
- ProxyLogon: веб-шелл в OWA и форензика по IIS-логам · 2 марта 2021
- Год на удалёнке: что нашли в конфигурациях домашних рабочих мест и VPN · 23 февраля 2021