Metasploit可以处理从扫描到攻击的所有事情。在本文中,我们将看看是什么使Metasploit成为最多功能的渗透测试工具包。
如果您是渗透测试的新手,那么在向您介绍开发工具之前,让我先解释一下它是什么。
渗透测试是经过许可的黑客行为。你可能在电视上看到过很酷的黑客攻击计算机系统而没有被抓到。但在现实世界中不是这样的。
如果你在未经许可的情况下黑进了某人,你很有可能最终会被关进监狱。所以,如果你打算怀着邪恶的意图学习黑客,我对你造成的任何损害不承担任何责任。我所有的文章都纯粹是教育性的。
那么,如果黑客行为很糟糕,为什么要从一开始就学习呢?默认情况下,互联网上的每台设备都是易受攻击的,除非有人保护它。
渗透测试员的工作是像黑客一样思考并攻击他或她组织的系统。然后,渗透测试员将漏洞通知组织,并建议对其进行修补。
渗透测试是业内薪酬最高的工作之一。由于互联网上的设备数量呈指数级增长,钢笔测试仪总是短缺的。
我最近写了一篇关于作为网络安全工程师应该知道的十大工具的文章。如果您有兴趣了解更多关于网络安全的知识,请查看此处的文章。
正确的。鼓舞士气的话说得够多了。让我们来看看市场上最酷的钢笔测试工具之一-Metasploit。
Metasploit是一个渗透测试框架,可帮助您发现和利用系统中的漏洞。它为您提供了您在整个渗透测试生命周期中所需的一切,从扫描仪到第三方集成,应有尽有。
Metasploit是一个用Ruby编写的开源框架。Metasploit被编写为一个可扩展的框架,因此如果您想要使用Ruby构建自定义功能,您可以通过插件轻松实现。
Metasploit还经常使用发布在常见漏洞和暴露(CVE)中的新漏洞进行更新。因此,如果发现并发布了新的漏洞,您可以立即开始扫描您的系统。
Metasploit内置了反取证和规避工具。Metasploit也预装在Kali操作系统中。
现在你知道Metasploit是什么了,让我们来看看Metasploit的核心概念。
Metasploit提供了几个关键组件来查找和利用网络上的漏洞。这包括漏洞攻击、有效负载、辅助等。让我们详细看看每一个。
利用漏洞是利用系统中的漏洞的一段代码。这些利用漏洞根据漏洞的严重程度执行特定操作。
利用漏洞可以利用软件漏洞、硬件漏洞、零日漏洞等。一些常见的利用漏洞包括缓冲区溢出、SQL注入等。
Metasploit根据目标系统中的现有漏洞提供了许多可利用的漏洞。Metasploit攻击可分为两种类型:
活动利用-活动利用将在目标系统上运行,利用系统,授予您访问权限或执行特定任务,然后退出。
被动利用-被动利用将等待目标系统连接到该利用。这种方法经常被互联网上的黑客使用,要求您下载文件或软件。一旦您这样做了,您就会将自己连接到黑客计算机上运行的被动利用漏洞。
有效负载是贯穿利用漏洞的一段代码。您可以利用漏洞进入系统,并使用有效负载执行特定操作。
例如,您可以将键盘记录程序与利用漏洞一起用作有效负载。一旦攻击成功,它将在目标系统中安装键盘记录程序。
Metasploit提供了一个很好的有效负载集合,比如反向shell、绑定shell、meterpreter等等。
有一些有效负载可以与大多数利用漏洞一起工作,但需要进行一些研究才能找到与该利用漏洞一起工作的正确有效负载。选择利用漏洞攻击后,可以使用Metasploit中的“show payload”命令列出将与该利用漏洞攻击一起使用的有效负载。
Metasploit中有几种类型的有效负载。您最终将使用的最多的是这三种类型:
登陆器-与他人一起工作的有效载荷,例如。两个有效负载:一个用于与目标建立连接,另一个用于执行指令。
Meterpreter-高级有效负载,驻留在目标的内存中,很难追踪,可以随意加载/卸载插件。我们有一个关于米特雷特的章节,我将在那里详细解释。
辅助工具是帮助您执行自定义功能而不是利用系统的模块。这包括端口扫描仪、模糊器、嗅探器等。
例如,您可以使用CERT辅助工具检查网络上是否有过期的SSL证书。这对于系统管理员自动化证书管理非常有用。
如果您熟悉Ruby,您可以编写自己的辅助工具。如果您想每周扫描网络中的特定漏洞,您可以编写自己的自定义辅助模块来执行此操作。然后,您可以使用它来扫描您的网络,而不是使用现有的扫描仪(如Nmap)。
现在您已经了解了Metasploit是如何工作的,让我们来看看Metasploit提供的工具。
MsfConsole是Metasploit的默认接口。它为您提供了与Metasploit框架交互所需的所有命令。
熟悉CLI需要一些学习曲线,但是一旦熟悉,就很容易使用。此外,MsfConsole是您访问Metasploit所有功能的唯一途径。
MsfConsole还为常用命令提供制表符完成功能。熟悉MsfConsole是您成为Metasploit专业人员的重要一步。
如果您经常使用大型网络,您很可能需要一个地方来存储数据。这包括扫描结果、登录凭据等。
Metasploit提供了一个名为msfdb的数据库管理工具。Msfdb在PostgreSQL数据库之上工作,并为您提供用于导入和导出结果的有用命令列表。
使用msfdb,您可以从Nmap或Nessus等外部工具导入扫描结果。Metasploit还提供了一个本机db_nmap命令,该命令允许您在msfconsole中使用Nmap扫描和导入结果。
最后,我们有了msfvenom(很酷的名字,对吧?)。Msfvenom使您能够根据您的目标生成自定义有效负载。
使用防病毒或防火墙可以使目标系统相对安全。在这些情况下,现有的Metasploit有效负载可能无法工作,因为它们对于属于操作系统或服务的所有系统都是通用的。
Msfvenom是通过组合Metsploit拥有的两个较旧的工具构建的:msfpayload和msfencode。Msfvenom允许您为您的漏洞创建和编码自定义有效负载。
根据您拥有的有关目标的其他信息,您可以定制自己的有效负载,以便在渗透测试期间获得更高的成功率。
Metasploit是Metasploit中的高级有效负载。与执行特定功能的其他有效负载不同,Meterpreter是动态的,可以动态编写脚本。
如果您可以利用系统并将Meterpreter作为有效负载注入,下面是您可以做的一些事情:
Meterpreter还具有难以置信的隐蔽性。由于计量器生活在目标的记忆中,因此极难检测到。使用法医工具也很难追踪Meterpreter。
您可以使用Ruby动态编写Meterpreter脚本来执行自定义函数。Meterpreter还有一个Python模块,它为您提供在目标计算机上执行Python脚本的附加命令。
Armitage是Metasploit的图形用户界面,用Java编写。对于熟悉命令行界面的笔试人员来说,Armitage被认为是一个很棒的插件。
阿米蒂奇的核心功能是可视化目标和推荐攻击。Armitage也是可编写脚本的,这意味着您可以自动执行主机发现等冗余任务。
当您使用网络中的大量系统时,Armitage非常有用。您可以使用Armitage的GUI提升权限、浏览文件、转储密码散列等。
Metasploit为您提供了一套工具,用于对网络执行完整的安全审计。Metasploit经常使用常见漏洞和漏洞数据库中发布的漏洞进行更新。
您还可以通过集成或将其扫描报告导入Metasploit,将Nmap和Nessus等其他工具与Metasploit一起使用。Metasploit还有一个名为Armitage的GUI工具,可以让您可视化目标并推荐利用。
如果您有兴趣了解有关Metasploit的更多信息,请查看由“攻击性安全”出版的详细参考指南。