” chkrootkit ” は自分のシステム内に潜伏しているかも知れないルートキット(後述)を検出するツール。
ルートキットの検出ツールにはもう一つ ” rkhunter ” がありますが、こちらは2018年から開発が止まっている様です。(ダウンロードや実行は出来ました)
chkrootkitという命名
恐らくですが、 ” chkrootkit ” = ” chk ” + ” rootkit ”
” chk ” = ” check ” と思われますので、 ” rootkit ” の(存在の有無を)チェックをするツールという命名と思われます。
ルートキットとは
ルートキットは不正にシステム内に侵入し潜伏するマルウェアです。
システムの深いレベルに潜伏して、侵入の痕跡を消去することが可能です。
” キット ” という名前から分かる通り、多くは複数のマルウェアを統合したセットとして提供されています。
システムに侵入した後に、権限の昇格・侵入痕跡の消去・バックドアの作成など多彩な活動を行うマルウェアのセットです。
起動
kali ー 11-Forensics ー chkrootkit でターミナル上でhelpが起動します。

ヘルプ画面

” chkrootkit ” 自体はターミナルから、 ” chkrootkit ” コマンドで起動します。
オプション ” -V ” によるバージョン情報。バージョンは0.58bです。

検査する方法(もしくは検査対象)
ルートキットの検出方法(検査対象)として以下の種類が可能です。
オプション ” -l ” でそのリストを表示出来ます。
chkrootkit -l

14番目の ” awk ” 以降にはLinuxコマンドも並んでいますが、これらはchkrootkitの実行時に使用するコマンドも含まれています。
攻撃者がchkrootkitの無効化を狙う場合に、これらのコマンドのいずれかの改竄を行う場合があります。
つまりこれらコマンド自体がchkrootkit無効化の為の攻撃対象でもあります。
なのでそのコマンド群の改竄の有無をチェックしています。
ツールの実行
” sudo chkrootkit ” で、システム内のrootkitの潜伏の有無をチェックします。
sudo chkrootkit
sudoを付けない場合には、root関係のディレクトリは権限不足によりスキャンできません。
下図は実行結果。


オプション ” -q ”
表示を少なく(=警告のみに限定)して表示するオプション。

オプション ” -r ”
特定の検査方法を行うオプション。
” -r ” の後に検査の種類を指定します。
下例では ” aliens ” を指定しています。
sudo chkrootkit -r aliens

指定出来る検査方法の種類(再掲)
このリストの中から検出したい検査方法(検査対象)を指定します。

” -q ” オプションと併用して実行した結果です。

検出できるマルウェア
公式ページに75種類のマルウェアが記載されています。
定期スキャン設定
cron設定によりスキャンの定期化が出来ます。
sudo crontab -e
設定ファイルを編集し、以下の行を追加します(毎日AM3時にスキャンする場合の例です)
0 3 * * * /usr/sbin/chkrootkit
記述方法の詳しい説明は ” clamav ” の当該項をご参照下さい。
まとめ・注意事項
chkrootkit は通常のアンチウイルスソフトでは検出出来ないような、既知の rootkit の痕跡をチェックするツールですが、限界もあります。
以下の点には注意が必要です。
- 既知の rootkit しか検出できないため、新しい rootkit には対応していない場合があります
- 偽陽性(誤検出)が発生することがある(特に /proc 内の一部のプロセス)
- 検出後の対応は手動で行う必要がある
そのため日頃から OS やソフトウェアを最新の状態に保ち、不審な動きがないか監視することが重要 です。
コメント