Metasploit Framework(2)Exploit模块、Payload使用
文章的格式也许不是很好看,也没有什么合理的顺序
完全是想到什么写一些什么,但各个方面都涵盖到了
能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道
Exploit模块分为主动和被动(Active、Passive)
主动:主动地向目标机器发送payload并执行,使目标交出shell(反连等)
被动:利用目标机器的客户端程序的漏洞来利用,客户端程序请求服务端时候,返回漏洞代码,加载payload,交出shell
我将在下面使用这两种方式做示例:
我启动一个windowXP SP1机器,关闭防火墙,更方便演示,实际情况不可以关闭防火墙
IP配置:
Kali:192.168.163.132
Windows:192.168.163.133
Active Exploit:
我用到的是windows的PSEXEC工具的漏洞:
漏洞利用前提:需要知道目标机器的一个用户名和密码
获取shell方式:反弹回连Kali机器
use exploit:
设置参数:
依次设置好:目标IP,目标用户名密码,使用的Payload,反弹回连的IP(即Kali机器的IP)
设置好之后show options看一看结果怎么样:
如果执行成功的后,目标机器会反弹回连我的4444端口:
执行:
抱歉,这里不知道是由于什么原因,windowsXP机器这个漏洞无法被利用,我临时换了windows2003机器
windows2003机器的IP:192.168.163.130
OK,用exploit -j参数就可以在后台渗透目标机器了
下边看到一个session被创建了:
sessions查看,-i交互:发现已经获取了目标机器的shell,完成!!
不过注意:你在这台机器上的任何操作实际上都是你使用的这个用户在操作
Passive Exploit:
被动的方式,我甚至可以在控制面板打开防火墙
如果打开了防火墙,我们试一试刚才的主动渗透方式:发现失败了
但是,利用被动的方式或许依然可以获取shell:
下面我将会尝试:
我使用ms07-017_ani_loadimage_chunksizi模块:
Info查看下信息
发现这个模块适用于windowsXP、2003的IE6、IE7等
关于图片加载时候发生的漏洞
现在windows2003上使用,如果不行等会转XP
使用注意:需要伪造一个网站,诱使对方访问这个网站
我直接设置成Kali机器的IP也可以
依次设置访问网站的IP和端口,payload,回连的IP(Kali机器)
show options没问题
然后执行:
OK,这个漏洞网站已经构建好了,现在使用目标机器访问:
实际中:使用社会工程学诱惑使对方访问,比如访问有红包什么的
发现没有渗透成功:
于是我更换XP系统:
渗透成功!!!
打开session看看:乱码是中文的问题
接下来 就可以用shutdown命令,远程把对面关机
OK,虽然对方打开防火墙,但是我依然利用浏览器漏洞诱使对方中招
这就是被动方式的强大之处
总结:
Active方式适用于攻击服务器端程序
Passive方式适用于攻击客户端机器,因为客户端机器基本不开端口,而且有防火墙
其实不管怎么渗透,目的都是一致的:使目标机器执行payload
我们可以先看一看所有的payload都有哪些:
show payload
我接下来使用绑定端口的shell:shell_bind_tcp
show options看一看参数:
本地侦听端口默认是4444端口
我们发现这个payload不需要再进行额外的配置,默认会绑定本机的4444端口
这个RHOST不需要配置,它存在的意义就是限制来源IP
实际中这个参数是为了防止我发现的漏洞被其他黑客所利用
通常我们使用payload是通过exploit模块来调用的:
比如我在exploit模块中两次用到了payload:
而payload模块也可以用来直接生成Payload:
使用generate命令:
下面的buf就是生成的16进制ruby语言格式的payload
我可以自己写脚本发送这些shellcode,详见:Kali学习笔记:缓冲区溢出漏洞利用
不过这里面有一些坏字符(比如\x00),目标系统执行时候会出问题
如何避免呢?
有方法:generate -b参数
\x00是确定的坏字符,那么有没有其他的呢?当然有
处理方式和上边一样
这里其实是使用了Encoder模块将坏字符用其他字符代替了
generate自动选择最适当的Encoder来编码
那么有没有方法来自己指定编码呢?
有的-e参数,但是不推荐,因为自动会分配最合适的编码
上边的是输出16进制格式,还可以输出exe格式:-t参数
下面做一个综合的参数:
-i 执行轮数,-k 以线程方式执行 -x 使用模板 -f 位置
运行完成!我把这个文件复制到windowsXP机器上去:正常启动
注意:radmin这个文件本身是一个可以执行的正常exe,可以正常执行的一个软件
好处:被害者以为自己是在安全地使用某个软件
这时候使用Kali机器连接这个打开着的4444端口:
OK,成功了!轻松获取shell
最后值得注意地是-s参数:
有时候执行payload的时候,会无法执行
当CPU执行NOP指令地时候,会走下一个字节,以此类推,EIP寄存器会顺着NOP滑,直到payload
NOP sled 参数用于:没有精确知道payload地址时候,可以执行NOP指令,适当地NOP有一定地免杀效果
下面的-t参数呢,设置生成payload的类型,比如可以生成C、C#、Java等等
注意:生成的payload都是一样的,不过格式不一样
Metasploit Framework(2)Exploit模块、Payload使用的更多相关文章
- metasploit framework(三):exploit模块
exploit模块 分为主动,被动exploit 主动exploit:攻击者(通常是客户端)主动发起连接请求,然后发送exploit给被攻击者(通常是服务器端) 被动exploit:被攻击者(通常是客 ...
- Metasploit Framework(1)基本命令、简单使用
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 基本的控制台命令介绍: banner 查看metasp ...
- 第十七章 Metasploit Framework
渗透测试者的困扰▪ 需要掌握数百个工具软件,上千个命令参数,实在记不住▪ 新出现的漏洞PoC/EXP有不同的运行环境要求,准备工作繁琐▪ 大部分时间都在学习使用不同工具的使用习惯,如果能统一就好了▪ ...
- MSF——基本使用和Exploit模块(一)
MSF系列: MSF——基本使用和Exploit模块(一) MSF——Payload模块(二) MSF——Meterpreter(三) MSF——信息收集(四) MSF——Metasploit Fra ...
- Metasploit Framework(MSF)的使用
目录 Metasploit 安装Metasploit 漏洞利用(exploit) 攻击载荷(payload) Meterpreter MS17_010(永恒之蓝) 辅助模块(探测模块) 漏洞利用模块 ...
- Metasploit Framework(8)后渗透测试(一)
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 使用场景: Kali机器IP:192.168.163. ...
- Metasploit Framework(6)客户端渗透(上)
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 前五篇文章讲解了Metasploit Framewor ...
- Metasploit Framework(4)信息收集
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 使用场景: Kali机器一台:192.168.163. ...
- 安装Windows Metasploit Framework
Installing the Metasploit Framework on Windows 1. Visit http://windows.metasploit.com/metasploitfram ...
随机推荐
- 自定义扩展实现相对于addRoutes的removeRoutes方法——vue-router
使用vue-router的addRoutes方法做登录权限控制,当用户推出登录回到login页后,切换不同权限的账号,如果不reload页面,会导致router权限问题,故在vue-router代码中 ...
- FastDFS防盗链
FastDFS扩展模块内置了通过token来实现防盗链的功能.开启防盗链后,访问文件是需要在url中加两个参数:token和ts.ts为时间戳,token为系统根据时间戳和密码生成的信物.为了系统的安 ...
- CNA, FCoE, TOE, RDMA, iWARP, iSCSI等概念及 Chelsio T5 产品介绍 转载
CNA, FCoE, TOE, RDMA, iWARP, iSCSI等概念及 Chelsio T5 产品介绍 2016年09月01日 13:56:30 疯子19911109 阅读数:4823 标签: ...
- python 数据库mysql、redis及发送邮件
python 关系型数据库链接使用--mysql import pymysql # 引用mysql模块 # 创建连接,指定数据库的ip地址,账号.密码.端口号.要操作的数据库.字符集coon = py ...
- WebDriver中的操作使用
1.WebDriver中使用jquery假如设定jquery包的路径为path,则程序如下: String jquery=null; FileInputStream input = new FileI ...
- mysql数据库保存sesison会话
<?php header('Content-type:text/html;charset=gbk;'); date_default_timezone_set('PRC'); class db{ ...
- 【转】async & await 的前世今生(Updated)
async 和 await 出现在C# 5.0之后,给并行编程带来了不少的方便,特别是当在MVC中的Action也变成async之后,有点开始什么都是async的味道了.但是这也给我们编程埋下了一些隐 ...
- 【NIFI】 Apache NiFI 授权配置
当NIFI未配置需要单向SSL(例如LDAP,OpenId Connect等)的替代认证机制时,NiFi的Web服务器将要求访问用户界面的用户使用基于证书的客户端身份验证.启用备用身份验证机制会将We ...
- VS环境下C++如何检查是否内存泄漏
c++如何检查是否内存泄漏 今天在做OpenGL引擎的时候,突然想到检查一下内存泄漏.具体是我做了一个渲染类Render,将所有世界中存在的物体的指针都存放在这个类中.于是我不免担心,在Render中 ...
- Jmeter—关联【学习截图】