【实验目的】
从3个网络嗅探数据包文件中提取信息
【实验步骤】
一、webmail.zip
(1)概括
【获得基本信息】
用户名:cwu@fudan.edu.cn
口令:ABC12345XYZ
【发送pdf】
收件人邮箱:13601927008@sina.cn
发件人邮箱:cwu@fudan.edu.cn
邮件标题:Test mail 1
邮件正文:
这是一个发往新浪邮箱的测试邮件,带附件。
吴承荣
【读取docx】
收件人邮箱:cwu@fudan.edu.cn
发件人邮箱:13601927008@sina.cn
邮件标题:课程测试邮件
邮件正文:
这是一个课程测试邮件。
请查收。
【获得附件信息】
完整还原2个邮件附件【还原成文件,可打开】:后续有截图
附件文件名:分别是参考网站列表.pdf和IP基础题.docx。
【其他信息】
还原出用户刚刚登录进系统时看到邮件列表;图标、图像、页面(尽可能还原)等,视信数量和质量给分。
(2)详细过程
1、【基本信息】
①用户名和口令
由于是针对WEB Mail的网络嗅探数据,首先过滤出所有的http信息。
在第38条信息中可以找到登录账号为cwu@fudan.edu.cn,密码是ABC12345XYZ
②发送pdf相关的信息
由于在提示中写了:“截获数据包中包括一封从fudan.edu.cn邮箱发往sina.cn的邮箱,包括一个.pdf的附件”。所以着重关注了POST的信息,在查找了几条信息流后,锁定了第838条,其中的HTML Form URL Encoded: application/x-www-form-urlencoded中包含了发送pdf相关的基本信息。
收件人邮箱:13601927008@sina.cn
发件人邮箱:cwu@fudan.edu.cn
邮件标题:Test mail 1
邮件正文:
这是一个发往新浪邮箱的测试邮件,带附件。
吴承荣
③接收docx相关的信息
根据提示“截获数据时还做了一个读取一封来自sina.cn邮箱的邮件的操作,这个邮件中包括一个.docx附件。”可以锁定第九条和第十条tcp流中的相关信息:
收件人邮箱:cwu@fudan.edu.cn
发件人邮箱:13601927008@sina.cn
邮件标题:课程测试邮件
邮件正文:
这是一个课程测试邮件。
请查收。
2、【扩展信息】
①pdf附件文件名:在815条中首次出现了上传附件pdf的文件名,参考网站列表.pdf
②pdf邮件附件(还原成文件,可打开)
方法一:导出
选中该信息,右键→追踪流→http流,下拉可以发现大量乱码(因为被压缩过)。
选择文件→导出对象→http,选中815条进行保存,把保存的文件拖动到UltraEdit中打开。
直接另存为pdf,把文件名修改为“参考网站列表.pdf”。如图所示,可以打开并显示原本的内容。
方法二:手动
选中10.222.254.115→202.120.224.10的数据包,保存原始数据。
用ultraedit打开,找到pdf数据开始的地方,把前面的内容全部删掉之后,另存为pdf,同样可以打开。
③docx附件文件名
首先在http的信息中找到和docx相关的信息,可以看到docx的文件名在详细信息中没有直接写明,需要解码。网上随便搜了一个在线hex解码,解析出来是基础题。所以文件名字是:IP基础题.docx
④docx邮件附件(还原成文件,可打开)
方法一:导出
和pdf的步骤一样,导出1466的信息,用UltraEdit打开,另存为为docx。
方法二:手动
同理上面pdf的方法,先把原始数据保存下来。
这个和pdf有区别的地方是不仅要删掉docx数据开始之前的地方,还要删掉结尾之后的地方。全部删除之后,另存为docx,可以打开,还原完毕。
3、【其他信息】还原出用户刚刚登录进系统时看到邮件列表
首先在追踪http流的过程中看到对POST /coremail/XT3/mbox/getListDatas.jsp?sid=BACTtGDDsBWdwNwzVvDDagBPMBpJDwmD&fid=1
的response中有邮件列表的详细信息。该response是第574条信息。
用同样的方法到处该信息,用UltraEdit打开可以发现邮件列表中的所有邮件信息。
然后将其还原到网页。
首先登录自己的邮箱,进行抓包,在收到getListDatas的response信息时,把内容修改为上面导出的内容,再点击forward,然后点击收件箱,就会显示fudanwebmail中的邮件列表信息。
效果如下图,收件箱中的400封邮件都能显示,且可以区分已读和未读的邮件。但是这种方法只能更改收件箱中的邮件列表,侧边栏和最上面显示的账户信息仍然是自己的。
由于要尽量还原,所以点击F12进入开发者模式,选中账户区域和收件箱(6),在相应位置右键edit as html修改信息。
修改后效果如图,页面还原完成:
二、ftpexample.pcap
(1)概括
文件还原:
完整还原出一个上传文件,一个下载文件:后续有截图
文件名还原:伪DNA加密算法.pptx和宋代字验.docx。
(2)详细过程
1、根据提示“一次下载文件(pptx)”,以pptx为关键字字符串在分组字节流中寻找,追踪到第15条TCP流时,将编码改为GB可以显示文件名称为:伪DNA加密算法.pptx和宋代字验.docx。
2、关注到两条信息:150 Opening data connection for 伪DNA加密算法.pptx.和226 File sent ok,分别对应第2048条和第4861条,所以一定在这二者之间完成了下载pptx操作。
3、由于是172.16.168.14从172.16.168.21下载文件,寻找到第34条tcp流是双方在交互,将原始数据导出到ultraedit,另存为到pptx,还原完成。
4、同理,150 Opening data connection for 宋代字验.docx.是第4992条和226 File received ok是第5009条。传输过程发生在这两条之间。继续查看tcp流,找到第41条tcp流是上传docx。
将原始数据保存下来,用ultraedit另存为docx文件,完成还原。
三、udpcomm.pcap
因为是单字节“亦或”运算,密钥一共是255种可能,写了一个程序暴力穷举,结果如下。(图片红框内是密钥和内容,代码附在最后)
通信内容:
Hello, Server
How are you?
Fine,thanks. And You?
Excuse me!
Yes?
Is this your handbag?
Pardon?
Aha
exit
密钥:53
代码:
【数组可以直接从wireshark追踪UDP流,show data as C array后复制】
主要函数:
void decode_request() {
for (int key = 1; key < 256; key++) {
cout << key << endl;
char test[1008];
for (int i = 0; i < 1008; i++) {
test[i] = peer0_0[i] ^ key;
cout << test[i] << " ";
}
cout << endl;
cout << endl;
cout << endl;
}
}
四、一点总结
首先,进行文件传输、网络访问等操作时尽量使用加密传输,否则用户名、口令等关键信息在数据包种就以明文的形式进行传输,如果有人恶意抓包分析的话就有隐私泄露的风险。
使用的加密算法对计算复杂度还是有一定要求的,否则像这次的单字节异或很容易就暴力穷举完了。
并且抓包后可以还原出传输的文件,如果传输的是机密文件的话很容易有安全问题,可以考虑对文件进行加密。