rootkit検知ツール(chkrootkit)
2009, 02, 16
chkrootkit は、システムにrootkitが組み込まれていないかを検査してくれるツール。 rootkit とは、不正アクセスの痕跡を消し去り、それを隠ぺいし、さらなる標的を攻撃することを可能とするツール群。 chkrootkit は、いくつかの rootkit を検出できるが、 検出しても駆除する機能はない。しかし不正侵入検知には役立つ。
■chkrootkitのインストール
■chkrootkitの実行
■chkrootkitの定期自動実行設定
rootkitを発見したときroot宛にメールが来るように設定
■chkrootkitで使用するコマンド群のコピー
chkrootkitが使用するコマンド群をコピーしておき、必要な場合にそのコマンド群でchkrootkitを実行する。
■chkrootkitのインストール
chkrootkitをインストール [root@linux ~]# yum -y install chkrootkit
■chkrootkitの実行
chkrootkitを実行 [root@linux ~]# chkrootkit ROOTDIR is `/' Checking `amd'... not found Checking `basename'... not infected Checking `biff'... not found Checking `chfn'... not infected ・ ・ ・ Checking `scalper'... not infected Checking `slapper'... not infected Checking `z2'... user root deleted or never logged from lastlog! Checking `chkutmp'... chkutmp: nothing deleted 実行結果中に"INFECTED"という行がなければ問題ない
■chkrootkitの定期自動実行設定
rootkitを発見したときroot宛にメールが来るように設定
chkrootkitの実行スクリプトを作成 [root@linux ~]# vi /root/chkrootkit.sh #!/bin/sh /usr/bin/chkrootkit > /var/log/chkrootkit_log grep "INFECTED" /var/log/chkrootkit_log chmod 600 /var/log/chkrootkit_log chkrootkitの実行スクリプトに実行権限を与える [root@linux ~]# chmod 700 /root/chkrootkit.sh cronを編集 [root@linux ~]# crontab -e 00 02 * * * /root/chkrootkit.sh 毎日2:00にchkrootkitの実行スクリプトを実行
■chkrootkitで使用するコマンド群のコピー
chkrootkitが使用するコマンド群をコピーしておき、必要な場合にそのコマンド群でchkrootkitを実行する。
chkrootkitで使用するコマンド群の退避先ディレクトリの作成 [root@linux ~]# mkdir chkrootkitcmd chkrootkitで使用するコマンド群を退避先ディレクトリへコピー [root@linux ~]# cp `which --skip-alias awk cut echo egrep find head id ls netstat ps strings sed uname` chkrootkitcmd/ 退避したchkrootkitでchkrootkit実行 [root@linux ~]# chkrootkit -p /root/chkrootkitcmd|grep INFECTED chkrootkitで使用するコマンド群の退避先ディレクトリを圧縮 [root@linux ~]# zip -r chkrootkitcmd.zip chkrootkitcmd/ adding: chkrootkitcmd/ (stored 0%) adding: chkrootkitcmd/id (deflated 55%) adding: chkrootkitcmd/egrep (deflated 49%) adding: chkrootkitcmd/sed (deflated 54%) adding: chkrootkitcmd/netstat (deflated 58%) adding: chkrootkitcmd/echo (deflated 54%) adding: chkrootkitcmd/find (deflated 50%) adding: chkrootkitcmd/awk (deflated 51%) adding: chkrootkitcmd/head (deflated 53%) adding: chkrootkitcmd/strings (deflated 53%) adding: chkrootkitcmd/ps (deflated 59%) adding: chkrootkitcmd/uname (deflated 55%) adding: chkrootkitcmd/ls (deflated 53%) adding: chkrootkitcmd/cut (deflated 53%) 退避先ディレクトリの削除 [root@linux ~]# rm -rf chkrootkitcmd 圧縮したzipファイルを送信するのに必要なuuencodeコマンドのインストール [root@linux ~]# yum -y install sharutils Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: ftp.riken.jp * base: ftp.riken.jp * centosplus: ftp.riken.jp * epel: ftp.riken.jp * extras: ftp.riken.jp * updates: ftp.riken.jp addons | 951 B 00:00 base | 2.1 kB 00:00 centosplus | 1.9 kB 00:00 epel | 3.4 kB 00:00 extras | 2.1 kB 00:00 updates | 1.9 kB 00:00 Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package sharutils.i386 0:4.6.1-2 set to be updated --> Finished Dependency Resolution Dependencies Resolved ==================================================================================================== Package Arch Version Repository Size ==================================================================================================== Installing: sharutils i386 4.6.1-2 base 201 k Transaction Summary ==================================================================================================== Install 1 Package(s) Upgrade 0 Package(s) Total download size: 201 k Downloading Packages: sharutils-4.6.1-2.i386.rpm | 201 kB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : sharutils 1/1 Installed: sharutils.i386 0:4.6.1-2 Complete! 圧縮したzipファイルをroot宛にメール送信 [root@linux ~]# uuencode chkrootkitcmd.zip chkrootkitcmd.zip|mail root 圧縮したzipファイルを削除 [root@linux ~]# rm -f chkrootkitcmd.zip