ハッキングの隠蔽 Linuxのログを消去・改ざん

セキュリティ
スポンサーリンク

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時点)