METASPLOIT
基础入门
1、基础知识
1.1 简介
Metasploit
是一款开源安全漏洞检测工具,附带数百个已知的软件漏洞,并保持频繁更新。被安全社区冠以“可以黑掉整个宇宙”之名的强大渗透测试框架。
Metasploit Framework
最初是HD Moore
个人的想法,当时他在一家安全公司工作,他于2003年10月发布了第一个基于Perl
的Metasploit
版本,一开始只有共11个漏洞利用程序。后来随着Spoonm
帮助和加入,HD发布于2004年4月重写了该项目并发布了Metasploit2.0
。此版本包括19个漏洞和超过27个payload
。在这个版本之发布后不久,马特米勒(Skape
)加入了Metasploit的开发团队,使得该项目日益流行,Metasploit Framework
也收到来自信息安全界的大力支持,并迅速成为一个渗透测试必备的工具。
在2004年8月HD Moore
和 Spoonm
等4名年轻人在black hat
会议上首次公布了该项目,Metasploit
的团队在2007年使用Ruby
编程语言完全重写并发布了Metasploit3.0
,这次Metasploit
从Perl
到Ruby
的迁移历时18
个月,增加超过15
万行的新代码。随着3.0
版本的发布,Metasploit
开始被广泛的采用,在整个安全社区也受到了大幅增加的帮助和贡献。
在2009年秋季,Rapid7
收购了Metasploit
,Rapid7
是一个在漏洞扫描领域的领导者公司,被收购之后,Rapid7
公司允许HD
建立一个团队,仅仅着重于Metasploit Framework
的开发。也正由于这样,这次收购使得Metasploit Framework
开始更迅速地发展。HD Moore
也成为了Rapid7
公司的CSO
(Chief Security Officer
),同时他也是Metasploit
的首席架构师。
1.2 专业术语
渗透攻击(Exploit
),指由攻击者或渗透测试者利用一个系统、应用或服务中的安全漏洞,所进行的攻击行为。
攻击载荷(Payload
),是我们期望目标系统在被渗透攻击之后去执行的代码。
Shellcode
,是在渗透攻击是作为攻击载荷运行的一组机器指令,通常用汇编语言编写。
模块(Module
),指Metasploit
框架中所使用的一段软件代码组件,可用于发起渗透攻击或执行某些辅助攻击动作。
监听器(Listener
),是Metasploit
中用来等待网络连接的组件。
1.3 用户接口
终端(Msfconsole
),是Metasploit
框架最受欢迎的用户接口,提供与用户交互式的输入,可以用它来做任何事情。
启动终端:在命令行里输入msfencode
即可。
msf >
命令行(msfcli
),msfcli
脚本处理和其他命令工具的互操作性。
Armitage
,Metasploit
框架中一个完全交互式的图形化用户接口。
1.4 功能程序
MSF
攻击载荷生成器(msfpayload
),用于生成自己定制的shellcode
、可执行代码等。
MSF
编码器(msfencode
),帮助msfpayload
进行编码处理,避免坏字符,以及逃避杀毒软件和IDS
的检测。