当前位置:首页 > 技术知识 > 正文内容

msf系列篇章之七模块详解,黑客必学

maynowei9个月前 (08-02)技术知识159

1、 mestasploit有很多模块,一共分为七类

那如果是kali中自带的msf,它默认的安装路径是在这里。,然后可以看见它这些模块有些相对应的目录。


1)、exploits

漏洞利用模块,这个模块通常是用于对某些有可能存在漏洞目标进行漏洞利用的模块

该模块用的比较多,比如说一个网站或者说一个服务器,它存在某种漏洞的话,我们msf官方就会把利用代码写成这么个msf加载的exploits。比如说一个远程溢出,那么我们就可以找一下相对应的模块,进行利用和攻击。

比如说进入到这些目录下,这些exploits都是rb结尾,也就是说该exploits是由ruby语言编写的,所以就以rb为格式结尾。


Exploits也分为两种,一种是active exploits,另外一种是passive exploits

也就是说攻击方式一种是主动的,另外一种是被动的

(1) 所谓的主动攻击,就好像A是Active exploit,然后B是被攻击的目标,如果说被攻击的目标开放了一个端口,它侦听一个端口,开放一个服务,允许外面连接的话,它就是一个服务器,通常来说服务器提供这个服务,那么这个服务就会有对应的漏洞,我们要对其进行攻击的话,那么我们会从A攻击方向这个B服务器的侦听端口发送某种类似的利用代码,那么发起之后,它这个利用的代码就会发起payload在这个被攻击者的上面去执行这个payload,执行完之后有两种结果,一种是会再打开一个payload后的开放的shell侦听端口,另外一种的话就是被害者的机器,它不开放端口,它会反向链接我们A攻击机上的一个端口。所以这个就是Active exploit攻击。结果就是可以本地侦听,也可以是反弹链接,把自己的shell交出来。

(2) 和主动相对应的就是被动,也就是passive exploits

比如说C是攻击者,D是被攻击者,在这个passive exploits的利用场景上,这个D被攻击者是通常来说是不开放端口的,即使开放端口,这个开放的端口是不存在漏洞的,那它的漏洞存在哪?存在个一些本机的一些客户端软件,和主动攻击不一样的是,主动是向服务端发起的攻击,而被动的话一般都是利用客户端漏洞发起的攻击,这些客户端程序它不会侦听端口,也不会提供服务,客户端有漏洞的话如何进行利用,它既然是客户端,它就会去访问一个远程的服务器上某些服务,当它访问的时候,它的服务端在上面放置了一个利用的代码的话,由于它的客户端是存在一些个漏洞的,当它使用有漏洞的客户端访问了一些存在了exploits漏洞利用代码服务器端程序的时候,也会导致和服务器端把自己的exploit这些个漏洞利用的代码,由于您请求我, 我就作为您请求的响应报文把这些个漏洞利用代码的内容返回给你的客户端,然后造成你客户端程序的一个漏洞被利用,你客户端程序的漏洞被利用就会导致 payload下载,payload下载之后就会再次把自己的shell给攻击者,这个shell的话,要么是本地绑定侦听的一个端口,等着攻击者去连接这个端口,另外一种是我本地不侦听端口,我反弹连接攻击者另外一个端口,连接成功后就会自己的shell给了攻击者

所以说Active exploit和passive exploits,它不是从这个payload被执行之后,不是通过shell的连接(是这么反弹过来,还是访问过去)方向来决定的,由于说我这个exploit这个漏洞利用代码是如何被触发的,那么Active exploit是从攻击方主动把这个漏洞利用代码,发给对方侦听服务的端口,导致漏洞被利用,而这个passive exploit它使用的是对方服务器的客户端程序的一个漏洞,然后因为不侦听端口,也没办法把利用的代码发给对方,这个时候攻击者使用的方法就是诱惑对方,使用社工的知识让对方使用存在漏洞客户端去访问存在漏洞利用代码的服务端程序。


2)、payloads

攻击载荷,exploits成功之后就会执行里面的payload,可以利用为攻击代码,可以是添加用户的代码。


3)、auxiliary

这个是辅助模块,该模块是用于辅助渗透的,比如说端口、存在探测、暴力破解

进入了msf界面之后,可以看见它这里有1055个auxiliary模块


那么我们进行信息收集,大部分都是利用auxiliary模块

都在scanner下,他这里有557各种各样的scanner。


exploit都是漏洞利用的模块,那么它具体实施的目标都是具体的一个一个目标,当我们设置exploit目标的时候,我们设置目标的时候用的参数都是RHOST


我们进入到一个模块,可以看见我们需要设置的参数,第一个就是INTERFACE,它这个的意思就是设置攻击主机,就是通过哪个主机进行发包。并且它这里不是一定要设置的,如果说要单独指定的话,也可以去设置

第二个就是我们的RHOSTS,那么这里就是我们要扫描的目标,那么我们就可以设置一个网段

第三个SHOST是原地址,就是原地址的一个伪造,需要的话可以去指定,不需要就不指

第四个THREADS就是线程,默认是1个线程,1个线程是很慢的,那么我们这里就设置20个吧,这样跑的就很快。


4)、post

该模块用于后渗透的模块,也就是提权,该模块一般用于内网渗透


那么我这边就模拟一下拿到cmdshell后的操作,可以看到,我这边sessions是有一个meterpreter会话:


在后渗透的时候,我们可以使用post模块辅助我们,以下是我们常用的模块

"post/multi/recon/local_exploit_suggester

post/windows/gather/hashdump

post/windows/gather/smart_hashdump

post/multi/gather/firefox_creds

post/multi/gather/ssh_credspost/windows/gather/enumapplicatio"


假设我们拿到一个cmdshell,但是权限很小,那我们可以使用这个模块来建议我们提权:

post/multi/recon/local_exploit_suggester

以下是该模块的详细信息。从上面的banner可以看到,它支持的平台挺多的,比如windows、Android

5)、encoders

这个是编码器模块,对payload进行编码一系列的加密,可绕过部分杀软软件

6)、evasion

该模块是躲避模块,该模块分类下只有4个子模块,都是为了躲避微软的限制或者是杀软,免杀效果很一般

7)、nops

最后是空指令模块。不怎么常用。

最后喜欢我文章的朋友请加圈子关注我们,私信关键词:学习。(送免费资料和优惠券)

就会自动分享给你微信号。欢迎大家加入我们的安全大家庭。提高大家的安全意识,提升大家的网络安全技能一直是我们的初衷和愿景,让我们共同成为守护信息世界的"SaFeMAN"。

还有可以关注我们微信公众号,在公众号上输入安界网,就可以关注到我们,领取资料和优惠券

相关文章

打通 JAVA 与内核系列之 一 ReentrantLock 锁的实现原理

写JAVA代码的同学都知道,JAVA里的锁有两大类,一类是synchronized锁,一类是concurrent包里的锁(JUC锁)。其中synchronized锁是JAVA语言层面提供的能力,在此不...

Oracle 11g安装教程完整版(oracle 11g 安装教程)

由于工作需要,将安装的经验分享给大家。第一步:首先准备安装文件包:Oralce 11.2.0.4 64bit和plsqldev1405x64如图所示:第二步:将2个文件解压到同一个目录,如图所示:第三...

Oracle-架构、原理、进程(oracle进程结构)

详解:首先看张图:对于一个数据库系统来说,假设这个系统没有运行,我们所能看到的和这个数据库相关的无非就是几个基于操作系统的物理文件,这是从静态的角度来看,如果从动态的角度来看呢,也就是说这个数据库系统...

China to work with all member states to complete preparations in final phase for SCO Tianjin summit: spokesperson

BEIJING, July 31 (Xinhua) -- China will work with all the Shanghai Cooperation Organization (SCO) me...

初创公司Reflect Orbital正开发镜面阵列 从太空发射阳光发电

一家加州初创公司正着眼于太空,以突破地面太阳能发电的局限性。Reflect Orbital 正在开发一个由巨型聚酯薄膜镜组成的卫星群,用于在天黑后将阳光反射回地球——这个想法潜力巨大,但面临着严峻的工...

第 11 章:表连接 (JOIN) - PostgreSQL入门

欢迎来到关系型数据库的“灵魂”所在!到目前为止,我们所有的操作都只围绕着一张 friends 表。但在真实的世界里,数据总是被分散在不同的表里,并通过某种“关系”联系在一起。比如,一个博客系统,会有“...