1.目的
攻撃者はターゲットマシンに侵入後、痕跡を残さないようにします。
痕跡を残さないことで、アタックを隠蔽したり、追跡を逃れたりできます。
今回は、ターゲット端末(Metasploiteble2)のログを消去・改ざんを行います。
基本的な攻撃の流れは以下の通りです。
1.情報調査ツールを使い、ターゲットの情報を収集
2.脆弱なサービスを特定し、侵入
3.ハッキングの痕跡を隠蔽 ←今回の実験
※注意事項※
このブログの記事はセキュリティ向上を目的として、自分の所有する機器に実験を行います。
他者の機器やネットワークで試すことは絶対にしないでください。詳しくはこちら
2.ログファイル
Linuxではログファイルの多くが”/var/log“ディレクトリに格納されています。
─# ls /var/log apache2 installer sysstat apt journal user.log boot.log.5 messages vmware-network.7.log boot.log.6 messages.1 vmware-network.8.log boot.log.7 messages.2.gz vmware-network.9.log ........
パス | 説明 |
---|---|
/var/log/btmp | ログイン失敗を記録 |
/var/log/wtmp | ログイン成功を記録 |
/var/log/lastlog | 最終ログインを記録 |
/var/faillog | ログイン失敗回数を記録 |
/var/log/tallylog | ログイン失敗回数を記録 |
/var/log/messages | システム関連の記録 |
/var/log/secure | セキュリティ関連の記録 |
3.実験
前提:ターゲットのroot権限のシェルを奪取済
ログファイルを消去・改ざんとコマンド履歴削除の実験を行います。
3-1.実験環境
この実験における環境は、次の通りです。
・Kali Linux(攻撃用マシン)
名前:kali
IPアドレス:192.168.238.128/24
・Metasploitable2(ターゲットマシン)
名前:metasploitable
IPアドレス:192.168.238.130/24
※実験用マシンの準備は以下ご参照ください。
・攻撃用マシン(Kali Linux)の構築
・ターゲットマシン(Metasploitable2)の構築
3-2.ログの消去
もっとも簡単な隠蔽方法は、ディレクトリ内のログファイルを削除してしまうことです。
(ファイルが消えていれば、すぐにバレる可能性があります。)
rmコマンドではファイルの内容は完全に消えないため、
shredコマンドを使って、データが復旧できないように完全削除します。
以下コマンドを実行します。
# shred -n 3 -zu /var/log/messages
-n:ランダム情報を書き込む回数
-z:最後にゼロを書き込む
-u:shred終了後にファイルを削除する
─# ls /var/log apache2 installer user.log apt journal vmware-network.7.log boot.log.5 messages.1 vmware-network.8.log boot.log.6 messages.2.gz vmware-network.9.log boot.log.7 sysstat ........ ....
“messages”が消去されました。
3-3.ログの改ざん
ファイルの中身だけをクリアする方法です。
リダイレクトの「>」の左側に何も入力せずに実行します。
# > /var/log/messages
ファイルの内容だけがクリアされ、ファイルだけが残ります。
─# cat /var/log/messages Dec 15 06:44:35 kali lightdm[534]: Error getting user list from org.freedesktop.Accounts: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Accounts was not provided by any .service files Dec 15 06:44:35 kali kernel: [ 23.029451] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None .............. .........
↓
─# > /var/log/messages ^C ─# cat /var/log/messages
3-4.コマンド履歴を消去
Linuxではコマンドを入力すると、”.bash_history“に履歴が記録されます。
コマンド履歴から攻撃内容がバレる可能性があるため、隠蔽します。
※[↑]キーを入力時にコマンドが表示される
まずデフォルトで1000コマンド記録されますが、これを0に変更します。
-# echo $HISTSIZE 1000 -# export HISTSIZE=0 -# echo $HISTSIZE 0
これで新たなコマンドの履歴は記録されません。 そのうえ、コマンド履歴内容を改ざんします。
-# > ~/.bash_history
これでコマンド履歴が消去されました。
実験は以上です。
4.まとめ
今回はLinuxのログを消去・改ざんする実験を行いました。
このように攻撃者は痕跡を巧妙に消すため、ログ管理システムなどを使用し、
ログを安全に保管する必要があります。
参考サイト、文献
ハッキング ラボのつくりかた 仮想環境におけるハッカー体験学習
価格:6,335円
(2021/12/16 01:03時点)