エンタープライズ:特集 | 2003/02/12 17:54:00 更新 |
rootkitによるハッキングとその防御
第2回 ログファイルの改ざん (2/4)
ログの消去ツール「ログクリーナー」
rootkitとして取り上げているtuxkitのデフォルトパッケージには含まれていないが、ほかのrootkitなどには、侵入時などのログを消去するための「ログクリーナー」と呼ばれるツールが含まれているものが多い。/var/log/messagesなどのプレーンテキストのログファイルは、単純にテキストエディタなどで書き換えることも可能だが、ログクリーナーには、それを自動化して特定のログを消去するものや、「wtmp/utmp/lastlog」などのバイナリファイルのログの編集や消去を行うものなど、さまざまな種類が存在する。
たとえば、「illogic」や「t0rnkit」といったrootkitには、「cleaner」、「t0rnsb」という名前のログクリーナー(どちらも同じもの)が含まれている。これは、プレーンテキストのログファイルから消去したいものを自動的に削除するツールで、ほかにwtmp/utmp/lastlogを消去するものには「zap」などがある。ここでは「shroud-1.30」というログクリーナーを取り上げて見てみることにしよう。
■shroud-1.30を利用したログの改ざんshroud-1.30は、wtmp/utmp/lastlogのログと、プレーンテキストのログから特定のユーザー情報を消去することができるログクリーナーだ。コマンドに関する説明は行わないが、下記のヘルプ画面を見ると、どういったことができるかはおおよそ検討がつくだろう。それぞれのログファイルから特定のユーザー情報を消去することを目的としたツールだ。
■shroud-1.30ーヘルプ画面# ./shroud-1.30 - Phish@mindless.com usage: [-wulLps] <-n> [-ftUhd] -w <-Uhd> Wipe |
■wtmpから特定のユーザーを消去
wtmp(Red Hat系Linuxでは/var/log/wtmp)には、システムへのすべてのログインとログアウトが記録されている。普段利用しているlastコマンドはwtmpファイルの末尾部分を参照し、それを出力している。lastコマンドで不審なログインが確認されれば、即座に管理者に侵入が検知されてしまう可能性があるため、改ざんを行うわけだ。
wtmp/utmp/lastlogの各ファイルはバイナリファイルであるため、直接テキストエディタで編集することはできない。そこで、ログクリーナーが利用される。
下記は、wtmpからユーザーhogeの情報をshroud-1.30を利用して消去している。
・改ざん前のwtmpを参照(ユーザーhogeの情報は記録されている)
# who /var/log/wtmp hoge pts/0 Dec 23 17:54 root tty1 Dec 23 18:30 hoge pts/0 Dec 24 00:38 hoge pts/0 Dec 24 01:01 root tty1 Dec 24 01:02 |
# ./shroud -w -U hoge -d pts/0 -h 192.168.1.3 Wiping /var/log/wtmp for hoge...[3/82] done |
# who /var/log/wtmp root tty1 Dec 23 18:30 root tty1 Dec 24 01:02 |
[TTS,ITmedia]