前言:
在前面的实验里我们进行了JSunpack-n的安装及其简单使用。JSunpack-n还有另外一些功能需要进行测试试验,因为本人也是刚接触这些东西。本文就其中一个“功能点”进行实验。
这里并不保证JSunpack-n一定要具有实验的关键功能点,只是使用实验证实此功能点是否存在。
版权说明
本文原文发表于CSDN博客平台,请转载者在文章相应位置,注明与本文版权相关的内容!!!
本文链接:http://blog.csdn.net/lemon_tree12138/article/details/50727135 – Coding-Naga
— 转载请注明出处
实验环境:
Windows相关
- Windows 7
- WireShark
Linux相关
- Ubuntu 14.04 LTS桌面版
- Python 2.7.6
- TCPDump
- JSunpack-n
实验参考:
《恶意软件分析诀窍与工具箱》 12.2.1 从捕获的数据包中隔离加密数据
实验步骤:
一、使用WireShark捕获文件传输步骤
1. 选择一款邮箱(这里采用163),用于邮件发送;
2. 编写一份用于发送的文件,这里的编写的发送文件为《Upload Test》,内容为:
Just a test for upload.
3. 打开安装完成的WireShark,并设置过滤参数为http。如下:
4. 当上传并发送上述文件内容后,可获得如下的流量捕获结果:
5. 选择,上面被框中的内容,可以看到HTTP协议中有如下内容:
6. 从上面的截图中可以获得了文件的名称:Upload Test.txt和文件的长度23个字节;
7. 再检查Media Type内容,从这里可以看到已经捕获到了文件内容:
二、使用TCPDump捕获文件传输步骤
1. 按照前面文档中所介绍的方法正确安装JSunpack-n
2. 新建一个测试文件,用于文件上传使用。文件名称及内容如下:
3. 打开TCPDump,并进行网络流量监听。命令如下:
$ sudo tcpdump -i eth0 -w 163.pcap
4. 从Ubuntu的桌面浏览器进入163邮箱,并添加以上测试文件到附件。然后发送邮件
5. 待邮件发送成功后,断开TCPDump的监听工作。使用JSunpack-n进行分析抓包内容。命令如下:
$ python jsunpackn.py xxx/163.pcap -s -J -v
6. 以下为分析结果的部分截图:
7. 查看JSunpack-n分析的结果文件,进入./temp/files。使用以下命令分析:
$ file *
8. 上面的分析结果如下所示:
可以看到这些被截获的文件原本的格式类型。
9. 使用WinSCP将这些文件下载到本地。并以相应格式进行重命名,如下:
10. 从上面的这些文件中,并未找到有关于测试文件内容的字节。只是在文件stream_15a5b6dcb804326549627e8a0c3f528dc04a3587中发现了测试文件的文件名称。stream_15a5b6dcb804326549627e8a0c3f528dc04a3587文件的内容如下:
{'code':'S_OK','type':0,'var':{'attachmentId':1,'fileName':'test_upload.txt','contentType':'text/plain','size':30,'actualSize':30}}
11. 为了实验的可信度,这里将JSunpack-n解析的网络包文件163.pcap文件下载到本地,并使用WireShark进行解析。解析结果如下:
实验结论:
从上面的实验中,主要可获得以下两个结果:
1.使用JSunpack-n不能解析TCPDump抓取的数据包文件中,上传文件的内容信息;
2.使用WireShark可以解析出TCPDump抓取的同一份数据包文件中,上传文件的内容信息;
从这一点,可以初步得到,使用JSunpack-n无法截获通过网络上传文件的结论。