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

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

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

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. checkinstall

    一.简介 Linux 的源码安装工具 CheckInstall

  2. hanjiaqi

    2017*1501:我是韩佳琦:我的爱好是睡觉: 我的码云个人主页是:https://gitee.com/projects/new 我的第一个项目地址是:https://gitee.com/hanji ...

  3. HDU2035

    #include <bits/stdc++.h> using namespace std; int fastpow(int a,int b,int k) { ; while(b) { ) ...

  4. centos/RHEL 7.6 使用yum安装php7.3(方便wordpress的php7.3需求,并解决了libphp7.so缺失问题)

    我最近想安装一个wordpress, 但是官网介绍需要php7.3以上版本,但是百度了一下,都是要编译安装. 为此,我想,centos..., php... 两大当红辣子鸡没有yum安装方式,简直不可 ...

  5. SHELL脚本学习-定时检查Oracle alert日志并发送mail

    对于DBA来说,检查alert日志是日常工作.告警日志日积月累往往很大,而且每次在服务器上查看或者下载到目标主机查看都十分不方便. 为了方便,以下做出两种情况:(其他情况类推) 第一场景:每天早上上班 ...

  6. Java:ConcurrentHashMap的锁分段技术

    术语定义 术语 英文 解释 哈希算法 hash algorithm 是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值.  哈希表 hash table 根据设定的哈希函数H(ke ...

  7. 2019.03.09 bzoj4999: This Problem Is Too Simple!(树链剖分+线段树动态开点)

    传送门 题意:给一颗树,每个节点有个初始值,要求支持将i节点的值改为x或询问i节点到j节点的路径上有多少个值为x的节点. 思路: 考虑对每种颜色动态开点,然后用树剖+线段树维护就完了. 代码: #in ...

  8. MFC选择文件(夹)按钮实现

    MFC选择文件(夹)按钮实现 选择文件(夹) void CFileSelectDlg::OnBnClickedButtonSelect() { if(((CButton*)(GetDlgItem(ID ...

  9. k8s1.13.3安装istio(helm方式)

    官方文档:https://istio.io/zh/docs/setup/kubernetes/install/helm/ 一.环境信息 centos7 k8s1.13.3 主机名 ip cpu ram ...

  10. 学以致用三十四-----python2.0加载图片

    想用做一个静态图片为背景的页面.结果遇到了一些阻碍.其主要原因还是路径没有找对.网上也参考了不少方法,也许是因为版本不同,处理的方法也不同,因此按照网上的处理方式,也没有得到解决. 为此困惑了一天.结 ...