開発日報

窓際エンジニアの開発備忘。日報は嘘です。

【連載】VirtualBox + Kali Linuxによるハッキング実験室 第7回 ~ ログを消去・改ざんする ~

はじめに

この連載ではVirtualBox + Kali Linuxを用いたハッキング実験を行います。今回は第7回です。

前回はSambaの脆弱性を利用してディレクトリトラバーサルを実現しました。
今回はターゲット端末のログを操作します。

連載記事一覧

主要なログのディレクト

Linuxでは、ログファイルの多くが"/var/log"ディレクトリに格納されています。ディストリビューションに差がありますが、ここでは共通に使われているログファイルについて解説します。

パス 説明 閲覧コマンド
/var/log/btmp ログイン失敗を記録する lastb
/var/log/wtmp ログイン成功を記録する last
/var/log/lastlog ユーザーの最終ログインを記録する lastlog
/var/log/faillog ユーザーのログイン失敗回数を記録する faillog
/var/log/tallylog ユーザーのログイン失敗回数を記録する pam_tally2

shredコマンドでログを消してみる

shredコマンドで完全にログファイルを削除できます(3回ランダム情報を書き込んで、最後にゼロで上書きしてから、ファイルを削除する)。

$ shred -n 3 -zu /var/log/messages
  • -n : ランダム情報を書き込む回数
  • -z : 最後にゼロを書き込む。
  • -u : shred終了後にファイルを削除する

とはいえ、ログファイルを丸ごと消すとすぐに発覚してしまいます。以下のコマンドでファイルtのなかみだけを消せます。

$ > /var/log/messages

コマンド実行履歴の改ざん

kaliでは「~/.hash_history」にコマンドの実行履歴が保存されています。
とはいえこちらをクリアしてもクリアしたことがコマンド履歴に残ってしまいます。

$ more ~/.bash_history

そこで、コマンド履歴の上限値を設定する環境変数「$HISTSIZE」を0にしてしまいます。

$ echo &HISTSIZE
1000
$ export HISTSIZE=0
$ echo $HISTSIZE
0
$ > ~/.bash_history

主要ログファイル一覧

パス 説明
/var/log/boot.log OS起動に関するログ
/var/log/cron 定期実行プログラムcronのログ
/var/log/deamon.log デーモンからのログ
/var/log/debug プライオリティの低いログ
/var/log/kern.log Linuxカーネルからのログ
/var/log/messages 様々なプログラムからのログ
/var/log/auth セキュリティ(認証)に関するログ
/var/log/lpr.log 印刷に関するログ

まとめ・次回

今回はログの消去・改ざんの方法について学びました。
次回はnetcatを使用したファイル転送・ロギングについて学びます。