LinuxSoft


ドキュメント和訳について

 オリジナルのドキュメントは http://www.chkrootkit.org/README です。

 日本語版のドキュメント公開については念のため作者さんに問い合わせ中です。先方の回答やライセンスによってはドキュメントは非公開になる場合もあります。開発者の Nelson Murilo 氏より許諾を頂いています。

 ドキュメントの内容は出来るだけオリジナル英語に忠実に翻訳するように努めますが、日本語として不適切な部分は日本語として読みやすいように置き換えている場合もあります。なお、免責事項として、日本語版を利用者が利用するにあたり、いかなる場合も訳者はその責をを追いません(、と書くのが一般的ですので、私も書かせてください。。)。

README 日本語訳

chkrootkit V. 0.45

Nelson Murilo <nelson@pangeia.com.br> (メイン開発者)
Klaus Steding-Jessen <jessen@nic.br> (共同開発者)

 このプログラムはローカル環境で rootkit の兆候を検査するツールです。
 chkrootkit の情報は http://www.chkrootkit.org/ から得られます。

 違法行為は許さないものです!
 私はこのツールをあなたが使用する事に関していかなる責任も持ちません。

 このツールには DFN-CERT、ハンブルグ大学(chklastlog と chkwtmp)、Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org> による ifconfig に関する一部若干のツール群を含んでいます。

1. What's chkrootkit? - chkrootkit とは何?

 chkrootkit はローカル環境で rootkit の兆候を検査するツールです。次のような機能を備えています。

  • chkrootkit : rootkit によってシステムコマンドが改竄されていないか検査するツールです。

  • ifpromisc.c : ネットワーク・インターフェースが promiscuous モード*1かどうかを確認します。

  • chklastlog.c: lastlog ファイルの中に削除された痕跡がないか調べます。

  • chkwtmp.c: wtmp ファイルの中に削除された痕跡がないか調べます。

  • check_wtmpx.c: wtmpx ファイルの中に削除された痕跡がないか調べます。Solaris のみ)

  • chkproc.c: LKM*2 トロイの木馬(trojan) の兆候を調べます。

  • chkdirs.c: LKM トロイの木馬(trojan) の兆候を調べます。

  • strings.c: 高速で改竄された文字列を検索します。

  • chkutmp.c: utmp ファイルの中に削除された痕跡がないか調べます。

 chkwtmp と chklastlog プログラムは wtmp と lastlog ファイルに削除された痕跡がないか調べようと *試み* ます。ですが、かならずしも改竄された形跡を検出できるとは *保証できません*。

 外部ツールはスニファーのログと rootkit 用の設定ファイルを探し出そうとします。rootkit が一般的に設置するような場所を探します。ですが、こちらも必ずしも検出が成功するかどうか保証できません。

 chkproc は /proc 配下の構造を調べ ps コマンドに隠されているプロセスやシステムコールを探します。ですが、必ずしも LKM トロイの木馬(trojan) を検出できるとは限りません。このコマンドは -v (verbose = 冗長化モード)オプションをつけて実行できます。

2. Rootkits, Worms and LKMs detected - Rootkit、ワーム、LKM 検出

 chkrootkit によって検出できる rootkit やワーム、LKM の更新情報はhttp://www.chkrootkit.org/ をご覧下さい。

3. Supported Systems - 動作環境

 chkrootkit は以下の環境でテスト済みです。
 Linux 2.0.x, 2.2.x, 2.4.x と 2.6.x,
 FreeBSD 2.2.x, 3.x, 4.x と 5.x, OpenBSD
2.x と 3.x., NetBSD 1.6.x,
 Solaris 2.5.1, 2.6, 8.0 と 9.0, HP-UX 11, Tru64 と BSDI.

4. Package Contents - 配布物

README
README.chklastlog
README.chkwtmp
COPYRIGHT
chkrootkit.lsm

Makefile
chklastlog.c
chkproc.c
chkdirs.c
chkwtmp.c
check_wtmpx.c
ifpromisc.c
strings.c
chkutmp.c

chkrootkit

5. Installation - インストール

 C 言語をコンパイルするには、次のようにします。

# make sense

これでもう利用可能です。使う場合は次の単純な入力をして下さい。

# ./chkrootkit

6. Usage - 使い方

 chkrootkit は root ユーザによって実行されなくてはいけません。一番簡単な方法は:

# ./chkrootkit

です。これにより全ての検査が実行されます。また必要に応じて以下のようなオプションを使用することも出来ます。

使い方: ./chkrootkit [オプション] [検査対象ファイル ...]
オプション:
        -h                このヘルプを表示して終了します
        -V                バージョン情報を表示して終了します
        -l                テスト対象のファイルを表示します
        -d                デバッグ用です
        -q                静かなモードです
        -x                エキスパートモードです
        -r dir            特定のディレクトリを / 階層として扱います
        -p dir1:dir2:dirN chkrootkit が使う外部コマンドのパスです
        -n                NFS でマウントされているディレクトリは除外します

 検査対象となるファイルは以下の通りです。

 aliens asp bindshell lkm rexedcs sniffer w55808 wted scalper slapper z2 chkutmp amd basename biff chfn chsh cron date du dirname echo egrep env find fingerd gpm grep hdparm su ifconfig inetd inetdconf identd init killall ldsopreload login ls lsof mail mingetty netstat named passwd pidof pop2 pop3 ps pstree rpcinfo rlogind rshd slogin sendmail sshd syslogd tar tcpd tcpdump top telnetd timed traceroute vdir w write

 たとえば、改竄された可能性のある ps と ls コマンドに加え、ネットワーク・インターフェースがプロミスキャスト・モードかどうか調べるには次のようなコマンドになります。

# ./chkrootkit ps ls sniffer

 '-q' オプションを使うことで出力されるメッセージを出来るだけ控えたモードになります。このモードでは "infected" 状態のメッセージしか表示されません。

 '-x' オプションを使うことで実際にどのようなファイルにたいしてどのような文字列検査がおこなわれているか、ユーザからも分かるように全ての解析情報を表示します。

 たくさんのデータが表示されるので、次のようにしてみてください。

# ./chkrootkit -x | more

 システムコマンドのパスのみ調べるときは次のようにします。

# ./chkrootkit -x | egrep '^/'

 chkrootkit は検査時に以下のコマンドを使います。

 awk, cut, egrep, find, head, id, ls, netstat, ps, strings, sed, uname.

 もし可能であれば、これらのコマンド群が改竄されている事を前提に -p オプションで安全な場所にあるファイルを使って検査するほうが良いでしょう。

 たとえば /cdrom/bin にコマンドがある場合は、

 # ./chkrootkit -p /cdrom/bin

 複数のパスを : で区切れます

# ./chkrootkit -p /cdrom/bin:/floppy/mybin

 場合によっては改竄されたマシンの解析をするときに、ディスクを安全なマシンにマウントするという方法もあるでしょう。そのような時は改めてルートディレクトリを指定するために '-r' オプションを用います。

 たとえば、検査対象となるディスクが /mnt にマウントされている状態であれば、次のようにしてみてください。

# ./chkrootkit -r /mnt

7. Output Messages - chkrootkit の出力メッセージについて

 chkrootkit によって以下のメッセージが表示されます(-x と -q オプション使用時は除きます)。

  • "INFECTED"(改竄されている): おそらく既知の rookit によって改竄されたコマンドを発見しました。
  • "not infected"(改竄されていない): rootkit によると思われる文字列が検出できなかった場合に表示されます。
  • "not tested"(テストされない): テストが実行されませんでした。これには以下の理由が考えられます。
    1. OS の特定ができない
    2. 外部コマンドが利用できなかった
    3. コマンドラインで特定のオプションが実行された(例 -r)
  • "not found"(見つかりません):検査対象のコマンドが見つからない場合です。
  • "Vulnerable but disabled"(攻撃可能だが今は無効化されている): コマンドは改竄されていますが、利用はなされていません。(コマンドが実行可能でないか inetd.conf に記述がない場合です)

8. A trojaned command has been found. What should I do? - コマンドが改竄された形跡が見つかりました。どうしたらいいですか?

 このような場合、悪人によって root 権限が奪取され、マシンが危険な状態にさらされている重大問題となっています。

 改竄されたコマンドを正しいファイルに置き換えることによっても問題を解決することはできますが、もっとも良い安全確実な方法は安全なメディア(オリジナルの CD-ROM など)から OS の再インストールを行い、ベンダー*3の推奨するセキュリティ対策の指示に従うべきです。

9. Reports and questions - 報告や質問

 コメントや質問、バグレポートは nelson@pangeia.com.brjessen@nic.br へお送り下さい。

 簡単な FAQ (よくあるQ&A集)と rootkit やセキュリティに関する情報は chkrootkit のホームページからご覧になれます。http://www.chkrootkit.org/

10. ACKNOWLEDGMENTS - 謝辞

 アーカイブファイルに含まれる ACKNOWLEDGMENTS ファイルをご覧下さい。

11. ChangeLog? - 更新記録

02/20/1997 - Initial release
02/25/1997 - Version 0.4, formal testing.
03/30/1997 - Version 0.5, suspect files routine added.
06/11/1997 - Version 0.6, minor fixes and Debian compatibility.
06/24/1997 - Version 0.7, FreeBSD compatibility fixed.
08/07/1997 - Version 0.8, yet another FreeBSD compatibility and
                          RedHat PAM fixed.
04/02/1998 - Version 0.9, new r00tkits versions support.
07/03/1998 - Version 0.10, another types of r00tkits supported.
10/15/1998 - Version 0.11, bug found by Alberto Courrege Gomide fixed.
11/30/1998 - Version 0.12, lrk4 support added.
12/26/1998 - Version 0.13, minor fixes for Red Hat and glibc users.
06/14/1999 - Version 0.14, Sun/Solaris initial support added.
04/29/2000 - Version 0.15, lrk5 features added and minor fixes.
07/09/2000 - Version 0.16, new r00tkits types support and contrib patches.
09/16/2000 - Version 0.17, more contrib patches, rootkit types and
                           Loadable Kernel Modules (LKM) trojan checking
                           added.
10/08/2000 - Version 0.18, new rookits types support and many bug fixes.
12/24/2000 - Version 0.19, -r, -p, -l options added.  ARK support
                           added.  Some bug fixes.
01/18/2001 - Version 0.20, Ramen Worm and latest t0rnkit detection,
                           temporay check for promisc mode disabled
                           on Solaris boxes.
01/19/2001 - Version 0.21, Corrects a bug in the Ramen Worm detection.
01/26/2001 - Version 0.22, chklastlog core dump bug fixed, login and
                           bindshell false positives fixed, cron test
                           improvement.
03/12/2001 - Version 0.23, lrk6, rh[67]-shaper, RSHA and Romanian
                           rootkit detection.  Test for shell history
                           file anomalies.  More ports added to the
                           bindshell test.
03/15/2001 - Version 0.23a fixes a bug found in the cron and
                           bindshell tests.
03/22/2001 - Version 0.30  lots of new tests added.  RK17 and Lion
                           Worm detection.
04/07/2001 - Version 0.31  new tests: gpm, rlogind, mgetty.  Adore
                           Worm detection.  Some bug fixes.
05/07/2001 - Version 0.32  t0rn v8, LPD Worm, kenny-rk and Adore LKM
                           detection. Some Solaris bug fixes.
06/02/2001 - Version 0.33  new tests added.  ShitC, Omega and Wormkit
                           Worm detection.  dsc-rootkit detection.
                           Some bug fixes.
09/19/2001 - Version 0.34  new tests added.  check_wtmpx.c added.
                           Ducoci rootkit and x.c Worm detection.
                           `-q' option added.
01/17/2002 - Version 0.35  tests added: lsof and ldsopreload.
                           strings.c added.  Ports added to the
                           bindshell test.  RST.b, duarawkz, knark
                           LKM, Monkit, Hidrootkit, Bobkit, Pizdakit,
                           t0rn v8.0 (variant) detection.
06/15/2002 - Version 0.36  test added: w.  chkproc.c additions.
                           Showtee, Optickit, T.R.K, MithRa's
                           Rootkit, George and SucKIT detection.
09/16/2002 - Version 0.37  tests added: scalper and slapper.
                           Scalper Worm, Slapper Worm, OpenBSD rk
                           v1, Illogic and SK rootkit detection.
                           chklastlog.c and chkproc.c improvements.
                           Small chkrootkit bug fix.
12/20/2002 - Version 0.38  chkdirs.c added.  chkproc.c improvements.
                           slapper B, sebek LKM, LOC, Romanian
                           rootkit detection.  new test added: trojan
                           tcpdump.  Minor bug fixes in the
                           chkrootkit script.
01/30/2003 - Version 0.39  chkdirs.c and chkproc.c fixes.  bug fixes
                           in the chkrootkit script.  (more) Slapper
                           variants detection.
04/03/2003 - Version 0.40  chkproc.c fixes.  Tru64 support. small
                           corrections in chkrootkit.  New test
                           added: init.  New rootkits detected: shv4,
                           Aquatica, ZK.
06/20/2003 - Version 0.41  chkproc.c fixes.  New test added: vdir.
                           New worms detected: 55808.A and TC2. New
                           rootkits detected: Volc, Gold2, Anonoying,
                           Suckit (improved), ZK (improved).  Minor
                           corrections.
09/12/2003 - Version 0.42  BSDI support for chkdirs.c.  chkproc.c
                           fix.  New rootkit detected: ShKit.
                           ifpromisc test fixed for Linux 2.4.x
                           kernels. corrections for the -r option.
                           FreeBSD 5.x support.  HPUX correction.
                           Extra "\n" removed from chklastlog.c
                           output.
09/18/2003 - Version 0.42a Bug fix release.
09/20/2003 - Version 0.42b Bug fix release.
12/27/2003 - Version 0.43  C++ comments removed from chkproc.c.  New
                           rootkits detected: AjaKit and zaRwT.  New
                           CGI backdoors detected.  ifpromisc.c:
                           better detection of promisc mode on newer
                           Linux kernels.  New command line option
                           (-n) to skip NFS mounted dirs. Minor bug
                           corrections.
09/01/2004 - Version 0.44  chkwtmp.c: del counter fixed. chkproc.c:
                           better support for Linux threads.  New
                           rootkit detected: Madalin.  Lots of minor
                           bug fixes.
02/22/2005 - Version 0.45  chkproc.c: better support for Linux
                           threads.  New rootkit detected: Fu,
                           Kenga3, ESRK.  New test: chkutmp.  -n
                           option improvement.  Minor bug fixes.

*1 プロミスキャスト・モード=ネットワーク上のパケットを収集できるような状態
*2 Lodable Kernel Module=カーネル組み込みモジュール。プロセスを完全に消すことも出来るrootkitの一分類
*3 開発・メンテナンス会社という意味と思われます

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: Mon, 23 Oct 2006 17:41:10 JST (3989d)