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还原保存流量中的文件。