はじめに
この連載では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を使用したファイル転送・ロギングについて学びます。