Меню Рубрики

Как взломать роутер микротик

Сброс пароля на Mikrotik с сохранением конфигурации, или инструкция по восстановлению доступа к RouterOS после взлома

Не можете попасть в настройки своего роутера Mikrotik и у Вас версия RouterOS 6.29-6.42?
Тогда, вероятнее всего, Ваше оборудование подверглось взлому!
Я бы разделил разновидность нанесённого вреда хакерами в данном случае на три категории:

  1. Лёгкий вред: после проведенной атаки был изменён Identity, закрыты порты 8192, 80, 443, зато открыт порт 22, пароль администратора оставлены без изменений;
  2. Средний вред: все перечисленные выше порты открыты, но пароль администратора изменён;
  3. Тяжёлый вред: пароль администратора изменён, закрыты порты ssh, www, www-ssl Winbox. Доступ только через serial-port и MAC-Winbox.

Я столкнулся со всеми тремя проблемами. Взломаны были как обычные маршрутизаторы на платформе MIPS так и серьезные на PowerPC (ppc).

Легкий взлом

Последствия такой атаки быстро устраняются. Для этого подключаемся к оборудованию по ssh, и введя команду /ip service print, видим, что сервисы, просто-напросто, отключены (Disable).

Следующей командой выключаем сервис winbox. Остальные подключаются по аналогии или с помощью winbox’а. Убедитесь, что выполнение предыдущей команды прошло успешно.

После этого можно подключаться к оборудованию через Winbox, поменять все пароли, выполнить резервное копирование конфигурации и обновить RouterOS.

Средний

Последствия среднего взлома без сторонней программы устранить нельзя. Если интерфейс webfig остается доступным, а пароль злоумышленник изменил, то для восстановления доступа понадобится загрузить программу RouterScan. Официальный сайт: http://stascorp.com/load/1-1-0-56
Скачиваем на компьютер, распаковываем и запускаем. Откроется окно программы. Найдите строку Enter IP Ranges to scan. Справа от этой фразы кликаем по кнопке [E]. Затем в открывшемся диалоговом окне стираем всё и вводим IP-адрес своего роутера. После этого нажимаем кнопку Start Scan.

После сканирования прога выведет связку «Login-Password»


После чего необходимо, как и в первом случае, подключаться к оборудованию, изменить пароли доступа к маршрутизатору, сохранить на компьютер резервную копию конфигурации и установить update.

Тяжелый

А вот тут придется попотеть!
Если первые два типа решаются легко, то для устранения третьей категории взлома понадобится прибегнуть к эксплуатации уязвимости.

Уязвимость, которая эксплуатируется для восстановления паролей описал в статье на своей страничке специалист по кибербезопасности Alireza Mosajja, с ником n0p. https://n0p.me/winbox-bug-dissection/. Он же является автором скрипта для чтения паролей с роутера бездеструктивным методом.

Итак, в RouterOS начиная с версии 6.29 и заканчивая 6.42 с помощью скрипта написанного на Python’е и размещенного в общем доступе на Github, возможно увидеть текущий пароль админа при условии, если порт для подключения с помощью Winbox открыт.

для RouterOS bugfix 6.40.8 и current 6.42.5 и данный метод не подходит

Для запуска понадобится Python с pwntools. Я воспользовался уже установленной версией Ubuntu 16.04 LTS, где скрипт заработал, что называется, «из коробки» — сразу, не потребовав до установить pwntools. Для более ранних дистрибутивов без pwntools воспользуйтесь инструкцией, приведенной в официальной документации к pwntools.
В примере скачиваем в домашнюю директорию пользователя:
после завершения скачивания у Вас появится вложенные папки github.com/BigNerd65/WinboxExploit/archive/master.zip . Далее распаковываем скаченный архив.

на выходе получится директория WinboxExploit, в которой содержится, интересующий нас скрипт WinboxExploit.py. Запускается всего с одним параметром — IP-адресом, либо MAC-адрес роутера. И если все пройдет успешно, вы увидите историю паролей, применявшихся на роутере, где последний текущий. Важно! Перед применением обязательно удостоверьтесь, что указываемый в параметре скрипта адрес принадлежит вашему собственному роутеру!

После того как вы вернули доступ к управлению роутером задайте новые пароли, выполните резервное копирование конфигурации, скачайте с сайта производителя обновленную прошивку.

Очень надеюсь, что данная статья поможет вам сохранить часы жизни и нервные клетки.

Источник

Защищаем MikroTik. Хитрости безопасной настройки роутера

Содержание статьи

Подробный рассказ об известных на сегодняшний день багах в RouterOS ты можешь найти в статье «Опасный MikroTik. Разбираемся в уязвимостях популярных роутеров».

Обновления

Несмотря на страшные описания и действительно большую опасность, которую таят в себе уязвимости, стоит отдать должное разработчикам MikroTik: они в кратчайшие сроки выпускают патчи. Многие дыры закрываются еще до их утечки в паблик, оставшиеся — в течение дня-двух. Поэтому первое, на что нужно обратить внимание, — актуальность версии RouterOS на твоем девайсе. Автоматически система не обновляется, поэтому за появлением новых версий нужно следить вручную. В разделе Software на сайте MikroTik лежат актуальные версии операционной системы и отдельных пакетов. Простейший способ обновиться: System → Packages → Check For Updates → Download and Install.

Те же действия можно выполнить, набрав в консольной строке роутера следующую команду: /system package update install .

Обновление системы роутера

Хакинг для новичков

Доступны четыре ветки разработки: Long-term, Stable, Testing и Development. Для критичных систем рекомендуется ставить Long-term. Железка, которая может полежать пару минут в процессе обновления, достойна Stable, остальные ветки оставь для экспериментов на домашнем роутере. Перед обновлением внимательно читай Changelog. Иногда полностью перерабатываются некоторые части ОС, после чего они не способны работать со старой конфигурацией (так было, например, с bridge в 6.41).

Если ты счастливый владелец нескольких роутеров MikroTik, помни, что массовый апгрейд стандартными средствами невозможен, но можно воспользоваться The Dude или самописными скриптами.

Packages

Следующее, за что можно взяться для повышения безопасности, — отключить ненужную функциональность. Не используешь IPv6 — отключай, не нужен Wi-Fi — отключи весь модуль, отвечающий за него (все в том же меню System → Packages). Обрати внимание, что полностью удалить из системы можно только дополнительные пакеты, то есть те, что не входят в routeros-platformname.

Службы

Все угрозы для MikroTik работают, только если админ заранее не позаботился о безопасности. При элементарных настройках служб и файрвола роутер проработает годы без обновлений. В меню IP → Services отключи ненужные службы. Рекомендую открывать только SSH и Winbox с определенных адресов, остальное — disable. Того же самого эффекта можно добиться командой /ip service disable ftp .

Список работающих сервисов

Также проверь, не включены ли службы IP: Web Proxy, IP → UPnP, IP → Socks. Если они включены без твоего ведома, у меня для тебя плохие новости. Вот команды для отключения этих служб из командной консоли: /ip proxy , /ip upnp , /ip socks .

Проверяем, поднят ли в системе proxy

RouterOS имеет работающий по протоколу MNDP механизм обнаружения соседей. Знать соседей в своей сети — отличная идея, но вот светить моделью роутера и версией софта в окружающее пространство вряд ли хорошо с точки зрения безопасности.

Лучше не показывать соседям модель роутера и версию софта

Функция обнаружения соседей, как и многие другие фичи в RouterOS, использует в работе списки интерфейсов. В дефолтной конфигурации уже есть списки LAN, WAN, dynamic, all и none, но можно создать и свои списки со сложной структурой. Допускаются вложенные списки (include) и исключения (exclude). Настраиваются они в меню Interface → Interface Lists. Сначала создаем сам список (кнопка Lists), затем в основном меню добавляем в него интерфейсы. Команда для работы со списками выглядит так: /interface list .

Список интерфейсов

В список dynamic входят динамические интерфейсы, такие как VPN-интерфейсы, PPPoE. None означает «ни одного», all — «все». В дефолтной конфигурации «домашних» роутеров в списке WAN будет ether1 , в LAN — от ether2 до ether5 , все Wireless-интерфейсы и bridge .

Как известно, подключиться к RouterOS можно не только по IP-адресу, но и по MAC. Также работает ping по MAC-адресу. За работу этих служб отвечает Tools → MAC Server. Он тоже использует в настройках списки интерфейсов. Стоит выделить отдельную группу интерфейсов под управление, а затем разрешить обнаружение соседей и MAC Server только ей.

Не отключай MAC Winbox и MAC Telnet совсем: однажды наступит момент, когда ты сломаешь себе доступ по Winbox и нужно будет воспользоваться подключением по MAC, поэтому лучше держать такой бэкдор для себя. К тому же MAC Telnet полезен, когда в сети появляется новая железка, у которой еще нет IP-адреса. Тогда ее удобно настраивать из консоли соседнего роутера.

На сайте производителя представлен полный список доступных сервисов. Можно пройтись по нему и проверить, не включено ли у тебя что-то лишнее.

Дефолтная конфигурация RouterOS с описанными выше дополнениями повысит безопасность роутера. Вообще, разработчики постарались сделать Default Configuration максимально универсальной и учли многие нюансы безопасности. Дальше мы рассмотрим дополнительный харденинг RouterOS.

Пользователи и группы

Если ИТ-отдел в твоей компании большой, в нем наверняка есть разделение ролей и обязанностей. К примеру, сотруднику техподдержки ни к чему права на создание VPN-соединений или просмотр пароля Wi-Fi, в то время как сетевики, естественно, должны иметь к ним доступ. RouterOS имеет достаточно гибкий механизм распределения прав. Права назначаются в группах, затем в нужную группу добавляется юзер. Управление группами доступно в меню System → Users, а также с помощью команды /user group .

Управление группами

Рассмотрим права групп подробнее:

  • telnet, ssh, ftp, winbox, web, api, romon, dude, tikapp — понятны по названию. Разрешают юзеру подключаться по указанным протоколам;
  • local — открывает доступ к роутеру через консоль. При отключении также заберет право открывать терминал внутри Winbox;
  • reboot — право на перезагрузку;
  • read, write — права на чтение или запись;
  • sniff — права на исполнение встроенного аналога tcpdump (tools → sniffer);
  • test — запуск инструментов траблшутинга (ping, traceroute, bandwidth-test, wireless scan, snooper);
  • password — право менять собственный пароль;
  • policy — право управлять учетными записями и группами.

Чувствительные данные

На группе настроек sensitive остановимся чуть подробнее. В RouterOS определены так называемые чувствительные данные. К ним относятся ключи Wi-Fi, IPSec, SNMP, пароли VPN-интерфейсов и серверов, пароли протоколов маршрутизации и другая информация, влияющая на безопасность.

В меню окна Winbox в разделе Settings есть флажок Hide Sensitive. Когда он включен, эта чувствительная информация закрыта звездочками и в терминале ее тоже не видно. Эдакая защита от разглашения паролей. С отключенной опцией Sensitive в настройках группы этот чекбокс не снимается, то есть право Sensitive разрешает пользователю видеть введенные пароли.

Право Sensitive разрешает пользователю видеть введенные пароли

Port Knocking

Чуть выше мы говорили об ограничении доступа к управляющим службам роутера только с определенных адресов. Это очень важно: протокол Winbox далек от идеала и есть вероятность, что в нем еще будут находить дыры. Но часто приходится подсоединяться к роутеру из гостиниц или кафе, и невозможно предусмотреть все адреса, с которых подключишься.

Среди админов распространена техника Port Knocking. Изначально порт закрыт для всех. Но стоит снаружи выполнить какую-то последовательность действий, как для твоего IP открываются все порты для управления. Этот набор действий может быть очень сложным, и подобрать его нереально. Рассмотрим пример:

  • изначально все порты управления закрыты для всех, кроме списка разрешенных;
  • если на порт роутера 1234 попадает TCP-сегмент, затем два на порт 4321 и один на порт 5678, то адрес источника заносится в список разрешенных на сутки.

Реализовать эту последовательность действий поможет следующий скрипт.

Правила 3–6 ( action=add-src-to-address-list ) выполняют описанную выше логику. Первое правило разрешает доступ к управлению роутером только адресам из списка mgmt_allow , который заполняется на этапах 3–6. Второе правило запрещает доступ всем. Первые два правила вынесены наверх для того, чтобы избежать ненужного прохождения менеджмента трафика по четырем правилам с логикой и тем самым снизить нагрузку на CPU.

Но провернуть подобную операцию с Windows не так просто: из стандартного набора программ выпилили Telnet, а качать сторонний софт не всегда возможно. Зато любая ОС позволяет менять размер ICMP-пакета при пинге. Этим мы и воспользуемся. Изменим условия:

  • изначально все порты управления закрыты для всех, кроме списка разрешенных;
  • если на роутер попадает ICMP Request размером 345 байт, затем два размером 543 и один 678 байт, то адрес источника заносится в список разрешенных на сутки.

Для этого всего лишь поменяем предыдущие правила:

  1. Установим прокол ICMP.
  2. На вкладке Advanced зададим размер Packet Size.

Не забывай, что размер пакета, указанный в пинге, и размер пакета, долетевшего до роутера, — это разные значения. В Linux к ICMP прибавляется 28 байт заголовков, то есть, чтобы отправить пакет размером 345 байт, нужно в пинге указать размер 317. У Windows цифры другие — она по-своему считает заголовки.

Wireless

RouterOS поддерживает белые и черные списки Wi-Fi. Для этого есть список Wireless Access List. Просто добавь туда устройства, которые не имеют права подключаться к сети, а потом сними флажки Authentication и Forwarding. Еще для этих целей можно использовать команду /interface wireless access-list add .

Настройка черного списка Wi-Fi

Описанный выше случай будет работать как Blacklist. Чтобы преобразовать его в Whitelist, нужно поставить указанные флажки и изменить тип работы интерфейса Wireless с помощью команды /interface wireless set 0 default-authentication=no .

Настройка белого списка

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

Настройка Forwarding отвечает за передачу данных между клиентами одной подсети. Обычно ее не стоит трогать, но, если ты строишь, к примеру, hotspot-сеть, клиенты которой будут ходить только во внешние сети (то есть внутреннее взаимодействие им не нужно), отключи данную опцию — это улучшит качество связи.

С помощью Wireless Access List можно настроить сложную логику работы клиентов: по уровню сигнала, времени суток, ограничить скорость каждого клиента или загнать его в определенный VLAN без дополнительных телодвижений. Очень рекомендую познакомиться с этим инструментом поближе.

А еще MikroTik умеет делать SSID в виде эмодзи, например так: 💀👽💲. Для этого нужно перевести символы в Unicode с помощью инструмента вроде такого и вставить полученную строку в SSID.

Заключение

Мы рассмотрели минимум действий, которые помогут роутеру стать безопаснее, а админу спать спокойнее. Но у RouterOS под капотом еще очень много возможностей, и если не включать мозг при их настройке, то никакие статьи не уберегут тебя от взлома. Вообще, мозг — отличный инструмент. Им нужно пользоваться регулярно.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Ярлык на рабочий стол linux
  • Яндекс строка для linux
  • Яндекс программы для linux
  • Яндекс навигатор для linux
  • Яндекс диск монтирование linux