リアリティはないけど、脅威は確かにいるよセキュリティ・ダークナイト(5)(2/5 ページ)

» 2010年10月12日 00時00分 公開

起動と動作確認

 tcp/22のLISTENが確認できたら、実際に接続してみよう。ひとまず、ユーザー名「admin」、パスワード「admin」でログインを行い、コマンドを実行してみる。

画面1 ssh経由でログインし、コマンドを実行してみる 画面1 ssh経由でログインし、コマンドを実行してみる

 問題なくログインでき、かなり限られてはいるものの、コマンドも実行できたことかと思う。

 今回は、ユーザー名「admin」、パスワード「admin」でログインしたが、Kojoneyではどんなユーザー名やパスワードでもログインできるというわけではない。実は、ログイン可能なユーザー名とパスワードの組み合わせは/etc/kojoney/fake_usersというファイル内に定義されている。

画面2 ログイン可能なユーザー名とパスワードの組み合わせは/etc/kojoney/fake_usersで定義 画面2 ログイン可能なユーザー名とパスワードの組み合わせは/etc/kojoney/fake_usersで定義

 このファイルに

ユーザー名 パスワード

の形式でユーザー名とパスワードを記述することで、その組み合わせでログインしたように見せかけることが可能となる。追加したいものや削除したいものがあれば、適宜編集するといいだろう。

 ちなみに筆者の場合は、rootでログインできたときのプロンプトが「$」だと不自然なので、あえてrootユーザーでのログインは拒否するようにしている(「$」や「ls」コマンドの結果などはcoret_fake.pyを編集すれば変更可能だ)。

 ログインした後は、適宜、さまざまなコマンドを実行してみるといいだろう。

残された記録――ログを分析

 Kojoney上でいろいろなコマンドを実行しても、偽物のシェルであるため、操作の多くは成功しなかったことだろう。しかし、その行動はすべてKojoneyに記録されている。ここからは、その記録内容の確認方法を見ていこう。

 生のログは/var/log/honeypot.logに保存されている。

画面3 Kojoneyが記録した生のログ 画面3 Kojoneyが記録した生のログ

 読めないこともないのだが、やはり見にくいと感じるだろう。そこで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
リスト3 kojreportの実行結果 - 1

 ここでは、ログインに成功したユーザー名と失敗したユーザー名およびその数が表示されている。

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
リスト4 kojreportの実行結果 - 2

 ここでは、侵入してきたユーザーが実行したコマンドとその数が表示されている。ミスタイプしたコマンドから、侵入後に何かを仕掛けるためにwgetを用いてダウンロードした形跡までもが、上記のように保存される。また、Kojoneyはwgetされたファイルを/var/log/kojoney以下に保存している。

ls /var/log/kojoney/ 
http___n_pentest_jp_gosh_tgz_tar299
リスト5 /var/log/kojoneyのlsの結果

収集した情報から見えてくる「標的」

 今回見ていただく情報は、筆者の自宅で収集した情報である。それでは、狙われたユーザー名とそのパスワードを見てみよう。

【狙われたユーザ名 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.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。