Metasploit渗透测试学习笔记——2、Metasploit基础

前言

很多人第一次接触Metasploit渗透测试框架的时候,都会被它所提供如此多的接口、选项、变量、模块所震撼,而感觉无从下手,这一小节将会对这部分内容做一个简单的普及说明,希望对大家有帮助

专业术语

Exploit(渗透攻击):渗透攻击是指由攻击者或渗透测试者利用一个系统、应用或服务中的安全漏洞,所进行的攻击行为。攻击者使用渗透攻击去入侵系统时,往往会造成开发者所没有预想到的一中特殊结果。流行的渗透攻击技术包括缓冲区溢出、WEB应用程序漏洞攻击(例如:SQL注入、XSS等),以及利用配置错误等。

Payload(攻击载荷):攻击载荷是我们期望目标系统在被渗透攻击之后去执行的代码,在Metasploit框架中可以自由地选择、传送和植入。例如,反弹式shell是一种从目标主机到攻击主机创建网络连接,并提供命令行shell的攻击载荷,而bind shell攻击载荷则在目标主机上将命令行shell 绑定到一个打开的监听端口,攻击者可以连接这些端口来取得shell交互。攻击载荷也可能是简单的目标操作系统上执行一些命令,如添加账户等等。

ShellCode:ShellCode是渗透攻击时作为攻击载荷运行的一组机器指令。ShellCode通常用汇编语言编写。在大多数情况下,目标系统执行了ShellCode这一组指令之后,才会提供一个命令行shell或者Meterpreter shell,这也是ShellCode的由来。

Module(模块):在Metasploit中一个模块是指Metasploit框架中所使用的一段软件代码组件。在某些时候,你可能使用一个渗透攻击模块(exploit module),也就是用于实际发起渗透攻击的软件组件。而在其他时候,则可能使用一个辅助模块(auxiliary module),用来执行一些注入扫描或系统查点的攻击动作,这些在不断变化和发展中的模块才是使Metasploit框架如此强大的核心所在。

Listener(监听器):监听器是Metasploit中用来等待接入网络连接主机的组件,举例来说,在目标系统主机被渗透攻击之后,他可能会通过互联网回连到攻击主机上,而监听器组件在攻击主机上等待被渗透攻击的系统来连接,并负责处理这些网络连接。

Metasploit用户接口

MSF终端

Msf(Msfconsole)终端是目前Metasploit框架最为流行的用户接口,而这也是非常自然地,因为MSF终端是Metasploit框架中最为灵活、功能最全以及支持最好的工具之一,MSF终端提供了一站式的接口,能够访问Metasploit框架中几乎每一个选项和配置,就好比是你能够实现所有渗透攻击梦想的大超市一般,你可以使用MSF终端做任何时期,包括发起一次渗透攻击、转载功能模块、实施查点、创建监听器,或者对整个网络进行自动化渗透测试攻击等等。

启动Msf:  

格式:终端输入msfconsole即可


查询Metasploit使用说明:

格式:msf>help


查看具体命令的使用方法:

格式: help  需要查看命令


MSF命令行(Kali 1.0自带  kali 2017没有)

MSF命令行和MSF终端为Metasploit框架访问提供了两种截然不同的途径。MSF终端以一种用户友好的模式来提供交互方式,用于访问软件所有的功能特性,而Msfcli则主要考虑脚本处理和与其他命令行工具的互操作性。Msfcli可以直接从命令行shell执行,并允许你将其他工具的输出重定向到Msfcli中,以及将msfcli的输出重定向给其他的命令行工具。msfcli还支持启动各种渗透攻击和模块辅助,这位框架软件测试和开发新的渗透攻击代码提供了非常便捷的方式,在你明确知道你需要使用哪个渗透攻击模块和所需要的配置参数时,它将是高效率实施渗透攻击的绝妙工具。msfcli提供了一些基本的帮助文档,可以通过msfcli -h来查看。

启动msfcli:


查看帮助说明文档:


Armitage

Metasploit框架中的armitage组件是一个完全交互式的图形化用户接口,由Raphael Mudge所开发。这个接口具有丰富的功能,并且是免费的,让人印象深刻。

运行Armitage


在终端输入Armitage之后可以看到直接出现弹框,之后选择connect即可!

Metasploit功能程序

Metasploit的功能程序实在某些特定的场合下,对Metasploit框架中的一些特殊功能进行直接访问的接口,在渗透代码开发过程中特别有用。这里简单介绍几个:

MSF攻击载荷生成器

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

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


注:在kali 1.0系列中该命令可以识别,在2.0系列不可以!,如果在使用过程中需要详细了解某一exploit攻击模块的配置参数可以在其后加入 “-O”进行详细的查询!

MSF编码器

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

另外,在网络上明文传输的ShellCode很可能被入侵检测系统和杀毒软件所识别,为了解决这一问题,Metasploit的开发者们提供了MSF编码器,可以帮助你通过对原始攻击载荷进行编码的方式来避免坏字符,以及逃避杀毒软件和IDS检测,输入Msfencode -h 可以查看MSF编码器的配置选项列表:

Metasploit中包含了一系列可以用于不同场景下的编码器,一些你只能使用字母与数字字符来构造攻击载荷时非常有用,而这种场景往往会出现在很多文件格式的渗透攻击,或者其他应用软件只接受可打印字符作为输入时。而另外一些更为通用化的编码器通常在普遍场景中都表现的很好。

Metasploit Express和Metasploit Pro

Metasploit Express与Metasploit Pro是Metasploit框架的商业化WEB接口软件,这两个软件提供了非常可靠的自动化功能,让新手们能够很容易地使用Metasploit软件,同时也仍然提供了对Metasploit框架的完全访问接口。这两个产品还提供了一些在Metasploit社区版本中没有的工具,比如自动化口令破解工具和自动化网站攻击工具等,另外Metasploit Pro的一个很好的报告生成终端,可以加速渗透测试最为流行和关键的阶段:编写报告!

但是这两款软件都是收费版的,至于是否有需要请大家自我选择!


  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FLy_鹏程万里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值