Вы знаете, Microsoft иногда выдает на гора полезные штуки. Давненько так я писал вам про их кофе. А вчера узнал что Microsoft приложила руку к диагностике Mikrotik RouterOS на уязвимости.
Обьяснялось это тем что сам Mikrotik не прилагает достаточных усилий к безопасности своей RouterOS. Поэтому, мол, за все это время RouterOS, особенно старые ее версии, накопили достаточно дыр. Как их латать и чем это вопрос к разработчику, ну а Microsoft ограничилась бесплатным инструментом RouterOS Scanner.
Что же этот сканер может выявить:
- get the version of the device and map it to CVEs
- check for scheduled tasks
- look for traffic redirection rules
- look for DNS cache poisoning
- look for default ports change
- look for non-default users
- look for suspicious files
- look for proxy, socks and FW rules.
Как это работает? В принцпе все просто, делаем клон репозитория, запускаем виртуальное окружение в Python и щупаем нашу Mikrotik RouterOS.
Вывод сканера включает 3 раздела для каждого теста:
- raw data - данные, которые мы ищем.
- suspicious - CVE, которые мы обнаружили как подозрительные, должны быть проверены, являются ли они законными или вредоносными.
- recommendation - обнаруженные нами слабые места в безопасности и рекомендации по их устранению.
Для локального теста я развернул RouterOS v5.26 прямо в VirtualBox.
Запускаем 1-й тест (доступ без пароля):
python main.py -i 192.168.56.2 -u admin -concise
Вывод сокращен:
** Mikrotik ip address: 192.168.56.2
Version:
suspicious:
"CVE-2018-1157"
--
"CVE-2018-1158"
"CVE-2020-20253"
"CVE-2019-3976"
recommendation:
"RouterOS version: is vulnerable to CVE(s). Upgrade to the latest version. (The CVEs list is from NVD)"
Users:
recommendation:
"You are using the default \"admin\" user name- create new user in \"full\" group with a unique name, and delete the admin user"
"Add allowed ip address to user: admin, to be the only address it can login from"
Ports:
recommendation:
"The port for ssh protocol is as ssh default port (22)- Mikrotik company recommended to change it"
Запускаем 2-й тест (доступ с паролем 123456):
python main.py -i 192.168.56.2 -u admin -ps 123456
Вывод сокращен:
** Mikrotik ip address: 192.168.56.2
Version:
raw_data:
5.26
suspicious:
"CVE-2021-36613"
--
"CVE-2018-14847"
"CVE-2018-1158"
recommendation:
"RouterOS version: 5.26 is vulnerable to CVE(s). Upgrade to the latest version. (The CVEs list is from NVD)"
Files:
raw_data:
{"name": "skins", "type": "directory", "creation-time": "may/27/2018 08:15:44"}
{"name": "um-before-migration.tar", "type": ".tar file", "size": "15 360", "creation-time": "may/27/2018 08:19:02"}
{"name": "auto-before-reset.backup", "type": "backup", "size": "7 066", "creation-time": "may/27/2018 09:26:21"}
{"name": "pub", "type": "directory", "creation-time": "oct/12/2022 13:45:16"}
Users:
raw_data:
{"name": "admin", "group": "full", "address": ""}
recommendation:
"You are using the default \"admin\" user name- create new user in \"full\" group with a unique name, and delete the admin user"
"Add allowed ip address to user: admin, to be the only address it can login from"
Ports:
raw_data:
{"name": "telnet", "port": "23", "address": ""}
{"name": "ftp", "port": "21", "address": ""}
{"name": "www", "port": "80", "address": ""}
{"name": "ssh", "port": "22", "address": ""}
{"name": "www-ssl", "port": "443", "address": "", "certificate": "none"}
{"name": "api", "port": "8728", "address": ""}
{"name": "winbox", "port": "8291", "address": ""}
recommendation:
"The port for ssh protocol is as ssh default port (22)- Mikrotik company recommended to change it"
Или запускаем 3-й тест (вывод будет в JSON формате):
python main.py -i 192.168.56.2 -u admin -ps 123456 -J
Вот так простенько и со вкусом.
Удачи всем.
No comments:
Post a Comment
А что вы думаете по этому поводу?