2024年2月22日发(作者:)

.

Foxmail邮箱密取原理与方法研究

一、Foxmail简介

Foxmail是由华中科技大学张小龙开发的一款优秀国产电子邮件客户端软件,由于其体积小巧、使用方便,深受广大用户的喜爱,市场占有率非常高,2005年3月16日被腾讯公司收购。目前,Foxmail使用者遍及全球四十多个国家,是在互联网上唯一能与微软Outlook对抗的邮件处理软件。

二、实验目的

通过对一定环境下、多组Foxmail加密后的密文Password(记为P)进行分析、计算,找出Foxmail的加密密钥Key(记为K)和加密算法,并通过密文P计算出加密前的密码(记为M)来验证密钥K及算法的正确性。

三、实验环境

硬件配置:笔记本电脑:迅驰2 P7350、6G内存、500G硬盘、GT240独立显卡等

软件环境: Windows 7 64位旗舰版、Foxmail 6.5 Build

26 正式版

四、实验方法

1、本次实验以密码为“o”(其对应的ASCII值为0111(6FH))、长度从1至16位不等,分别在Foxmail 6.5邮件客户端中建立16个邮箱,并得到密文。

-.

.

2、观察所得密文并从中找出规律及特点。

a、密文位数n与密码长度m是之间的关系。

b、密钥 K与密文P和密码M是之间的关系。

c、如何计算密钥K值。

3、验证

通过上面所求得到的关系,通过密文P、密码M验证密钥K及算法的正确性。

五、实验过程

1、密文位数n与密码长度m的关系

以密码为“o”(其对应的ASCII值为0111(6FH))、长度从1至16位不等,分别在Foxmail 6.5邮件客户端中中建立16个邮箱,得到如下密文。

a、POP3Password=E450

b、POP3Password=55000B

c、POP3Password=49FC0805

d、POP3Password=DC8B9E7C8A

e、POP3Password=17C256B746F2

f、POP3Password=B024F715E512EE

g、POP3Password=4BFE0A0B1BCD52AF

h、POP3Password=5C0B1EFF0E3AC658B9

i、POP3Password=47F2060717C15EA36DA2

j、POP3Password=E753A664B265BB45CA44D7

k、POP3Password=9044D735C5728E937D9266A7

l、POP3Password=47F2060717C15EA36DA2769766

m、POP3Password=9440CB49D90E12EF21EE3ADB2ADE

n、POP3Password=1ECD59BA4BFD021FF01EE92BFB2CF4

-.

.

o、POP3Password=36A5719263956AB759B642C352869A64

p、POP3Password=CA7E898A984FD12FE02EF91BEB1CE43AD7

从上面密文位数n与密码长度m的数据中可以看出,当密文位数n为4位时,密码长度m为1位(记为4—1),密文位数n为6位时,密码长度m为2位(记为6—2),……当密文位数n为34位时,密码长度为16位(记为34—16),整理如下:

4—1 6—2 8—3 10—4 12—5 14—6 16—7 1—8 20—9 22—10 24—11 26—12 28—13 30—14 32—15 34—16

我们可以从上面的数据中分析得到,密文位数n除以2减1即为密码长度m,即:

n/2 -1=m。

2、密钥K与密码M、密文P的关系

我们知道通常加密的方法是通过对明文进行一系列异或运算,进而得到加密后的密文。假如Foxmail邮箱也是通过对密码M进行一系列的异或运算加密的,如何找出密钥K与密码M、密文P的关系呢?整理如下。

因为邮箱密文P是由ASCII的十六进制形式组成,所以将密文P两两分开(以十六进制表示)。从16个邮箱中分别取o、p两个邮箱的密文,并整理如下:

邮箱o密文:36 A5 71 92 63 95 6A B7 59 B6 42 C3 52

86 9A 64

-.

.

邮箱p密文:CA 7E 89 8A 98 4F D1 2F E0 2E F9 1B EB

1C E4 3A D7

令密文:P1=36、P2=A5、P3=71、P4=92、P5=63、P6=95、P7=6A、P8=B7、P9=59、P10=B6、P11=42、P12= C3、P13=52、 P14=

86、P15= 9A、P16=64。

密码:M1= M2= M3=……=M15=6F。

a、 密码与密文按位异或运算(Pi^Mi),Mi循环使用

P1^M1=36^6F=59 P2^M2= A5^6F=CA

P3^M3=71^6F=1E P4^M4=92^6F=FD

P5^M5=63^6F=C P6^M6=95^6F=FA

P7^M7=6A ^6F=5 P8^M8= B7^6F=D8

P9^M9=59^6F=36 P10^M10= B6^6F=D9

P11^M11=42^6F=2D P12^M12= C3^6F=AC

P13^M13=52^6F=3D P14^M14=86^6F=E9

P15^M15=9A ^6F= F5 P16^M1=64 ^6F=B

从上面的数据可以看出(Pi^ Mi)的值是变化的,没有规律可寻。

b、 密码与密文按位错位异或运算( Pi ^ Mi+1),Mi循环使用

可见( Pi ^ Mi+1)= (Pi^ Mi),其值也是变化的,没有规律可寻。

c、 密码与密文相加再按位异或运算( Pi + Mi)^Pi,当-.

.

( Pi + Mi)的值大于FF时,用( Pi + Mi) –FF再与Pi进行异或运算,Mi循环使用。

( P1 + M1)^P1=(36+6F)^36=93

( P2 + M2)^P2=(A5+6F–FF)^ A5=B0

( P3+ M3)^P3=(71+6F)^71=91

( P4 + M4)^P4=(92+6F–FF)^92=90

( P5 + M5)^P5=(63+6F)^63=B1

( P6 + M6)^P6=(95+6F–FF)^95=90

( P7 + M7)^P7=(6A+6F)^6A =B3

( P8 + M8)^P8=(B7+6F–FF)^ B7=90

( P9 + M9)^P9=(59+6F)^59=91

( P10 + M10)^P10=(B6+6F–FF)^ B6=20

( P11 + M11)^P11=(42+6F)^42=F3

( P12 + M12)^P12=(C3+6F–FF)^C3=F0

( P13 + M13)^P13=(52+6F)^52=93

( P14 + M14)^P14=(86+6F)^86=73

( P15 + M15)^P15=(9A+6F–FF)^9A= 90

( P16 + M1)^P16=(64+6F)^64=B7

可见( Pi + Mi)^Pi的值是变化的,没有规律可寻。

d、 密码与密文相加再错位异或( Pi + Mi)^Pi+1,当Pi +

Mi 大于FF时,需要减去FF,再与Pi+1进行异或运算。

( P1 + M1)^P2=( 36 + 6F)^A5=0

-.

.

( P2 + M2)^P3=( A5 + 6F)^71=64、

( P3 + M3)^P4=( 71 + 6F)^92=72,

( P4 + M4)^P5=( 92 + 6F)^63=61

( P5 + M5)^P6=( 63 + 6F)^95=47

( P6 + M6)^P7=( 95 + 6F)^6A=6F

( P7

+ M7)^P8=( 6A + 6F)^B7=6E

( P8 + M8)^P9=( B7 + 6F–FF)^59=7E

( P9 + M9)^P10=( 59 + 6F)^B6=7E

( P10

+ M10)^P11=( B6 + 6F–FF)^42=64

( P11 + M11)^P12=( 42 + 6F)^C3=72

( P12 + M12)^P13=( C3 + 6F–FF)^52=61

( P13 + M13)^P14=( 52 + 6F)^86=47

( P14 + M14)^P15=( 86 + 6F)^9A=6F

( P15 + M15)^P16=( 9A + 6F–FF)^64=6E

可见( Pi + Mi)^Pi+1的值分别为:0、64、72、61、47、6F、6E、7E、7E、64、72、61、47、6F、6E,其值是从第二位开始循环的。

同理我们可以求出邮箱p的( Pi + Mi)^Pi+1的值分别为:44、64、72、61、47、6F、6E、7E、7E、64、72、47、6F、6E、7E、7E。可见邮箱p的( Pi + Mi)^Pi+1的值,除第一位以外,第二位及以后的值也是一个循环的值,且这个循环的值为: 64、72、61、47、6F、6E、7E、7E。

-.

.

通过对上面数据的观察并计算,我们可以得出:( Pi +

Mi)^Pi+1(i≥1、 j≥1,当Pi + Mi 大于FF时,需要减去FF,再与Pi+1进行异或运算)的值除第一位外,第二位及以后的值是一个循环的值。

所以说Kj =( Pi + Mi)^Pi+1(当Pi + Mi 大于FF时,需要减去FF,再与Pi+1进行异或运算)成立的条件是i≥2、 j≥2。

暂且规定K值为:64、72、61、47、6F、6E、7E、7E,但顺序未知。

3、密文P1与P2、M1的关系, K值的顺序

通过上面的计算,我们得不出P2=(M1+P1) ^K1的关系,所以令P2 =(M1+ P1^C)^Ki,再从16个邮箱中分别取o、p两个邮箱的密文的前二位,即P1、P2、整理如下:

邮箱o密文:36 A5

邮箱p密文:CA 7E

代入o、p两组邮箱的P1、P2数据,当Ki=K1=64时,通过公式P2 =(M1+ P1^C)^K1,可得C=(P2^K1–M1)^ P1=(A5^64–6F)^ 36=64,代入第二组数据,可得C=(P2^K1–M1)^ P1=(7E^64+FF–6F)^ CA=60(当P2^K1小于M1时,需要加上FF,再计算与P1的异或值)。

当Ki=K1=72时, C=(P2^K1–M1)^ P1=(A5^72–6F)^

36=5E,代入第二组数据,可得C=(P2^K1–M1)^ P1=-.

.

(7E^72+FF–6F)^ CA=56(当P2^K1小于M1时,需要加上FF,再计算与P1的异或值)。

通过计算,只有当Ki=K1=7E时,即 C=(P2^K1–M1)^ P1=(A5^7E–6F)^ 36=5A,代入第二组数据,可得C=(P2^K1–M1)^ P1=(7E^7E+FF–6F)^ CA=5A(当P2^K1小于M1时,需要加上FF,再计算与P1的异或值),C值恒定为5A。

从上面计算可以看出C值不是64,也不是60,而K值的第一位也不是64。通过代入不同的K值,比较不同的C值,最后得出当K1=7E时,C=5A恒定,所以K值顺序为7E 、64、72、61、47、6F、6E、7E,循环使用;密文P1与P2、密码M1的关系为:P2 =(M1+ P1^5A)^K1。

通过对16组邮箱的观察,不难发现P1是随机产生的,并通过P1来计算P2的值。

通过计算可以得出5A为所有密钥K的和与FF(255)的求余值。即:

C=Mod〔(7E +64+72+61+47+6F+6E+7E),255〕=5A

从上面的分析中我们可以得出以下结论:

K值为7E 64 72 61 47 6F 6E 7E,循环使用。

加密算法为:

a、P1是随机产生的, P2 =(M1+ P1^5A)^K1(当M1+ P1^5A

大于FF时,需要减去FF,再计算与K1的异或值)。

b、Pi+1=( Pi + Mi)^ Kj(i≥2、 j≥2,当Pi + Mi 大-.

.

于FF时,需要减去FF,再与Kj进行异或运算、Kj循环使用)。

六、验证

1、密文长度小于密钥长度,求明文密码

取邮箱f的密文B0 24 F7 15 E5 12 EE,我们可知密码长度为14÷2–1=6位,令P1= B0、P2= 24、P3= F7、P4=15、P5= E5、 P6=12、P7= EE,令K1=7E、K2=64、K3=72、K4=61、K5=47、K6=6F、K7=6E、K8=7E,密码为M1、M2、M3、M4、M5、M6。

由上面的公式可推知M1 =P2^K1 –P1^5A, Mi = Pi+1^ Kj–

P(ii≥2、K密文长度≥j≥2,当Pi+1^ Kj小于 Pi时,Pi+1^ Kj+FF–

Pi)。即

M1= 24^7E–5A^B0=6F(0111),即密码为“o”,

M2= F7^64–24=6F(0111),即密码为“o”

M3= 15^72+FF–F7=6F(0111),即密码为“o”

M4= E5^61–15=6F(0111),即密码为“o”

M5= 12^47+FF–E5=6F(0111),即密码为“o”

M6=EE^6F–12=6F(0111),即密码为“o”

即密码为6个“o”。

2、密文长度大于密钥长度,求明文密码

取邮箱i的密文47 F2 06 07 17 C1 5E A3 6D A2,我们可知密码长度为20÷2–1=9位,令P1= 47、P2= F2、P3= 06、P4=07、P5= 17、 P6= C1、P7=5E、P8= A3、P9=6D、P10= A2,-.

.

令K1=7E、K2=64、K3=72、K4=61、K5=47、K6=6F、K7=6E、K8=7E,密码为M1、M2、M3、M4、M5、M6、M7、M8、M9。

由M1 =P2^K1 –P1^5A,Mi =Pi+1^Kj –Pi(当Pi+1^Kj的和小于Pi时,可用Pi+1^Kj+FF–Pi计算)可以推出:

M1=F2^7E–5A^47=6F(0111),即密码为“o”

M2=06^64+FF–F2=6F(0111),即密码为“o”

M3= 07^72–06=6F(0111),即密码为“o”

M4= 17^61–07=6F(0111),即密码为“o”

M5= C1^47–17=6F(0111),即密码为“o”

M6=5E^6F+FF–C1=6F(0111),即密码为“o”

M7=A3^6E–5E=6F(0111),即密码为“o”

M8=6D^7E+FF–A3=6F(0111),即密码为“o”

M9= P10^K1–P9=A2^7E–6D=6F(0111)

即密码为9个“o”。

七、实验结论

通过上面16个Foxmail邮箱密码M,密文P的分析、

计算,我们可以得出Foxmail邮箱客户端加密算法为:

P1随机产生、P2 =(M1+ P1∧5A)∧K1、Pi+1=(Mi+Pi)∧Kj(i≥2,

K的密文长度≥j≥2,K循环使用)。

密钥K=7E 64 72 61 47 6F 6E 7E,循环使用。

-.

.

计算机取证技术

实验报告

[二、Foxmail邮箱突破与取证]

学生姓名:王希强

学号:

班级:09级公安班

专业:软件工程

学院:同济大学软件学院

一、实验目的

在一定环境下,通过不破解邮箱账号口令和破解邮箱账-.

.

号口令的方式来达到获取目标计算机中Foxmail邮箱中邮件的目的。

二、实验环境

硬件配置:笔记本电脑:迅驰2 P7350、6G内存、500G硬盘、GT240独立显卡等

软件环境: Windows 7 64位旗舰版、Foxmail 6.5 Build

26 正式版

三、实验方法

(一)突破方法

本次实验的突破方法共分为二个Case,一个Case为不依赖于邮箱账号口令的破解,分为明取、密取两个环节来获取目标计算机中的邮件。

1、明取

a、通过修改目标计算机系统中Foxmail文件夹下mail文件夹中的“”文件下的“POP3Password= ”的值,达到将密码清空或替换原密码的目的,从而进入目标计算机中的邮箱中,获取邮件。

b、通过邮箱主人的生日、手机号、家人、已知的密码等信息对目标邮箱进行猜口令,进入邮箱、获取邮件。

2、密取:首先在取证计算机上安装Foxmail 6.5 Build

26 正式版,并新建一个邮箱。其次将目标计算机上的Foxmail文件夹中所有文件(包括隐藏文件、已删除文件等)-.

.

复制到取证计算机上,除“、”等配置文件。再次登录取证计算机上已建的邮箱,即可看到目标计算机上工作对象Foxmail邮箱中的所有邮件。

另一个Case为通过破解邮箱账号口令,获取目标计算机邮件。

1、使用M1 =(P2^K1- P1^5A)、Mi =(Kj ^Pi+1-Pi)(i≥2,

K的密文长度≥j≥2,Kj循环使用)、密钥K=7E 64 72 61

47 6F 6E 7E,计算出邮箱密码并登录,查看并获取邮件。

2、使用Foxmail邮箱专用破解软件破解密码。

3、使用LC、Winhex等密码破解软件对邮箱密码进行破解,获取密码后,登录目标计算机下Foxmail邮箱,获取邮件。

(二)取证步骤原则

1、保护目标计算机系统

在取证前的检查中,首先必须冻结目标计算机系统,不给犯罪嫌疑人破坏数据证据的机会,以保护目标计算机系统,避免发生任何的数据改变、数据破坏或病毒感染等为第一前提。

2、备份数据

首先对目标计算机系统中的磁盘的所有数据进行镜像备份。备份后方可对计算机证据进行处理,如果将来出现对收集的电子证据发生疑问时,可通过镜像备份的数据将目标系统恢复到-.

.

原始状态。

3、保护电子证据

取证调查时可将镜像备份的介质打上封条放在安全的地方。对获取的电子证据采用安全措施进行保护,非相关人员不准操作存放电子证据的计算机。不轻易删除或修改与证据无关的文件以免引起有价值的证据文件的永久丢失。

4、找到并恢复丢失数据

使用数据恢复软件全部或尽可能恢复发现的已删除文件;找到操作系统或应用程序使用的隐藏文件、临时文件和交换文件,并尽可能显示此类文件的内容;采用多种方式访问被保护或加密文件的内容;分析磁盘的特殊区域中发现的所有相关数据。如未分配磁盘空间、文件中的“slack”空间等。

5、分析电子证据

(1)借助自动取证的文本搜索工具,进行一系列的关键字搜索查找最重要的信息。

(2)对文件属性、文件的摘要和日志进行分析,根据已经获得的文件或数据的用词、语法、写作或软件设计编制风格,推断可能的作者。

(3)利用数据解密技术和密码破译技术,对电子介质中的被保护信息进行强行访问,获取信息。

(4)分析Windows系统的交换文件和硬盘中未分配的空间,这-.

.

些地方往往存放着犯罪嫌疑人容易忽视的证据。

(5)对电子证据进行智能相关性分析,发掘同一事件不同证据间的联系。

6、数据归档

在分析电子数据后,应整理取证分析的结果供法庭作为诉公证据。主要对涉及计算机犯罪的日期和时间、硬盘的分区情况、操作系统和版本、运行取证工具时数据和操作系统的完整性、计算机病毒评估情况、文件种类、软件许可证以及取证专家对电子证据的分析结果和评估报告等进行归档处理,要做到步步有详细的记录。

7、写出取证报告

整理并打印对目标计算机系统的全面分析结果,然后给出分析结论:系统的整体情况,用户的个人信息,发现的文件结构、数据、和作者的信息,对信息的任何隐藏、删除、保护、加密的企图,以及在调查中发现的其它相关信息。

8、给出参与鉴定的专家证明

四、实验过程

1、确保目标计算机在检查之前没有被人为改动过。

通过人为走动调查和查看系统日志方式进行检查。

2、对目标计算机整个磁盘进行镜像备份,并标注标签,以供核查。

-.

.

确保没有人为改动后,需要即时对目标计算机事个磁盘进行镜像备份,并对镜像文件标注标签,确保镜像文件的安全性。

3、启动目标计算机,并设置当前可以查看所有隐藏文件及显示扩展文件名。

对硬盘镜像备份后,按正常操作步骤启动计算机后,不要运行任何程序,设置计算机可以查看所有隐藏文件。将整个过程录像并存档。

4、使用取证软件如Encase搜索目标计算机中的所有文件。

这些文件包括现存的正常文件,已经被删除但仍存在于磁盘上Foxmail文件夹中(即还没有被新文件覆盖)的文件,隐藏文件,受到密码保护的文件和加密文件。

5、使用FinalData等数据恢复软件尽可能恢复已删除文件。

将已删除文件恢复到另一快磁盘上。

6、复制Foxmail文件夹下的所有文件到取证计算机上。

将磁盘上的所有Foxmail文件夹下的所有文件到取证计算机上,包括现存的正常文件,已经被删除但仍存在于磁盘上Foxmail文件夹中(即还没有被新文件覆盖)的文件,隐藏文件,受到密码保护的文件和加密文件等。

Case一、不依赖于邮箱账号口令的破解

-.

.

明取:a、将“”文件用记事本打开,并将“POP3

Password=BF69”等号后面的值置空,即“POP3Password= ”,这样可以不需要密码即可进入邮箱。查看邮件后,可将“POP3Password= ”设为初始值,则可将目标邮箱还原为原密码。

b、通过邮箱主人的生日、手机号、家人、已知的密码等信息进行密码验证,获取邮件。

密取:在取证计算机上安装Foxmail 6.5,并新建一个与目标邮箱一样的邮箱,设置密码为1或空,将目标计算机上的Foxmail文件复制到取证计算机上,除“、”等配置文件。复制后,登录取证计算机系统上的Foxmail邮箱,即可用已知密码或空密码进入目标邮箱中,查看并获取邮件。

Case二、破解邮箱账号密码

a、通过M1 =(P2^K1- P1^5A)、Mi =(Kj ^Pi+1-Pi)(i≥2,

K的密文长度≥j≥2,Kj循环使用)计算邮箱密码,获取目标计算机中的邮件。

首先确定密码位数,其次破解密码,再次登录目标计算机的邮箱,查看并获取邮件。

b、通过下载Foxmail邮箱破解软件破解邮箱密码,如Foxmail破解V1.0等。

-.

.

首先打开“”文件,找到“POP3Password= ”后面的值;其次将找到的值输入到Foxmail破解V1.0的对话框中,得到明文密码。登录目标计算机邮箱,查看并获取邮件。

c、通过常规破解软件如LC、Winhex对邮箱密码进行破解。

通过Winhex打开文件,通过查看虚拟内存中的数据,即可得到密码。登录目标计算机邮箱,查看并获取邮件。

五、结论

将获取到的邮件与目标计算机上邮件进行比较,整理并打印对目标计算机系统的全面分析结果,然后给出分析结论:系统的整体情况,用户的个人信息,发现的文件结构、数据、和作者的信息,对信息的任何隐藏、删除、保护、加密的企图,以及在调查中发现的其它相关信息进行详细记录,整理成册并归档。

最后,写出取证报告,给出取证人员名单及专家成员。

-.