Metasploit基础

认识Metaspliot框架

​ Metaspliot(MSF)渗透测试框架,提供众多的接口、选项、变量、模块以供渗透工作人员使用它完成一系列的渗透攻击。

渗透攻击(Exploit)

​ 渗透攻击是指攻击者利用一个系统、应用或服务件的安全漏洞,进行攻击行为;往往会造成开发者所没有预期到的一种特殊结果。常见的渗透攻击技术包括缓冲区溢出、Web应用程序漏洞攻击(SQL注入、XSS、文件漏洞等)以及服务件的配置错误。

攻击载荷(Payload)

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

Shell Code

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

模块(Module)

​ 模块指的是Metasploit框架中使用的一段软件代码组件;在某些时候可能会使用到一个渗透攻击模块(Exploit Module),也就是用于实际发起渗透测试的攻击的软件代码组件,而在其它时候,则可能使用一个辅助模块,用来执行一些类似扫描或系统端点的攻击动作;模块的健全是Metasploit框架强大的核心。

监听器(Listener)

​ 监听器是Metasploit框架中用来等待接入网络连接的组件,举例来说,在目标主机被渗透测试攻击之后,它会通过互联网回连攻击主机上,而监听器组件则在攻击主机上等待被渗透攻击的系统来连接,并负责处理这些网络连接。


Metasploit用户接口

Metasploit框架,有很多的用户接口,包括终端、命令行、图形化界面等;除此之外,功能程序则提供了对Metasploit框架中内部功能的直接访问。

MSF 终端

​ MSF终端(msfconsole)是目前Metasploit框架中最流行的用户接口(打开方式),MSF终端提供了最为灵活的的操作方式。

  • 启动MSF终端: 直接使用msfconsole命令是最快启动msf终端的方法

    root > msfconsole

上图则是在Kali下启动MSF终端后的界面内容

使用help则可以查看msf的帮助文档,而help connect命令则可以通过搜索的方式查看帮助文档。

msf5 > help connect

MSF命令行

MSF命令行是MSF终端为Metasploit框架访问提供了两种截然不同的途径,终端以一种友好的模式提供交互方式,用于访问呢框架的所有功能,而命令行(msfcli)则是主要考虑脚本处理和与其他命令行工具的互操作性。

root > msfcli
root > msfcli -h
  • 但是在新的msf3之后的4和5,不在使用msfcli命令了;但是并没有抛弃命令行模式,而可以使用“-x”标志来实现msfcli之前支持的操作。我们采用msfconsole -x来实现 使用 MS08_067模块。参考:https://blog.csdn.net/zesicus/article/details/49952279
root > msfconsole -x

Armitage界面

MSF图形界面交互式接口

root > armitage

Metaspoit功能程序

MSF攻击载荷生成器

​ MSF攻击载荷生成器可以生成shell code、可执行代码和其他更多的内容。ShellCode可以生成包括C、JavaScript、甚至Web应用中VB脚本在内的多种格式,每种输出格式在不同的场景中使用。比如,Python编写的的一个攻击验证代码【漏洞利用方法】(POC),那么C语言格式输出是最好的;如果编写一个浏览器攻击代码,那么JavaScript语言方式输出的ShellCode是最合适的,在选择输出的格式之后,可以简单的将这个攻击载荷直接加入到一个HTML文件中来触发渗透攻击。

2015年之后msfpayload命令也被移除了,所以被整合在msfvenom中了(msfpayload+msfencode = msfvenom)

root > msfvenom -h

MSF编码器

​ MSF攻击载荷生成器的shellcode完全是可以独立运行的,但是包含了一些NULL空字符,在进行解析的时候会出现一些小问题,空字符会认为是字符串的结束标志,从而使代码在完整的运行之前被截断而终止运行。

​ 同时在网络中明文传输shellcode会被查杀或识别拦截,为此MSF体系下支持自主的编码器对shellcode内容进行编码,防止被查杀或识别拦截。

​ Msfvenom的使用:http://www.zerokeeper.com/tools/use-of-msfvenom.html

Msfvenom 在 2015 年 6 月 8 日已经替代了 msfpayload 与 msfenocde 命令,它是这两个命令的结合体。

认识Metasploit框架的更多相关文章

  1. 4.Metasploit框架更新

    Metasploit 进阶第二讲  框架更新   EDB平台-互联网安全漏洞库   Exploit_DB是一个面向全世界安全工作人员的漏洞提交平台,是一份公开已知漏洞的存档,便于企业改善公司的安全情况 ...

  2. Metasploit框架问题

    1.使用nmap 扫描SMB服务漏洞信息 nmap -P0 --script=smb-check-vulns 10.10.15.123 2.sql语句绕过后台 这部分我待会补充 只有尽可能的过滤,没有 ...

  3. (一)走进Metasploit渗透测试框架

    渗透测试的流程 渗透测试是一种有目的性的,针对目标机构计算机系统安全的检测评估方法,渗透测试的主要目的是改善目标机构的安全性.渗透测试各个阶段的基本工作: 1.前期交互阶段 在这个阶段,渗透测试工程师 ...

  4. [Installing Metasploit Framework on CentOS_RHEL 6]在CentOS_RHEL 6上安装Metasploit的框架【翻译】

    [Installing Metasploit Framework on CentOS_RHEL 6]在CentOS_RHEL 6上安装Metasploit的框架[翻译] 标记声明:蓝色汉子为翻译上段英 ...

  5. metasploit 一款开源的渗透测试框架

    渗透神器漏洞利用框架metasploit from: https://zhuanlan.zhihu.com/p/30743401 metasploit是一款开源的渗透测试框架软件也是一个逐步发展与成熟 ...

  6. chapter1 渗透测试与metasploit

    网络对抗技术课程学习 chapter1 渗透测试与metasploit 一.读书笔记 二.渗透测试 通过模拟恶意攻击者的技术与方法进行攻击,挫败目标系统安全控制措施,取得访问控制权,并发现具备业务影响 ...

  7. CentOS 6.x安装Metasploit

    现在开始安装Metasploit框架,前面的包安装成功之后,我们需要再安装一些Metasploit依赖的Ruby库,命令如下: gem install wirble pg sqlite3 msgpac ...

  8. KALI LINUX WEB 渗透测试视频教程—第十九课-METASPLOIT基础

    原文链接:Kali Linux Web渗透测试视频教程—第十九课-metasploit基础 文/玄魂 目录 Kali Linux Web 渗透测试视频教程—第十九课-metasploit基础..... ...

  9. Metasploit基础命令

    msf > show exploits 列Metasploip的所有可用的渗透测试框架.在MSF终端中可以针对渗透测试中发现的安全漏洞来实施相应的渗透攻击. msf > show auxi ...

随机推荐

  1. C#发送邮件(内容中有图片)

    用微软的System.Net.Mail发送邮件,有些时候发邮件需要邮件内容中添加图片. 对象解释 SmtpClient类:允许应用程序使用简单邮件传输协议 (SMTP) 发送电子邮件.MailAddr ...

  2. extjs 动态加载列表,优化思路

    功能截图 之前做法,先查询每一行的前4个字段,然后动态拼接出其他的字段,效率极低,以下是优化后的代码,供参考,只提供一个优化思路,授人以鱼不如授人以渔 后台Sql语句优化(语法仅支持Oracle) S ...

  3. Add a Simple Action using an Attribute 使用特性添加简单按钮

    In the previous Add a Simple Action lesson, you learned how to add an Action by implementing the Vie ...

  4. 利用Dynamics 365 Customer Engagement的标准导入功能导入附件。

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  5. jenkins构建找不到python依赖

    最近在搞jenkins自动构建,遇到这样一个问题,我装的python相关的依赖在X用户下,但是jenkins在root下运行的,所以找不到相关的import 1. 执行pip freeze,会打印相关 ...

  6. IDEA 第三方jar包 使用

    1,加入lib包中,在pom中添加 <dependency> <groupId>com.sss</groupId> <artifactId>包名< ...

  7. 实际场景:UI、原型与实际不符;研发怼你,你要怎么办?-Dotest软件测试

    实际公司场景:UI.原型与实际不符:你提交的问题(bug),开发又开始怼你,遇到这种情况,你会怎么办?怎么沟通?(如下图) 解释:大部分公司都是这样,区别在于差异性有多大:做出来的东西大部分与设计.原 ...

  8. itest(爱测试) 4.2.1 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    itest 入选 2019 年度最受欢迎开源中国软件 开源工具的发展,离不开你我的支持,需要您投上宝贵的一票  去投票 itest 简介:查看简介 itest 开源敏捷测试管理,testOps 践行者 ...

  9. Scrum会议(十周)

    1.任务分配 2.会议内容探讨了本次取得的重大突破和后续要继续开展的工作.分析了自己在前端开发遇到的问题,以及如何优化自己的前端界面.然后分工,每人都去优化一部分界面,比如段祥负责个人中心的优化,程吉 ...

  10. shell登陆加载的文件, 快捷命令, tee管道, nohup和&

    1. login shell和nologin shell的理解: 字面意思, 需要登陆的shell和不需要登陆的shell. 正确解释为: 加载用户环境配置的shell 和不加载用户环境配置的shel ...