Metasploit基础学习指南

标签: 渗透测试 metasploit metasploit wmap插件 metasploit使用教程 metasploit基础 | 发表时间:2014-01-18 18:10 | 作者:admin
出处:http://www.nxadmin.com

Metasploit 学习指南 基础篇

Author:阿德马

Site: http://www.nxadmin.com

Metasploit是一款强大的渗透测试平台,其中包括了很多渗透测试利器,本文简单介绍一下Metasploit的配置和基础的使用方法,主要包括以下几个方面:

 

Metasploit 的核心

基础的配置

Metasploit 的模块

Metasploit 的实用工具

 

简介

Metasploit是一款免费的、开源的渗透测试平台,可以用于渗透测试不同的系统和框架,也可以看作是一个单独的渗透测试系统。本文将简单介绍一下Metasploit的基础用法,以及如何添加exp到Metasploit、如何利用漏洞等。

条件:

本文中Metasploit的各种实例,需要以下的条件支持:

BackTrack5

Metasploit模块

网络连接

Ruby环境

Windows/Linux系统

Metasploit的核心

Metasploit的框架是一个统一的具有易于更新机制的漏洞数据库。因为它在本质上是开源的,可以很容易地操纵它来满足需求,比如可以编写自己的代码来利用漏洞,并且可能部署新编译的exp到现有的Metasploit的数据库。

 

该框架是用Ruby语言开发的,包括Perl写的脚本,C ,汇编,和Python各种组件。它基本上是专为Linux的操作系统设计的,因此它的命令结构具有与Linux命令外壳非常相似,但现在,它支持所有主流操作系统,如Windows,Solaris和Mac上。它有一个一致的界面,用于配置选项,并执行攻击和将exp从payload中隔离出来。 Metasploit使用下列术语来执行一个特定类型的攻击:

Exploit

Exploit操纵计算机系统中特定漏洞的恶意代码. Metasploi提供了跨多个操作系统和应用程序的Exploit,提供了突破一台电脑的多种途径。可以用Nessus搭配Nmap进行漏洞扫描,并使用Metasploit进行漏洞利用。在确定一个特定的漏洞却无法在Metasploit数据库中找到利用的Exploit,可以通过访问exploit-db.com查找下载该漏洞利用程序,编译知道可以将其移植到Metasploit的数据库做为一个Exploit

 

Payloads

利用漏洞之前要先建立一个Payload,其作用是确定漏洞攻击成功之后要执行什么操作,Payload基本上是用于访问远程计算机的反向shell和通过shell植入后门等到被入侵的电脑。

 

Encoders

不能确保所有Metasploit中的exp都可以正常工作,有时候会遇到防火墙、IPS、IDC等,所有的试图攻击等可能会被防火墙过滤掉,这时候就需要使用Encoders来对exp进行编码等,用来逃避防火墙、IPS、IDS的检测。

Options

所有的Exploit和Payload都有一些内置的参数,诸如远程IP、本地IP、LPORT、RPORT、服务路径、用户名等。这些参数在利用exp之前需要进行配置,可以使用Show Options命令来显示具体的选项。

基础的配置

Metasploit可以独立的安装在windows或linux系统上,也可以直接使用BackTrack5中内置的Metasploit,推荐使用BackTrack5中的Metasploit.在使用之前需要,为了确保使用过程的顺利进行,需要进行以下的配置:

更新BackTrack5

建议在使用之前更新BackTrack5,以获取新增的Exploit 或工具等,更新命令如下:

#sudo apt-get update

启动网络服务

登录到BackTrack5之后,IP地址通常是不自动分配,需要用以下命令启动或停止网络服务:

 

#service networking start

#service networding stop

 

还可以用以下命令来启动网络服务

 

#/etc/init.d/networking start

 

重启BackTrack5之后,发现还需要再重启网络服务器,使用以下命令可以让网络服务自动启动:

 

#update-rc.d networking defaults

设置网络连接

如果以上命令还无法让BT5连接到网络,可能就需要使用DHCP或者手动设置IP地址,使用DHCP来配置IP地址,命令如下:

 

#dhcpcd eth0

 

如果没有dhcpcd命令,需要使用以下命令进行安装:

 

#sudo apt-get install dhcpcd

 

BackTrack5有多个用语无线网络、Loopback、有线网络的接口,可以使用

以下命令来判断哪个接口是从DHCP获取IP地址的:

 

#vi /etc/networking/interfaces

 

有时候DHCP因为某些原因无法分配IP地址,就需要手动配置,命令如下:

 

#ifconfig eth0 192.168.1.2/10

#route add default gw 192.168.1.1

#echo nameserver 192.168.1.2> /etc/resolv.conf

刷新网络接口

有时候需要对有线、无线网络接口进行刷新整理,使用以下命令:

 

#ifconfig eth0 down

#ifconfig ehh0 up

无线连接

可以使用wicd连接到无线接入点,使用以下命令启动无线网络服务:

 

#/ect/init.d wicd start

FTP服务

有时需要上传后门程序到被入侵的电脑,达到后期持续访问的目的,atftpd就是一款非常适用的工具,需要先用apt-get命令进行安装,接下来执行以下命令启动配置:

 

# atftpd –deamon –port 69 /tmp

HTTP服务器配置

配置web服务器用来托管文件或者用来利用基于web的exp.Backtrack 5有内置的apache服务器,使用之前启动apache服务即可。

Metasploit 模块

Metasploit有三种接口模块用来执行利用各种exp:控制台、命令行、web。实际上这三种模块都没有太大的区别,但是一般情况下控制台是三种方式中功能最全、最强大的。BackTrack 5中Metasploit的默认路径是/pentest/exploits/framwork3。

 

在使用之前建议对Metasploit进行更新,方便利用最新的漏洞exp等,更新命令如下:

#./msfupdate

Msfconsole

Msfconsole是最实用、最强大的集各种功能于一体的漏洞利用框架,可以使用msfconsole发起攻击,加载辅助模块,进行枚举,创建监听器或对整个网络情况进行探测,用以下命令启动msfconsole.

#cd /pentest/exploits/framwork3/

#./msfconsole

Msfcli

Msfcli是命令行接口,和msfconsole在很多方面存在差异,它侧重对脚本执行、以及可解释性,而msfconsole给用户提供了一种友好的互动方式,msfconsole在自动化方面有所欠缺。要访问msfcli,需要执行以下命令:

#cd /pentest/exploits/framwork3/

#./msfcli

Msfweb

Msfweb是metasploit渗透测试的另外一个模块,是一个Gui形界面,主要目的是为了让渗透测试操作变得更加容易,从命令行启动之后会创建一个web server,ip地址是127.0.0.1,端口是55553.可以用以下命令启动msfweb:

#cd /pentest/exploits/framwork3/

#./msfgui

导入exp到Metasploit

Metasploit框架允许将自己开发的exp导入到其exploits数据库, 支持C,Ruby,Perl,Python等语言。Metasploit中所有的exp都是按照不同的系统类型等进行分类的,具体的目录是在

/pentest/exploits/frameworks/modules/exploits目录下,如图:

metasploit基础教程

BackTrack5初始版本中的metasploit不支持导入自定义的exp,需要bt5 R2之后的版本才可以。

有很多图片懒得挨个上传编辑了,更多内容请点击下载PDF,如图:

metasploit基础教程

直接有写好的PDF版本,下载地址:

http://www.nxadmin.com/tools/metasploit.pdf

 

本文由阿德马童鞋翻译整理,转载请注明出处…..

 

 

相关 [metasploit 基础 学习] 推荐:

Metasploit基础学习指南

- - 牛X阿德马
Metasploit 学习指南 — 基础篇. Metasploit是一款强大的渗透测试平台,其中包括了很多渗透测试利器,本文简单介绍一下Metasploit的配置和基础的使用方法,主要包括以下几个方面:. Metasploit 的核心. Metasploit 的模块. Metasploit 的实用工具.

记一份基础Metasploit教程 - 先知社区

- -
Metasploit就是一个漏洞框架. The Metasploit Framework,简称叫做. Metasploit作为全球最受欢迎的工具,. 不仅仅是因为它的方便性和强大性,更重要的是它的框架. 它允许使用者开发自己的漏洞脚本,从而进行测试. PostgreSQL数据库服务:. service postgresql start监听.

CSS基础学习

- - CSDN博客推荐文章
1.    CSS基础介绍:. (1)      CSS的作用:兼容、实现了将页面内容与页面表现相分离. (2)      当文档中的某一元素被多处样式定义时,究竟会使用那个样式呢.                 内联样式--->内部样式表--->外部样式表--->浏览器缺省设置. 2.    CSS基础语法与高级语法:.

SSS学习法基础

- - 学习力就是竞争力
SSS是“Start with Simple Stories”的缩写,说白了就是老一辈英语教育家经常说的“多读简易读物”,它是ER(泛读,Extensive reading)的一种. 最初是日本电报通信大学的酒井邦秀提出来的,在2001年成立了一个叫SSS英语学习法研究会的组织,它的网站是http://www.seg.co.jp/sss/,大家可以用Chrome访问一下.

Spring Data JPA,基础学习笔记.

- - ITeye博客
最好先学习 JPA 方面的知识....在这里使用的是 Hibernate. 也已经使用了一段时间,看什么都不如看官方文档,我这里也只是写个笔记记录一下,如果能帮助到其他人,很开心 .算是个 demoshow 吧.这里也只写了一些我觉得比较有用的地方.其他一些使用知识,请参见官方文档:http://static.springsource.org/spring-data/data-jpa/docs/current/reference/html/.

零基础如何学习 Web 安全?

- - 知乎每日精选
这是个好问题,我强迫症犯了,本来你写的是“web”,我改为了“Web”. 因为正好Web安全是我擅长的,你说的是 0基础,我总结下我的一些看法吧,针对0基础的. Web分为好几层,一图胜千言:. 事实是这样的: 如果你不了解这些研究对象是不可能搞好安全研究的. 这样看来,Web有八层(如果把浏览器也算进去,就九层啦,九阳神功……).

Spring框架学习【基础知识】

- - CSDN博客推荐文章
1.在java开发领域,Spring相对于EJB来说是一种轻量级的,非侵入性的Java开发框架,曾经有两本很畅销的书《Expert one-on-one J2EE Design and Development》和《Expert one-on-one J2EEdevelopment without EJB》是java高手进阶必看的宝典,Spring就是从这两本书的理论发展起来的.

Metasploit Framework 4.0发布,开源的安全漏洞检测工具

- Tairan Wang - ITeye资讯频道
Metasploit是一款开源的安全漏洞检测工具,由于是免费的,因此常被安全工作人员用来检测系统的安全性. Metasploit Framework (MSF)是2003 年以开放源代码方式发布、可自由获取的开发框架,这个环境为渗透测试、shellcode 编写和漏洞研究提供了一个可靠的平台. 这个框架主要是由Ruby编写的,并带有一些C语言和汇编语言组件.

Metasploit中的JAVA反向TCP做法的研究

- - FreeBuf.COM | 关注黑客与极客
在研究CVE-2015-7450这个JAVA反序列化漏洞时,面临着一个问题:在WebSphere中,该漏洞仅可以执行命令,但是不能回显执行结果. 遇到这种漏洞,通常的做法都是利用wget或者curl这样的命令来执行一个http请求,将需要的信息送出. 原因是我司大量使用的是AIX操作系统,且是不含有任何功能增强的“裸版”.

Metasploit Framework 6.1.32+20220303 (macOS, Linux, Windows) -- 渗透测试框架

- - SYStem INside
请访问原文链接: Metasploit Framework 6.1.32+20220303 (macOS, Linux, Windows) -- 渗透测试框架,查看最新版. 作者主页: www.sysin.org. 世界上最广泛使用的渗透测试框架. 知识就是力量,尤其是当它被分享时. 作为开源社区和 Rapid7 之间的合作,Metasploit 帮助安全团队做的不仅仅是验证漏洞、管理安全评估和提高安全意识;它使防守队员能够始终领先比赛一步(或两步).