文章的格式也许不是很好看,也没有什么合理的顺序

完全是想到什么写一些什么,但各个方面都涵盖到了

能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道

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使用的更多相关文章

  1. metasploit framework(三):exploit模块

    exploit模块 分为主动,被动exploit 主动exploit:攻击者(通常是客户端)主动发起连接请求,然后发送exploit给被攻击者(通常是服务器端) 被动exploit:被攻击者(通常是客 ...

  2. Metasploit Framework(1)基本命令、简单使用

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 基本的控制台命令介绍: banner 查看metasp ...

  3. 第十七章 Metasploit Framework

    渗透测试者的困扰▪ 需要掌握数百个工具软件,上千个命令参数,实在记不住▪ 新出现的漏洞PoC/EXP有不同的运行环境要求,准备工作繁琐▪ 大部分时间都在学习使用不同工具的使用习惯,如果能统一就好了▪ ...

  4. MSF——基本使用和Exploit模块(一)

    MSF系列: MSF——基本使用和Exploit模块(一) MSF——Payload模块(二) MSF——Meterpreter(三) MSF——信息收集(四) MSF——Metasploit Fra ...

  5. Metasploit Framework(MSF)的使用

    目录 Metasploit 安装Metasploit 漏洞利用(exploit) 攻击载荷(payload) Meterpreter MS17_010(永恒之蓝) 辅助模块(探测模块) 漏洞利用模块 ...

  6. Metasploit Framework(8)后渗透测试(一)

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 使用场景: Kali机器IP:192.168.163. ...

  7. Metasploit Framework(6)客户端渗透(上)

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 前五篇文章讲解了Metasploit Framewor ...

  8. Metasploit Framework(4)信息收集

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 使用场景: Kali机器一台:192.168.163. ...

  9. 安装Windows Metasploit Framework

    Installing the Metasploit Framework on Windows 1. Visit http://windows.metasploit.com/metasploitfram ...

随机推荐

  1. struts1.x 核心控制器 和 用户自定义控制器扩展类;

    ServletAction继承于HttpServlet,是struts1.x中和核心控制器. 配置于web.xml文件中,指定config属性,该config属性用于指定formBean和action ...

  2. python爬虫工具集合

    python爬虫工具集合 大家一起来整理吧!强烈建议PR.这是初稿,总是有很多问题,而且考虑不全面,希望大家支持! 源文件 主要针对python3 常用库 urllib Urllib是python提供 ...

  3. tomcat修改banner,隐藏版本号

    为了避免黑客针对某些版本进行攻击,因此我们需要隐藏或者伪装 Tomcat 的版本信息.针对该信息的显示是由一个jar包控制的,该jar包存放在 Tomcat 安装目录下的lib目录下,名称为 cata ...

  4. oracle的部分增删查改

    1. 创建表空间 create tablespace (demo)表名 logging datafile( 表空间存放的位置)  ‘D:\app\Administrator\oradata\orcl\ ...

  5. Trachtenberg(特拉亨伯格)速算系统

    二战期间,俄国的数学家Jakow Trachtenberg(1888-1953)被关进纳粹集中营,在狱中,他开发出了一套心算算法,这套算法后来被命名为Trachtenberg(特拉亨伯格)速算系统. ...

  6. qq通讯录

  7. XBee模块户外通信距离测试

    Digi的XBee模块在市面上同类产品中,除了稳定性和可靠性最受推崇外,在距离测试中一般都比竞争对手的产品略胜一筹.户外测试需要注意避免模块自身以外的因素造成的测试结果不理想. 2.4G的模块有Zig ...

  8. O365 Manager Plus帮助台委派功能一览表

    O365 Manager Plus帮助台委派介绍 虽然Office 365允许您在全球任何地方工作,但它提供的管理功能十分不足.当一个组织分布在多个国家/地区时,一个管理员很难单独管理所有用户和邮箱. ...

  9. 安装jdk+tomcat

     linux安装高版本jdk后不起作用的解决办法 1.安装jdk1.8. 2.修改/etc/profile中的JAVA_HOME为新的jdk路径,并执行source /etc/profile. 3.执 ...

  10. UITextField 输入金额,小数点的控制输入

    #pragma mark --- UITextFieldDelegate ---- (BOOL)textField:(UITextField *)textField shouldChangeChara ...