インストールをする。
$ sudo emerge -av chkrootkit
実行するとエラーが沢山出ます。
Searching for suspect PHP files... /usr/bin/find: head terminated by signal 13 /usr/bin/find: head terminated by signal 13 ...
対処法を探して試したら出なくなりました。
http://bugs.gentoo.org/265478
$ sudo chkroot $ wget "http://bugs.gentoo.org/attachment.cgi?id=212985&action=view" $ cd /usr/portage/app-forensics/chkrootkit/ $ sudo ebuild chkrootkit-0.48-r1.ebuild digest $ sudo emerge -av chkrootkit
対処の内容が元々のパッチ無しのchkrootkit-0.48をインストールしているので戻しました。
$ sudo emerge --sync && sudo layman -S && sudo eix-update $ sudo emerge -av chkrootkit
すると戻してからsudo chkrootkitを実行してもfindのエラーは出なくなりました。
バイナリの表示のようなものが出るようになりました。
chrootkit内部の実際に出るコマンドを単独で実行しても出ます。
/usr/bin/find /tmp /var/tmp -type f -exec head -n1 {} \; | grep php 2> /dev/null
ccacheのファイルに反応しています。
find /var/tmp/ccache/ -type f -exec head -n1 {} \;|grep php
ccacheのファイルを消すとエラーが出なくなります。
$ sudo CCACHE_DIR="/var/tmp/ccache" CCACHE_SIZE="2G" /usr/bin/nice /usr/bin/ccache -C
エラーが消えました。
... Searching for suspect PHP files... nothing found Searching for anomalies in shell history files... nothing found ...
結論は chrootkit の内部の find コマンドの動作によってエラーが変わります。
(1) findに引っかかる最初のファイルがバイナリの場合、その後のマッチしたデータの代わりにfindのエラーが表示され続けます。
(2) findに引っかかる最初のファイルがテキストの場合、その後に引っかかるテキストやバイナリが表示されます。
findのマッチするファイルの順番は/var/tmp/ccacheの中身が最初にマッチする場合emergeでccacheを使っているとemergeの後に(1)(2)が変化することがあります。
/tmp/にphpという文字列を含むテキストファイルやバイナリファイルを置くと確認できます。
/usr/sbin/chkrootkit のfindでスペースを出力すると、バイナリファイルの先頭行が最初のマッチでもテキストとして認識されます。
(-exec echo -n " " を追加します。)
(chkrootkitを再インストールすると戻ります。)
### ### Suspect PHP files ### ... fileshead="`${find} ${ROOTDIR}tmp ${ROOTDIR}var/tmp ${findargs} -type f -exec echo -n " " -exec head -n1 {} \; | grep php 2> /dev/null`"
オプションを追加すれば出力が減ります。
chkrootkit -q
0 件のコメント:
コメントを投稿