2019 虎鲸杯电子取证大赛赛后复盘总结
前言
题目模拟了一起黑客入侵窃取服务器信息的案件,在整个案件中如果通过线索的搜集把各个蛛丝马迹都串起来,还是挺有趣的。赛后对案件进行了复盘,案件描述如下:
从线索来看这里应该是 a 和 e 的犯罪嫌疑比较大。
所给的取证材料有这些:
接下来就要通过这些检材的镜像/数据来进行相关的信息取证。这里对证据逐个来进行分析。
APK 逆向分析(管理员手机上木马文件)
使用 jadx-gui 把木马文件加载进去直接读 java 代码,发现是用 okhttp 框架写的程序,题目指明需要找到他的回传地址和手机号。
使用搜索功能直接找关键词即可,第一条就是需要找的线索
如下,可以得到两个信息:
回传地址:www.iedemo.com
回传手机号:13901678945
有了手机号就可以配合话单分析进行溯源,找到嫌疑人之间的关系。
闪存介质取证(嫌疑人 a 的证据)
基础知识的补充
在 winhex 中找到起始扇区(最前面的 512 字节是 MBR 扇区),MBR 扇区中前面的 446 字节是磁盘的引导代码,后面的 64 字节分别是四个分区表的基本信息,也就是硬盘分区表 DPT,每 16 个字节记录一个分区表项。(选中区域)
例如第一个分区表项记录信息:
80 01 01 00 06 FE 3F A7 3F 00 00 00 69 2E 29 00
含义如下:
根据上面的知识可以知道这里可识别的分区为第一个的主分区(分区标识符为 06),第二个扩展分区(分区标识符为 05)。
恢复步骤
分区 1 是一个 FAT16 的分区,分区 2 和 3 的类型未知,从 winhex 上来简单分析可以看到他们的 DBR 分区都被覆盖成了垃圾数据,因此这里的第一步需要对 DBR 分区进行恢复。(数据恢复这部分的知识并不了解,导致比赛时比较慌...所以感觉知识储备还是不太够)
这里可以用下面几款软件来恢复:
WINHEX
恢复大师
R-studio
使用 WINHEX 恢复有两种方式:
- 复制备份扇区到 DBR 扇区。https://jingyan.baidu.com/article/425e69e6f1b191be15fc16a9.html
- 直接使用现有的扇区类型的正确 DBR 覆盖掉垃圾数据。
这里修起来比较复杂,就直接使用别的工具自动修复了。
恢复大师镜像恢复
使用恢复大师选择 "镜像恢复",打开镜像 "随身固态闪存介质 C2.dd",这里就可以正常分析出分区 2 (FAT32)和分区 3 (NTFS)的文件格式
接着选择"深度恢复",恢复完成之后在压缩包分类中查看信息,发现了"中国菜刀"这个黑客必备的工具和类似于 svchost 木马的文件。
将 "样本 - 123456.rar" 文件导出到本地之后,解压出来(解压密码为 123456,别问为什么,因为文件名上面写着。。),发现是 upx 加壳了,直接脱壳即可。
将这个样本文件加载到 IDA 中,发现木马的功能和服务器上面的恶意程序的功能完全一致(后面会分析到),所以极大可能是同一个文件。
小总结
所以这里有一个猜想是:从 "样本文件" 的名字可以推测,a 是一名黑客,根据金钱交易写了一个木马交给某人,然后这个人(可能也是黑客)利用了木马来控制了服务器。
笔记本镜像取证(嫌疑人 e 的证据)
笔记的镜像可以直接加载到取证大师中,可以直接进行线索的发现和信息收集。可以直接使用取证大师的自动取证功能找到的线索这里就不再重新叙述了。应该包括了下面几类的信息:
笔记本电脑的基本信息
用户登录/开关机信息
iTunes 备份信息
邮件信息
这里重点关注邮件信息和 iTunes 备份信息。
邮箱信息收集
根据邮箱信息的收集,可以知道两个线索:
- 龚XX给于某发送了带了密码的邮件附件
- 和小歪、龚XX、petter 的聊天记录
首先可以把几个联系人都列出来,然后再通过已知的信息摸清他们之间的关系。
根据邮件中的信息和前面收集的信息,得到关系图如下:
iTunes 备份信息
在取证大师的\\Moblie\\Backup\\a6c4a185aeed0170d24d39dd8843126bcd522ba7
目录里是 itunes 备份文件的目录,目录下有很多子目录。
将目录下的 Manifest.db 加载到 Sqlite3 中,可以看到目录和备份数据对应的关系,根据这个关系就恢复出原始数据。
这里可以使用现有的 itunes 备份恢复软件,将手机中的数据恢复出来。
使用软件需要开通会员,下不去手所以在这里就直接使用取证大师,在目录下搜索记录,直接搜索 "小李",就会出现和 "龚XX" 的聊天记录,会发现其中一条就是上面邮件附件的密码。
密码也就是百度云账号输入两遍,即:1785962839017859628390
把附件解压出来是对应的数据库文件,同样的方法加载到本地,打开会发现是黑客拿下的站点数据库。
接着往下看,可以知道有笔交易是拿下 "济公物流",需求是要求官网a瘫痪,而这个站点正是此次被入侵的服务器站点。所以这里的线索就更加清晰:这是个黑产团伙作案,已经形成了一个地下钱庄。
另外根据备份信息里的通话记录的时间线,对应上摄像头的录像时间,就可以知道视频的里师傅确实是余沧海,且这个是他的旧手机号。
笔记本电脑镜像的动态仿真
在某些情况下进行动态仿真会比静态仿真的效果更好,而且信息收集的更快。
这里可以直接使用某个动态仿真软件把镜像模拟起来,仿真起来之后是个 WIN 7 的操作系统。
一些信息就可以直接在桌面上,例如题目中的:
-
百度云账号、密码,以及快捷方式指向的应用程序在桌面上直接或者间接就能获取
-
在 ``D:\Program Files\WYWZ` 目录下找到无影无踪的应用程序,打开之后就可以看到只有 jpg 格式的图片文件经过处理
在本地磁盘中可以看到 E 盘是进行了加密处理过了,所以在这里需要找到 BitLocker 的加密密钥。
BitLocker 密钥的查找
BitLocker 密钥的查找在取证大师中可以找到。在取证大师的高级搜索中,直接搜索字符串 "bitlocker" 就可以得到正确的密钥
恢复密钥位于未分配簇里。使用取证大师自带的解密功能(右键 E 盘填入恢复密钥一栏)解密出磁盘即可。
在 E 盘下就有一个 "代码名单" 的文件,很可能是写木马的人员名单。这里找到 "李X光" 的联系电话之后就可以回答问题了。
其他一些发现
打开桌面上的 VCF 通讯录编辑器,就可以发现 e 的师傅余沧海的手机号码。但是从视频里面知道他换了手机号,尾号是 0818
家庭摄像头视频取证(嫌疑人 e 的证据)
通过视频的声音和图像会比较直观的得到一些信息和证据,这正是它的优势。
通过加载家庭摄像头镜像到取证大师中,修复一些损坏的 mp4 文件头,会发现以下的一些信息:
- 这里出现了小歪,应该就是笔记本邮件中的提到的那个人。从时间上来分析的话,是 e 先接了小歪的电话,之后在邮件中找小歪再 "处理" 了一笔。
话单分析
这一块的取证分析不是很熟悉,一般就是直接导入到美亚的 FS-600 话单分析系统中进行分析。这里也按照题目的线索提示来看。
因为对一块不熟悉,而且在题目中也不是很重要,所以先略过了。
手机备份文件数据分析(嫌疑人 a 的证据)
拿到 a 的华为手机备份里的数据,都是一些 sqlite3 数据库,分析起来也比较简单,直接导入 SQLiteStudio 工具中分析即可。
数据库中有联系人信息、短信信息以及 WiFi 配置之类的数据,因此题目中的几个问题就可以直接回答了。
select body from sms.sms_tb where body like "%吴佳%"
小总结
在 sms_tb 表中的其中的几条短信中可以得到一些信息:
- a 的名字叫"龚xx",居住在厦门市同安区
- a 的手机曾经丢过
- 有一张尾号 8916 的理财卡和一张尾号为 5542 的中国银行信用卡
- 多次向尾号为 1168 的账户(张先生)转账,且zhaun转账金额都挺大
服务器取证
题目所给的镜像文件是由四块盘组成的RAID磁盘阵列,所以这里需要进行 RAID 重组成原镜像才能进行分析。
RAID 磁盘重组
重组的原理可以看x下面的l链接:
https://wenku.baidu.com/view/02576c9ca2161479171128f2.html
https://blog.csdn.net/my_xxh/article/details/79913694
根据上面原理对 RAID 磁盘进行重组,这种操作在取证大师中也可以实现。
RAID 类型是常规左同步,条带大小是 64 扇区,磁盘排列顺序是 3214,加载到软件中进行重组即可。
- 或者如果对这些重组的知识不太了解的话,也可以使用取证大师的 "自动计算磁盘序列" 功能来逐个尝试,若可以正常打开文件说明重组后是准确的。
经过 RAID 重组之后就可以对服务器镜像取证了,服务器的取证主要可以分为以下几个方向:
exe 恶意代码分析
Apache 日志分析
数据库分析
- 服务器的基本信息:
- 内网 IP:192.168.4.99
- 操作系统:windows server 2012
- 最后一次异常关机时间:2019-03-29 20:26:28
exe 恶意程序逆向分析
RAID 排列完成、取证大师自动取证后,在系统桌面上就可以发现一个名字为 malware.zip 的文件比较可疑,把他导出解压出来得到一个 services.exe 文件。看名字就像一个后门木马文件
再回头看题目,这里就是需要我们对这个恶意程序进行逆向分析来发现一些信息。
- 静态调试
先使用 IDA 加载恶意程序进行静态分析,在 main 函数中简单分析一下就可以知道程序做了修改注册表以及打开服务的操作。
if ( strstr(v13, "Gh0st Update") )
{
Sleep(5000u);
LABEL_11:
SetUnhandledExceptionFilter(TopLevelExceptionFilter);
sub_401CA0();
sub_402590(hInstance);
v16 = sub_402150(v10, v12, v5);
if ( v16 )
{
memset(&Filename, 0, 0x104u);
GetModuleFileNameA(0, &Filename, 0x104u);
wsprintfA(&SubKey, "SYSTEM\\CurrentControlSet\\Services\\%s", v16);
v17 = lstrlenA(&Filename);
open_regedit(HKEY_LOCAL_MACHINE, &SubKey, "InstallModule", 1u, &Filename, v17, 0); //修改注册表
open_service(v16); //打开服务
operator delete(v16);
operator delete(v10);
operator delete(v12);
}
ExitProcess(0);
}
在 sub_402150 函数中跟进,在里面发现篡改了 Svchost 的注册表来实现自启动和开启服务,所以很明显这个是个 svchost 后门,后面注入了恶意 DLL 到某个目录中。
dll 的文件名是通过动态拼接的,只能通过 OD/windbg 动态调试才可以得到。
在这个函数下面还进行了 CreateServiceA 的操作。
- 动态调试
根据上面参考文章,把程序跑起来,在 HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services
中,看到键值对信息,这里确实是留了一个 svchost 的后门
在下面的 Paramters 键中可以发现后门运行释放后的文件位置和文件名。
还有一个 dll 文件位于 C:\\Windows\\System32\\Iasex.dll
,所以总共释放了两个 DLL 文件。
在任务管理器和 netstat 中,查看相应的网络连接就可以知道木马的回传 IP 地址 178.56.94.77
,是一个波兰的国外 IP。
数据库分析
题目中有一个选择题为:
通过对服务器S1进行取证分析,得知修改网站管理员密码的IP地址是?
这边就需要对服务器的 www 网站下的数据进行分析,在取证大师中将整个 D:\\Phpstudy
目录导出到本地。
要找到修改了管理员密码的 IP 地址,有两个方向可以选择,一个是在 Apache 日志中查找,一个是在数据库查看是否有相应的记录。
这里找了 Apache 的日志,发现都没有相关的 IP 记录,可能是已经被删除了。所以这里需要在 Mysql 数据库查找信息。
导出服务器数据库
在分析之前需要先找到网站应用的数据库位置。在 www 目录下可知这个应用是 eyoucms 的,网站的数据库存储在 phpStudy\\PHPTutorial\\MySQL\\data\\eyoucms
目录下,目录下的文件都是 MYD 和 MYI 格式的文件,无法直接打开。
这里有两种方法可以导出数据库,一种是在上一级的 bin 目录里找到 mysqldump.exe ,使用命令 mysqldump -uroot -proot > name.sql
来导出数据库,但是这里的 mysql 的密码无法得知。
所以这里可以采用第二种方法:把 eyoucms 整个目录复制到本地数据库,例如我这里用的是 wamp 的 mysql 数据库,找到相应的文件夹复制到 data 目录下即可。
这里在数据库管理中就多了一个名字为 eyoucms 的数据库。打开数据表之后,所以很明显这里是使用 admin 管理员用户进行操作,登录的 IP 也就可以知道了。IP:192. 168.4.129
- 显然,这是服务器被入侵之后的黑客操作。这里的 IP 是一个内网 IP,所以很可能黑客是进入了内网进行了内网漫游。
Apache 日志分析
Apache 的日志分析比较简单,直接将 phpStudy\\PHPTutorial\\Apache\\logs\\access.log
文件加载到 Notepad++ 中,使用软件自带的搜索统计功能并配合正则表达式,就可以回答题目中关于日志文件的数据分析。
1 . 访问文件的目标 IP
搜索语法:
2019:15:48:45(.+?)9c0df*
这里只有一条记录,IP 为 192.168.4.36
2 . IP:162.135.124.177
的 POST 请求的条数
搜索语法:
162.135.124.177(.+?)"POST
点击计数,这里发现有 34 条匹配的记录,因为每一条访问请求在 access.log 中有两条记录(另一条记录了整条 URL 和 User-Agent 的信息),所以这里实际的访问 POST 请求只有 17 条。
3 . 加载 loading.gif 文件并出现 304 的 71.25.66.XX IP 段的记录条数
搜索语法:
71.25.66(.+?)loading.gif(.+?)304
有 6 条记录,依然除以 2 才是实际的条数,为 3 条。
其他一些问题
还有一些题目中的一些小问题需要解决一下。
比如其中有一个问题是要找到用大疆无人机进行拍摄的照片。
这里的有一个解法是在动态仿真时的 D 盘下某个文件夹下可以找到一张这样的照片(查看照片的 EXIF 信息,大疆无人机 FC220),所以可以根据 FC220 这个字符串在取证大师中进行全局搜索。
另一种解法是在取证大师中找到某个 TC 加密的文件(PrvDisks.cmt),导出到本地以后使用 TC 密码解密(密码在 D 盘的 important 目录下)
解密后挂载到本地的某个盘符下,进入文件夹下就可以看到所有处理过的图片了。
另一个是需要找到嫌疑人 e 的交易收入额,这个收入额信息是存放在 D:\\important
的 person123.xls 中。
发现是加密的文件,考虑到是 Office 2003 加密,可以暴力破解一波,使用 AOPR 很快就破解出 person123.xls 文档的密码: 10942
解密以后就是这些信息了。
将 D:\\important
目录下的 "账号信息.doc" 导出,修复文件头,得到薛哥的海外账号后5位,结合视频的前几位,得到薛建华完整的账号:Q328527801
案情总结
将上面的基本信息都收集的差不多了之后,就可以整体分析整个案情的来龙去脉。这里采用回溯的方法一步步往回分析。
人物关系:
事件关联:
整体来看,就是通过网站入侵事件找到其背后的一个黑产团队。
最后放出官方的解答,有一两点小问题还没有解决,例如地下钱庄的加密压缩数据库、销售人员名单。有知道怎么找到这玩意的大佬麻烦请指点一二~
总结
从整个答案的分布来看线索还是比较清晰,而且所给的证据文件也还是比较合理的。比较重要的就是对基础知识的熟悉以及对整个案情思路的整合和归纳。
相关的脑图文件:
链接:https://pan.baidu.com/s/177BsmG3QHTFicg3JN0hK6g
提取码:4pcq
参考资料
https://blog.csdn.net/hilavergil/article/details/79270379
https://blog.csdn.net/my_xxh/article/details/79913694