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. go-爬图片

    go语言爬取图片 注:动态加载出来的爬取不到,或怕取出来图片出错,代码中的网页是可以正常爬取的 package main import ( "fmt" "io" ...

  2. C#关于反序列化实例时,接收实体字段少于或大于原实体对象 解析测试

    在项目中总会用到son解析,比如RabbitMQ中使用json串解析,比如发过来的实体对象有50个字段,而实际只需要用到里面的几个字段,这时我们创建实体时,只需要创建需要的几个字段即可. 测试实例,首 ...

  3. PHP 7.0 7.3 (Unix) - 'gc' Disable Functions Bypass

    <?php # PHP 7.0-7.3 disable_functions bypass PoC (*nix only) # # Bug: https://bugs.php.net/bug.ph ...

  4. python列表转换为字符串

    对于非纯字符串组成的列表,需要使用map(str, 列表)转换,纯字符串组成的列表则不需要转换 list1 = [1, 2, 3, 4, 5]c = ','.join(map(str,list1))p ...

  5. 搭建 Telegraf + InfluxDB + Grafana 监控遇到几个小问题

    1:如果同一台服务器上安装有多个MongoDB实例,telegraf.conf 中关于 MongoDB 如何配置?配置数据在[INPUT PLUGINS的[[inputs.mongodb]]]部分. ...

  6. Redis 找出大 key

    系统: CentOS 7.4 64bit yum install python-pip gcc gcc-c++ python-devel git tmux -y pip install rdbtool ...

  7. TensorFlow从1到2(十三)图片风格迁移

    风格迁移 <从锅炉工到AI专家(8)>中我们介绍了一个"图片风格迁移"的例子.因为所引用的作品中使用了TensorFlow 1.x的代码,算法也相对复杂,所以文中没有仔 ...

  8. 浅谈JS重绘与回流

    在说浏览器渲染页面之前,我们需要先了解两个点,一个叫 浏览器解析 URL,另一个就是本章节将涉及的 重绘与回流: 重绘(repaint):当元素样式的改变不影响布局时,浏览器将使用重绘对元素进行更新, ...

  9. cf rock is push 【dp】

    附上学习的博客:https://blog.csdn.net/u013534123/article/details/102762673 大致题意:一个迷宫,里面有很多箱子,你可以向右或者向下走.当你遇到 ...

  10. 一个页面从输入url到加载到内容,这个过程经历了什么

    首先,当浏览器接收到url,会查看本地缓存(浏览器缓存-系统缓存-路由器缓存)中是否有,有则直接显示 没有则进行DNS域名解析,将域名解析成IP地址,通过ip地址去访问相应的服务器, 浏览器访问服务器 ...