【安全攻防综合实验2】网络嗅探

Posted by 慕念 on September 22, 2021

【实验目的】

从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个邮件附件【还原成文件,可打开】:后续有截图

附件文件名:分别是参考网站列表.pdfIP基础题.docx

【其他信息】

还原出用户刚刚登录进系统时看到邮件列表;图标、图像、页面(尽可能还原)等,视信数量和质量给分。

(2)详细过程

1、【基本信息】

①用户名和口令

由于是针对WEB Mail的网络嗅探数据,首先过滤出所有的http信息。

在第38条信息中可以找到登录账号为cwu@fudan.edu.cn,密码是ABC12345XYZ

image2

②发送pdf相关的信息

由于在提示中写了:“截获数据包中包括一封从fudan.edu.cn邮箱发往sina.cn的邮箱,包括一个.pdf的附件”。所以着重关注了POST的信息,在查找了几条信息流后,锁定了第838条,其中的HTML Form URL Encoded: application/x-www-form-urlencoded中包含了发送pdf相关的基本信息。

image3

收件人邮箱:13601927008@sina.cn

发件人邮箱:cwu@fudan.edu.cn

邮件标题:Test mail 1

邮件正文:

这是一个发往新浪邮箱的测试邮件,带附件。

吴承荣

image4

image5

image6

③接收docx相关的信息

根据提示“截获数据时还做了一个读取一封来自sina.cn邮箱的邮件的操作,这个邮件中包括一个.docx附件。”可以锁定第九条和第十条tcp流中的相关信息:

收件人邮箱:cwu@fudan.edu.cn

发件人邮箱:13601927008@sina.cn

邮件标题:课程测试邮件

邮件正文:

这是一个课程测试邮件。

请查收。

image7

image8

2、【扩展信息】

①pdf附件文件名:在815条中首次出现了上传附件pdf的文件名,参考网站列表.pdf

image9

②pdf邮件附件(还原成文件,可打开)
方法一:导出

选中该信息,右键→追踪流→http流,下拉可以发现大量乱码(因为被压缩过)。

image10

选择文件→导出对象→http,选中815条进行保存,把保存的文件拖动到UltraEdit中打开。

image11

image12

直接另存为pdf,把文件名修改为“参考网站列表.pdf”。如图所示,可以打开并显示原本的内容。

方法二:手动

选中10.222.254.115→202.120.224.10的数据包,保存原始数据。

image14

用ultraedit打开,找到pdf数据开始的地方,把前面的内容全部删掉之后,另存为pdf,同样可以打开。

image15

image16

③docx附件文件名

首先在http的信息中找到和docx相关的信息,可以看到docx的文件名在详细信息中没有直接写明,需要解码。网上随便搜了一个在线hex解码,解析出来是基础题。所以文件名字是:IP基础题.docx

image17

image18

④docx邮件附件(还原成文件,可打开)
方法一:导出

和pdf的步骤一样,导出1466的信息,用UltraEdit打开,另存为为docx。

image19

image20

image21

方法二:手动

同理上面pdf的方法,先把原始数据保存下来。

这个和pdf有区别的地方是不仅要删掉docx数据开始之前的地方,还要删掉结尾之后的地方。全部删除之后,另存为docx,可以打开,还原完毕。

image23

image25

3、【其他信息】还原出用户刚刚登录进系统时看到邮件列表

首先在追踪http流的过程中看到对POST /coremail/XT3/mbox/getListDatas.jsp?sid=BACTtGDDsBWdwNwzVvDDagBPMBpJDwmD&fid=1的response中有邮件列表的详细信息。该response是第574条信息。

用同样的方法到处该信息,用UltraEdit打开可以发现邮件列表中的所有邮件信息。

image27

image28

然后将其还原到网页。

首先登录自己的邮箱,进行抓包,在收到getListDatas的response信息时,把内容修改为上面导出的内容,再点击forward,然后点击收件箱,就会显示fudanwebmail中的邮件列表信息。

image29

效果如下图,收件箱中的400封邮件都能显示,且可以区分已读和未读的邮件。但是这种方法只能更改收件箱中的邮件列表,侧边栏和最上面显示的账户信息仍然是自己的。

image-20220703184906943

由于要尽量还原,所以点击F12进入开发者模式,选中账户区域和收件箱(6),在相应位置右键edit as html修改信息。

image31

image32

修改后效果如图,页面还原完成:

image33

二、ftpexample.pcap

(1)概括

文件还原:

完整还原出一个上传文件,一个下载文件:后续有截图

文件名还原:伪DNA加密算法.pptx宋代字验.docx。

(2)详细过程

1、根据提示“一次下载文件(pptx)”,以pptx为关键字字符串在分组字节流中寻找,追踪到第15条TCP流时,将编码改为GB可以显示文件名称为:伪DNA加密算法.pptx宋代字验.docx。

image34

2、关注到两条信息:150 Opening data connection for 伪DNA加密算法.pptx.和226 File sent ok,分别对应第2048条和第4861条,所以一定在这二者之间完成了下载pptx操作。

image35

3、由于是172.16.168.14从172.16.168.21下载文件,寻找到第34条tcp流是双方在交互,将原始数据导出到ultraedit,另存为到pptx,还原完成。

image36

image38

4、同理,150 Opening data connection for 宋代字验.docx.是第4992条和226 File received ok是第5009条。传输过程发生在这两条之间。继续查看tcp流,找到第41条tcp流是上传docx。

image39

image40

将原始数据保存下来,用ultraedit另存为docx文件,完成还原。

image41

image42

三、udpcomm.pcap

因为是单字节“亦或”运算,密钥一共是255种可能,写了一个程序暴力穷举,结果如下。(图片红框内是密钥和内容,代码附在最后)

通信内容:

Hello, Server

How are you?

Fine,thanks. And You?

Excuse me!

Yes?

Is this your handbag?

Pardon?

Aha

exit

image43

密钥:53

image44

image45

image46

image47

image49

image50

image51

代码:

【数组可以直接从wireshark追踪UDP流,show data as C array后复制】

image52

主要函数:

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;
  }
}

四、一点总结

首先,进行文件传输、网络访问等操作时尽量使用加密传输,否则用户名、口令等关键信息在数据包种就以明文的形式进行传输,如果有人恶意抓包分析的话就有隐私泄露的风险。

使用的加密算法对计算复杂度还是有一定要求的,否则像这次的单字节异或很容易就暴力穷举完了。

并且抓包后可以还原出传输的文件,如果传输的是机密文件的话很容易有安全问题,可以考虑对文件进行加密。