这周的课程内容,理论部分基本还是上一周理论的延续,

各种法律,各种法规都可以认为是一个指导方针,虽然不会那么具体的指导你怎样怎样做,也不会告诉你什么是对的,什么是错的,但是会告诉你什么是可以做的,什么是合法的,什么是不可以做的,什么是违规的。那么当上了法庭后,你会阐述你所做的每一个步骤,然后对方的律师或者对方也可能有取证专家来盯着你,等待你失误,他们会听你说的一切,然后找出你失误的机会。所以我们越放松,也就越自信,也就越不容易出现失误。

这里举了一个例子,新西兰有夏令时和冬令时,会来回切换1个小时,那么有一个酒驾案例,采样时间比回到实验室的测试时间要晚一些,就是因为往回跳转了1小时。当然这个不算失误,只需要正常解释就可以。

理论上来说,我们遵守法律就可以,但是实际上有时候会出现特殊情况,法律是矛盾的。这里举了一个例子是,某个人想和他父母收养的女儿也就是他的妹妹(无血缘关系)结婚,他们没有血缘关系,但是是法律意义上的兄妹关系,最后他们找了律师,法庭,专门解除了这个收养关系,才可以结婚。

然后简单讲了一个指导方针ENISA,在课后的阅读材料里有这个,有空可以看看。这里举了一个例子,一个拿新西兰PR的德国人在香港等国家设置服务器提供一些非法影片下载,那么究竟使用什么法律,哪国法律来起诉他,在过去时没有标准的,但是目前欧洲是有ENISA的。

从2015年开始,这是第一个关于电子证据的基本指导方针,以前比如发个短信威胁什么的都不算违法,但是从那之后就可以算了,比如一个孩子给另外一个孩子发一些霸凌的信息。

这里特别强调了数字证据的获取,每一个国家可能有不同的法律或者说guideline,这里举了他之前一个案例,一个丹麦的谋杀案,过程不说,主要是说在一个国家可能被接受的取证方式和证据,可能在另外一个国家是不被接受的。

这里还举了一个斐济的案例,一个男的和原配离婚然后找了另外一个女的。原配很不爽,就给另外一个女的发消息,让其发裸照,然后另外一个女的发了。接下来原配就是另外一个女的裸照发给其他人,巴拉巴拉一大堆。

下面则是基本准则:

基本上和之前的差不多,要保证证据的完整可靠,要记录审计追踪,要合法,要有技术。

这里特别强调了准则3,对所有证据的记录,保存,审计链等等,一定要尽可能详细的记录下证据的位置等等,录像,拍照,尽可能多的记录。这里举了一个例子就是某一个证物消失了,但是还好有照片证据在。然后又讲了之前的例子,一个酒驾者不承认是男警察检查她的,但是最后找到了当时她在该男警察笔记上签字的证据。

这里记住一下,某些情形下,是可以直接进入拷贝获取数据,而不是直接断电。比如手机证据,有密码保护,有电池问题,但是一定要详细记录,必须要合理解释,并且保证不能数据不会被破坏。

接下来有一点有点意思,比如一个房子里五台电脑,那么只能搜索嫌弃人的,而不是全部,另外,如果搜查令只写了可以搜查电脑啊 或者哪里,是不能搜查其他地方的,比如某个抽屉。尽管这个抽屉可能藏了一个笔记本电脑,但是没有许可是不可以打开抽屉的。

这里举了一个例子,说某一队警察为了搜索药物毒品证据,去搜查了整个房间甚至包括卫生纸等等,都粉碎掉查找证据。但是呢,对房子造成了很多破坏和损失。结果最后还是个乌龙事件,他们找错了房子。

这里还提了一嘴,假如数据存储在online,cloud之类的,尽管有搜查令等等,那些提供云协议的企业不会提供原始的服务器给警方。

由于一个case中的内容可以超级大,超级多,所以有时候可能是多个调查员互相协作,因此需要尽可能多的沟通交流和记录,因为可能有指向新的线索,或者有联合犯罪等等

从业取证调查员也必须要经常接受培训等等,要有能力诠释解释证据,要清晰。

最后写的报告也必须要简洁明了,要清晰易懂,详细的细节。这里讲了一个案例,一个调查员写了2个报告在同样的案子,一个是普通版本。另外一个是非常详细的版本给与了一家支付很高报酬的公司。

一旦发生了失误一定要如实禀告,不要隐藏,不然会毁灭整个职业生涯。

然后就是一些真实案例。

实验部分,内容很多,基本上可以涵盖了最终report的所有所需要的技术部分,因此周末需要将report完成。

首先是讲解了,密码破解的一个思路,暴力破解,即每一个密码位置用不同的数字,符号,字母来尝试,最终把所有的组合都尝试一遍的方法。那么位数越多,也就越复杂,假如还加入了大小写,标点符号,那么复杂度更加高。为了速度快一些,我们简单的尝试破解五位数的密码。至于更加复杂的密码学,将在后半学期学习。

PDFCrack

首先我们破解一个五位数的pdf密码,使用得工具是pdfcrack,命令也很简单,但是有几个参数没搞懂,回头研究一下。

-n 和-m限制了最少位数和最大位数,而-c则是要尝试的每一个字母或者符号。

最终很快就得到了密码,因为只有小写并且只有四位数,所以理论上最大只需要尝试26 * 26 * 26 * 26种可能性,而最小则是一次成功,平均来说则是两者平均值。

注意:最后的report里可能有个storageLocker,这里不能使用暴力破解,而是必须尝试找出密码。

我们可以在测试一个五位数的,并且加了数字的,很明显需要更多时间

其中这里也可以使用qpdf,但是这个完全不会用,需要研究一下帮助文档。

Cracking an MD5 hash

哈希值也是可以破解的,有时候密码会被哈希加密,越长的密码,越复杂的加密机制,哈希值越难破解。根据哈希值可以得到是MD5还是SHA1还是SHA128等等

那么我们需要尝试一个简单的哈希值,

首先需要建立一个文本文档,我发现mousepad比vim简单更多,没有什么切换特权模式,命令模式这些。

John

接下来我们要用到的工具是kali里的john,这个是自带的,当然也有很多很好的工具,但是我们这门课仅限用这个。

John的help文档很长,而且支持的格式非常多。

那么最简单的命令就是 限定了加密方式和输入文件所在地即可,

john --format=raw-md5 Desktop/hash.txt

经过一段时间计算,我们可以得到该哈希值,如果位数加长,那么需要破解很久。甚至几百年,几亿年。

当然,这个日志也可以查看,这里记住,john是隐藏文件,所以需要ctrl +H 才可以查看

Ctrl + H

接下来我们回忆一下之前讲过的hexedit,我们当时用来查看文件的十六进制的值,其实最核心的功能是用来编辑修改这些十六进制的值。

几个常用的快捷键,tab可以切换光标在左右两侧的位置,F2可以保存,而shift+ 逗号和句号可以跳转到页头页尾。

这里注意啊,左侧是十六进制保存在硬盘中的值,而右侧是我们肉眼看到的值,虽然都是十六进制,但是不是一回事。

常见的数字符号等保存值

好啦,了解了这个后就可以了解隐写技术。

Steganography 信息隐藏法

逻辑上呢很简单,就是把一些信息藏起来,藏在比较大的文件里,比如图片文件内,虽然会对图片数据进行破坏,但是假如图片很大,并且信息分布很散,那很难被发现。

接下来我们做个实验,先是手动隐藏,这是一张原始图片,分辨率很低,我将其放大。

然后我们用hexedit打开并且编辑一段信息在里面,并且保存。我在图片最后加了个helloworld在里面

然后我们回过头看一下图片有什么变化,可以看到右下角有一点被改了,由于这张图片比较小,所以更改还是可以看得出来,假如图片非常大,那么就很难了。

那么更加高级的是用软件来进行隐藏信息,这样把数据打散了藏在图片内,并且加密,几乎是看不出来区别。

Steghide

首先我们创建一个文本,并且把需要隐藏的信息放进去。

这里用了一个新的文本工具 leafpad

steghide的help文档也是很长

接下来我们用最简单的方式,就是把信息藏起来,

-e 是选择加密方式

-cf是选择cover file 用来藏东西的文件

-ef是embedded file 被藏起来的文件

-sf是security file 藏好的输出文件

这里因为选择了加密,所以会要求输入密码,

结果就是单纯靠肉眼很难看出来区别

那么从加密文件解压出隐藏的文件也很简单

extract就是解开,-sf还是藏好信息的文件,而-xf是输出的隐藏信息文件

最后就是exif部分

exif

最初为了版权的保护,所有拍下来的照片都会被假如exif信息,包含了镜头参数,设备参数,GPS信息等等,那么这个信息就可以用来取证调查。当然最简单的右键点击属性就可以查到一些信息,但是详细的还需要用软件来读取。

imagemagick

命令很简单,identify即可,但是不加-verbose显示的内容会少很多

exiftool

另外一个软件是exiftool,命令也差不多,同理,加了-verbose现实的会更多

之类注意一下,默认输出的GPS信息是无法被谷歌识别的,所以要改一下命令,可以让输出的值直接在谷歌map上面用,

exiftool -c %6f -GPSPosition Desktop/Boat.jpg

-c 更改输出模式,%6f代表小数点后六位,-GPSPosition就是想输出的内容,当然任何内容都可以输出,记住最后的report里如果有街景可以应用。


Chao

一个三天打鱼两天晒网的博主 拖延症严重患者 干啥啥不行,学啥啥不会