Armitage工具的界面很简洁,左上角是Metasploit提供的一些进行渗透的模块,右上角显示的是扫描到的目标主机,下面是一个Metasploit控制终端,前面提到过Armitage可以挂载多个Metasploit控制终端,所以这里可以开启多个Metasploit控制终端。事实上使用Armitage跟直接使用Metasploit控制终端的差别不大,区别是在Armitage中可以从图形界面上选择用于渗透的模块,而控制终端需要通过命令显示并选择渗透模块。
## 2、发现目标主机
Armitage主界面中,没有显示任何目标主机,下面采用Armitage工具来发现目标主机,单击“Hosts”->“Nmap Scan”->“Quick Scan”命令,调用Nmap工具来执行目标网段的快速扫描
在弹出的对话框中输入要扫描的网段,这里输入Kali虚拟机和Metasploitable靶机所在的网段“192.168.137.0/24”,
点击“OK”按钮确定, Armitage将调用Nmap对目标网段进行扫描,在扫描的过程中,发现的主机将会显示在右上角的目标主机显示窗体中,用主机的IP地址来标识
目标网段扫描结束,将会弹出消息框提醒用户扫描结束,同时在消息框中会提示用户下一步的操作,即调用“Attacks”->“Find Attacks”命令来发现目标主机可被利用的漏洞。
## 3、扫描目标主机的操作系统类型
用户会发现扫描到的目标主机显示的图标全是黑色的,这是因为还没有识别目标主机的操作系统类型,无法显示Windows系统或Linux系统的图标,因此可利用Armitage进一步判断目标主机的操作系统类型以Metasploitable靶机为例,其IP地址为“192.168.137.129”,选中IP地址为“192.168.137.129”的主机,点击菜单命令“Hosts”->“Nmap Scan”->“Quick Scan(OS detect)”,将探测目标主机的操作系统类型,执行“Quick Scan(OS detect)”命令后,将弹出图5-10所示的对话框,在该对话框中可输入要探测的网段或主机的地址。可以看到,如果选择了某个主机,该主机的IP地址将自动出现在对话框中。
目标主机操作系统类型探测结束,其主机对应的图标将会变成操作系统对应的图标类型
## 4、发现目标主机可以利用的漏洞
要利用漏洞,首先要发现目标主机有哪些漏洞可被利用,目标主机的隔离与其硬件资源、操作系统版本、安装的软件版本以及开放的服务端口休减程关,在Armitage工具的图形用户界面中,可点击菜单命令“Attacks”->“TheAttacks”来发现目标主机存在的漏洞,
漏洞扫描结束,弹出的消息框,提示扫描结束,同时告诉用户目标主机的右键弹出菜单中多了一个与该目标主机关联的“Attack”子菜单
需要提醒用户的是,该“Attack”子菜单是与目标主机对应的,不同的目标主机发现的可利用的漏洞不同,相应的“Attack”子菜单中的命令也会不一样,存在差别。Metasploitable靶机系统Attack菜单中的命令
在图5-15中可以看到靶机系统可以利用的漏洞对应的攻击模块。从图5-15可以看出目标主机的右键弹出菜单中有五个选项,其中“Login” “Services”“Scan”和“Host”四个选项是在执行“Find Attacks”命令前就有的,而“Attack”选项是在执行“Find Attacks”命令后产生的。
## 5、对目标主机进行攻击
下面简单演示一下利用Armitage对发现的靶机系统漏洞进行攻击的过程.在要攻击的目标主机上单击右键,在弹出菜单中选择“Attack”->“ftp”->“ proftpd_133c_backdoor ”命令
“ Proftpd_133c_backdoor ”命令可以利用 proftpd_133c软件中的后门,从而获取FTP服务器的访问权。Proftpd是一款运行于Unix平台或是类Unix平台(如Linux,FreeBSD等)上的开放源码的FTP服务器软件,是原来世界上使用为广泛的FTP服务器软件Wu-ftpd的改进版,改进后的Proftpd在配置和管里的使用上更加简单方便。但是在2010年11月28日到2010年12月2日之]发行的供用户下载使用的proftpd-1.3.3c. tar.[bz2lgz]版本的文档中被恶意地植了一个后门,该后门可被利用来非法访问FTP服务器。
执行“ Proffpd_133c_backdoor ”命令后将弹出所示的攻击模块选项置对话框。
可对攻击模块的选项进行配置,比如配置本地主机的IP地址、本地主机运行进程的端口号、远程主机的IP地址、要攻击的远程服务端口号等。如图5-17所示,因为攻击的是FTP服务器,所以远程服务的端口号为21。配置好攻击模块的选项后,单击“Launch”按钮执行攻击
在MSF的控制终端中可以看到命令的执行过程,最后向目标主机的21号端口发送了 Proftpd_133c后门控制命令,获取对 Proftpd 服务进程的访问控制,接下来就可以利用FTP命令来访问目标主机上的FTP服务了。
) Kall安全渗透测试实践教程
初学者,那么MSFConsole控制终端则适合于具备一定基础和经验、能够熟练使用Metasploit的资深用户。MSFConsole控制终端可以帮助用户有效地管理Metasploit数据库、管理会话、配置并启用Metasploit渗透测试模块。本小节将对MSFConsole控制终端进行介绍,包括启动、常用命令和使用的演示。
1.启动MSFConsole控制终端
启动MSFConsole控制终端的方法很简单,单击“Applications”->“ExploitationTools”->“metasploit framework console”即可,如图5-19所示:
图5-19 启动MSFConsole控制终端
启动MSFConsole控制终端后将看到图5-20所示的界面,该界面是一个控制终端,用户也可以通过在Kali系统的“终端Terminal”中输入命令“msfconsole”来启动它。
图5-20 MSFConsole控制终端界面
第5章 漏洞利用 (< (
型的模块数。例如当前采用的Metasploit版本为v4.16.30-dev,该版本包含渗透攻击模块(Exploits)1722个、辅助模块(Auxiliary)986个、后渗透攻击模块(Post)300个,攻击载荷模块(Payloads)507个、编码器模块(Encoders)40个和空指令模块(Nops)10个。
2.MSF模块介绍[9]
模块是MSF框架最为重要的组成部分,是MSF的核心,为用户提供各种渗透测试功能。按照功能划分,MSF框架中提供有六种类型的模块,分别是渗透攻击模块(Exploits)、辅助模块(Auxiliary)、后渗透攻击模块(Post)、攻击载荷模块(Payloads)、编码器模块(Encoders)和空指令模块(Nops),这些模块构成了MSF的核心功能。MSF模块位于metasploit安装目录的modules子目录中,如图5-21所示:
图5-21 MSF模块目录
了解和掌握MSF各模块的功能,是使用MSF进行渗透测试的关键,按照安全渗透测试的一般步骤,这些模块在功能上存在一定的先后顺序,下面将按照这个顺序对这些模块进行介绍。
(1)辅助模块(Auxiliary)
辅助模块的作用主要是为渗透测试的信息搜集提供支持,包括目标操作系统类型探测、网络服务端口扫描、目标系统或应用的弱口令收集和破解、敏感信息的探测、漏洞的发掘、实施网络协议欺骗等。辅助模块能够帮助攻击者在发起渗透攻击前尽可能搜集到目标系统更多的情报信息,做到知己知彼,为渗透攻击提供有力支持。
(2)攻击载荷模块(Payloads)
攻击载荷模块的作用是为渗透攻击打开在目标系统上的控制会话连接,它往往是一段简单的Shellcode代码,在渗透攻击操作成功后被植入到目标系统并运行,从而打开控制会话连接。这段Shelleode代码运行后,可能会执行以下操作,如启动一个命令行Shell并将其绑定到网络端口上,或者是向目标系统中添加一个新的用户并隐藏起来。Shelleode要在目标系统上运行起来,在编写时不仅需要开发人员具备汇编语言的开发能力,还需要深入理解目标操作系统的工作原理,具有一定的开发难度。所幸的是,MSF框架中引入了攻击载荷模块,避免了用户自己开发Shellcode的麻烦。
165.