WireShark+Winhex:流量分析的好搭档

*本文原创作者:康康你秋裤穿反啦,属于FreeBuf原创奖励计划,禁止转载

这篇文章你将学会的知识点有
1.   进阶的wireshark的流量分析、解码、追踪流、导出文件
2.   利用h

*本文原创作者:康康你秋裤穿反啦,属于FreeBuf原创奖励计划,禁止转载

这篇文章你将学会的知识点有

1.   进阶的wireshark的流量分析、解码、追踪流、导出文件

2.   利用hackbar进行base64、URL编码转换

3.   利用winhex还原流量中的文件

4.   常见的图像文件和压缩文件的文件头标志,以及是否对多余定界符敏感

讲解

这里用最近的一道安恒杯有难度的流量分析题为例作为讲解,题目叫做“中国菜刀666”。题目流量包下载地址链接:https://pan.baidu.com/s/1c2WFQ3Q密码:v0e7。格式是pcapng封装,这里用wireshark打开:

一共2139个分组,提到中国菜刀,想到可能与web相关,首先试试在上方过滤器中输入http过滤以显示http分组:

流量分析

先随意点击一条报文,右键-追踪流-http流我们能看到大量红色和蓝色的报文解析,红色代表发出的,蓝色代表服务器回应的。我们能看到有一大串的base64_decode,后面都是字母数字,偶尔还夹杂着“%2B”以及”%3D”,所以首先想到是URL编码,先用hackbar的urldecode进行url解码:

这里消除掉一些“%”转义后变成了真正的base64编码,我们用base64_decode再进行转换:

这里有好多处类似的转换:

看到了最后的upload了麽?很有可能入侵过程中会上传小马,再用菜刀连,我们观察到http报文条目也不多,拿到报文,根据一般的入侵思路和顺序来反复按照上文提到的方法不断分析:

这里有一句话木马,验证了入侵思路的猜想,这也就是为什么我们过滤后的http报文有大量的1.php的名字,我们接着往上回溯,发现:

答案就在里面,提示需要password,我们来查看流量原始数据,看看对应的文件类型:

 这里我们需要知道50 4b 03是 zip压缩文件的标志,一般来说,看到pk很有可能是zip压缩文件,除此之外你还需要知道的: 

50 4B 0304:这是头文件标记 
14 00:解压文件所需 pkware版本 
00 00:全局方式位标记(有无加密) 
08 00:压缩方式 
07 76:最后修改文件时间 
F2 48:最后修改文件日期 

有兴趣的同学动手试试这是不是伪加密,当然后面提示的you need password暗示这里不是伪加密,下面是文件提取,有两种方案:

 这里我们选择方法一,winhex的讲解在后面。我们顺利保存文件为hello.zip当我们打开时,就会发现必须要输入密码:

这里有一点需要注意,如果你细心的话会发现,保存后的文件如果用winhex打开,你会发现有3位定界符,这是wireshark自带的,为了区分各协议层之间的东西添加的,但是由于zip压缩文件对定界符不敏感,直接向后识别50 4B 03,所以即便有定界符也可以顺利打开文档:

我们这里只要把定界符摸清楚,不论方法一还是方法二都是轻车熟路,好啦,目前为止,这道流量分析才做完了一半,我们还需要知道解压缩的password是什么。回到报文中去,向上检索,会发现一串很大的报文:

这里就要思考了没这么一大长串是什么呢?视频?音频?我们需要牢记的是,jpg、jpeg图像文件都是以FFD8开头,FFD9结束。我们对应查看红色方框内的信息发现,传输的是图片对应的原始数据的16进制字符,也就是说,这里传输的是对应的十六进制字符,而不是图片!可见这道题的犀利。

我们要保证头脑清晰的是,我们只需用这些十六进制字符,就可以还原整张图片,所以我们找到对应数据层区域z2的值右键复制值就可以了。接下来,就要用到winhex来还原这样图片:选择新建一张5000字节左右的文件,复制时选择最后一个ASCII-HEX,选择OK:

这里注意的是,因为图片文件对定界符敏感,如果在其他情况下复制原始十六进制,要去掉wireshark设计的3位定界符,否则无法正常打开文件!直接将定界符设置为00 00 00 也可以访问,直接操作文件的十六进制码是winhex的精髓!保存文件为XXX.JPG后打开:

嫌麻烦的话用OCR工具直接识别里面的字符,用它来打开zip压缩文件即可

复习回顾

我们复习整个过程,我们注意到:

1.   zip对定界符不敏感,图片对定界符敏感,只要弄明白这个,不论那种方法都可以还原文件。

2.   Zip压缩包是真实存在的,而包含答案图片却是以对应的十六进制以text传输的

3.   题目是菜刀666,回溯整个流量,是先访问了1.php,最后服务器返回了拿站期间的一句话木马,图片是kali的,怪不得报文里面有kali相关的deb文件,然而这一切都是干扰报文,真正重要的还是那个zip以及password图片。

4.   报文大多数是一次不能传输,分割为好多分片的,但事实上我们只要分析其中一个分片,wireshark会自动帮我们把其它分片组合到一起,所以我们能看到分片,但分析时是感觉不到的。

我们这次介绍的知识点:1.怎样分析流量,追踪流。2.怎样解码base64、url。3.两种流量中提取文件的方法。4.zip压缩包以及jpg图片文件的文件标识符,以及是否对定界符敏感。5.用winhex还原保存流量中的文件。

文章中如有谬误,或还有其他疑问,或者你还有更多的思路,请在评论中留言,欢迎交流。

*本文原创作者:康康你秋裤穿反啦,属于FreeBuf原创奖励计划,禁止转载

相关推荐

留言与评论(共有 0 条评论)
   
验证码: