Metasploit——渗透攻击模块(Exploit)
1.Exploit模块
Active exploits主动:攻击者主动向目标发起漏洞利用代码,触发漏洞 目标开放一个端口(服务),允许外界计算机连接这个端口(访问这个服务),通常被称为 某种服务器(比如开放80,http,称为web服务器;开放21,ftp,称为ftp服务器)。 A发送某种类型的漏洞利用代码给B,这个漏洞利用代码利用之后,加载payload,在B 上执行payload之后,有两种情况: 1.在B上再打开一个payload开放的shell侦听端口 2.B不开放端口,它会反向连接A的一个端口
Passive exploits被动:在这种情况下,B是不会开放端口的,即使开放了端口也是不存在漏洞 的,它的漏洞存在于本机的一些客户端软件(比如浏览器、PDF阅读器、Java的客户端程 序),不会侦听一个端口,也不会提供一个服务。 既然是客户端,他就要去访问一个某些服务器上的一些服务,当它访问的时候,如果服 务器端上放置了一个漏洞利用代码的话,由于客户程序存在漏洞,当使用存在漏洞的客 户端程序访问了一些存在了exploits漏洞利用代码的服务器端程序,也会导致服务器端 exploits漏洞利用的代码,由于B请求A,就作为A的响应报文把漏洞利用代码内容返回给 B,造成客户端程序漏洞被利用,然后payload加载, 1.本地绑定一个侦听端口,等攻击者连接; 2.本地不侦听端口,反弹连接给A侦听的另外一个端口,连接后,B就把shell给A 注:攻击者诱使你用存在漏洞的客户端程序,访问存在漏洞利用代码的服务端程序(恶意伪造 的站点),把漏洞利用代码从恶意服务器端下载到本地,执行,导致本地客户端程序被利 用,导致payload加载,出现反弹的shell或直连的shell。
判断主动还是被动,是看漏洞利用代码,是主动发过去的,还是被动等待客户端连接服务器端而造成客户端漏洞被利用
实验:关闭目标win7的防火墙,主动发起漏洞利用代码,可以拿到shell 实验:开启目标win xp sp2的防火墙,无法主动连接目标了,所以利用被动连接方式 需要创建一个存在exploits漏洞利用代码的站点(网站),诱使客户端来连接这个网站。 利用了xp sp2上浏览器的漏洞
2.生成Payload
绕过坏字符,就是将其编码,一定程度上起到混淆,免杀的效果 search encoders搜索有哪些编码 -b排除坏字符,-t输出文件格式,-e指定encoder,-i使用5轮,-k线程,-x模板,-f输出文件 示例:generate -t c -s 30 generate -t python -s 30
3.Meterpreter常用命令
高级、动态、可扩展的Payload 基于meterpreter上下文利用更多漏洞发起攻击 后渗透测试阶段一站式操作界面 完全基于内存的DLL注入时payload(不写硬盘) 注入到合法系统进程并建立stager 基于Stager上传和预加载DLL进行扩展模块注入(客户端API) 基于Stager建立的socket连接建立加密的TLS/1.0通信隧道 利用TLS隧道进一步加载后续扩展模块(避免网络取证) 服务端使用C语言编写 客户端提供基于Ruby的全特效API(支持任何语言)
迁移
Meterpreter python扩展
4.弱点扫描
上一篇:
通过多线程提高代码的执行效率例子