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. Astyle 一键格式化项目代码

    代码格式化差异问题: 一个团队有多个开发,因开发习惯不同,开发时少添加了空格.换行等. 格式化代码时,一般会将整个文档格式化,代码提交时会发现未知的修改项. Astyle格式化工具 官网下载地址:Ar ...

  2. C# IE环境 - 重置IE( 注册表)

    IE设置,都可以通过注册表,修改.以下是一些常用的IE设置注册表修改~ 检查证书吊销 /// <summary> /// 检查证书是否吊销 /// </summary> /// ...

  3. C#中增量类功能的方式之 继承与扩展

    之前一次公司培训的时候,将它记录下来,https://www.cnblogs.com/AlvinLee/p/10180536.html这个博客上面比较全面. 1.扩展方法 扩展方法是一种特殊的静态方法 ...

  4. Django注意知识点(二)

    Tinymce富文本 前台和后台的使用 一,后台 Admin 1. 于 settings.py 文件中修改 INSTALLED_APPS 2. 于 settings.py 文件中增添如下配置 # 富文 ...

  5. 单片机固件烧录器 Firmware Writer Android APP

    GitHub地址 :https://github.com/WallBreakerX/mcu_firmware_writing_via_androidphone ​ 用途 可在安卓手机上实现向单片机的h ...

  6. linux 系统下Anaconda的安装【安装python3.6环境首选】

    如果你不想使用python3.6的源码安装包,不想各种繁琐的配置命令,那Anacoda里边自带的python3.6环境就最合适不过了,下面来介绍下anacoda的安装过程,~so easy~Anaco ...

  7. gcc 4.9 编译安装 in Ubuntu 18.04(主要用于在无root权限下,进行更新系统 gcc 版本)

    gcc 4.9 编译安装教程,因为项目编译过程中,需要采用特定的gcc版本来进行编译,所以进行简要记录,进行备忘: 下载:curl -O -L https://mirrors.tuna.tsinghu ...

  8. 【转】关闭firefox火狐浏览器下载完成时自动扫描(49.0.2以后版本)

    用firefox火狐浏览器下载文件到最后时,会显示"剩余时间未知",将持续10秒钟左右,即使几KB 的文件,也要持续这么长时间,问度娘才知道是自动扫描,检查是否有毒,用的却是Goo ...

  9. Java之封装性

    封装概述 面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改. 封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问.要访问该类的数据,必 ...

  10. Sigma Function (LightOJ - 1336)【简单数论】【算术基本定理】【思维】

    Sigma Function (LightOJ - 1336)[简单数论][算术基本定理][思维] 标签: 入门讲座题解 数论 题目描述 Sigma function is an interestin ...