Metasploit功能程序------payloads、encoder、Nasm shell

来源:互联网 发布:linux蓝牙驱动移植 编辑:程序博客网 时间:2024/05/22 12:59

2.3Metasploit功能程序

         Metasploit的功能程序是在某些的特定场合下,对Metasploit框架中的一些特殊功能进行直接访问的接口。

2.3.1 MSF攻击载荷生成器

         MSF攻击载荷生成器允许能够生成shellcode、可执行代码和其他更多的东西,也可以让 它们在框架软件之外的渗透代码中进行使用。

         Shellcode可以生成包括C、JavaScript、甚至web应用程序中VisualBasic脚本在内的多种格式,每种输出格式在不同的场景中使用。比如,在使用Python语言编写一个渗透攻击的概念验证代码(POC:Proof of concept),那么C语言格式的输出是最好的;如果在编写一个浏览器渗透代码攻击代码,那么以JavaScript语言方式输出的shellcode将是最合适的,在选择了所期望的输出之后,可以简单地将这个攻击载荷直接加入到一个HTML文件中来触发渗透攻击。

         查看这个功能需要哪些配置选项,在之前的命令是:msfpayload -h命令,现在msfpayload、msfencode命令被整合到msfvenom中,msfvenom命令解释说明:MsfVenom是metasploit独立的负荷生成器,也替换之前的msfpayload和msfencode。

         查看这个功能程序需要哪些配置选项,在命令行使用msfvenom -l payloads

         

         如果不清楚一个攻击负荷模块的配置选项时,在命令行之后添加一个字符“O”,就可以列出所必须和可选的选项列表,如下所示:

         

 

 

2.3.2 MSF编码器

         由MSF攻击负荷生成器产生的shellcode是完全可以运行的,但是其中包含一些null空字符,在一些程序进行解析时,这些空字符会被认为是字符串的结束,从而使得代码在完整执行之前被截断而终止运行。简单来说,这些\x00和\xff字符会破坏攻击负荷

         另外,在网络上明文传输的shellcode很可能被入侵检测系统和杀毒软件所识别,为了解决这一问题,Metasploit的开发提供MSF编码器,可以帮助渗透测试者通过对原始攻击载荷进行编码的方式,来避免坏字符,以及逃避杀毒软件和IDS的检测。输入msfvennom -l encoder可以查看MSF编码器框架列表。

        

         Metasploit中包含一些了可用于不同场景的编码器,一些在只能使用字符与数字字符来构造攻击负荷时非常有用,而这种场景往往会出现在很多文件格式的渗透攻击,或者其他应用软件只接受可打印字符作为输入时

         在遇到麻烦时,可能需要求助于最强大的x86/shikata_ga_nai编码器,在Metasploit中一个拥有Excellent等级的编码器,而这种等级是基于一个模块的可靠性和稳定性来进行评价的。一个Excellent的评价代表它的应用面最广,并且较其他编码器可以容纳更大程度的代码微调。

2.3.3 Nasm Shell

         nash_shell.rb功能程序是尝试了解汇编代码含义时非常有用的手头工具,特别是当进行渗透代码开发时,需要对给定的汇编命令找出它的opcode操作码,这个时候就可以使用该功能程序。



BackTack5R3 KDE 32位:链接:http://pan.baidu.com/s/1jHI2sRG 密码:hp5i

原创粉丝点击