2023FIC
避免11月断更,发个存货
日志分析部分
1.请分析苹果手机导出日志,airdrop所使用的扫描模式(Scanning mode)为?
启一个macos13以上的虚拟机,然后把日志system_logs.logarchive
拖进去,访达中双击日志文件就可以查看日志了
搜索Scanning mode
结果为Contacts Only
2.AirDrop服务计划监听端口号是多少?
搜索airdrop
结果为8770
3.AirDrop中接收到图片的识别码(identifier)是多少?
查看sharingd
进程的日志
结果为DC305C27-CB72-4786-8E0A-5346CD7B0D6A
4.AirDrop日志中可以看到几条接收记录?
往上面翻一翻,可以找到关键字
搜索一下,看起来只有一条记录
结果为1
5.AirDrop日志中可以分析出图片发送人是谁?
还是sharingd
慢慢翻
解一下unicode
结果为卢冠华
6.AirDrop日志中可以分析出发送图片的设备名称是什么?
结果为MatePad Pro 12.9
7.AirDrop日志中可以分析出发送人AppleID邮箱是什么?
结果为4979ecbb-5312-4801-851d-a959ec847463@inbox.appleid.apple.com
8.AirDrop日志中可以分析出发送的图片文件名是什么?
结果为IMG_3204.pvt
9.AirDrop日志中可以分析投送嫌疑人的手机号的SHA256后五位是?
结果为2d99d
10.请结合工具分析日志,找出Airdrop投送方的手机号码?
有了手机号的sha256
的前后10位,就可以爆破出手机号,实际上复杂度并非没有很高,关键是爆破手机号时,需要附带区号(这里我已经知道了手机号了,所以把186提前了,方便截个图)脚本可以优化,但没必要,我只是说明一下为什么可以获取到手机号
from hashlib import sha256
import sys
# 区号
area_code = "86"
# 常见手机号开头
begins = ["186","133","142","144","146","148","149","153","180","181","189","130","131","132","141","143","145","155","156","185","134","135","136","137","138","139","140","147","150","151","152","157","158","159","182","183","187","188"]
# 字符集
for begin in begins:
for i in range(99999999):
s256 = sha256()
v = area_code+begin+"0"*(8-len(str(i))) + str(i)
s256.update(v.encode('utf-8'))
_hash = s256.hexdigest()
if _hash[:5] == "eeb48" and _hash[-5:] == "2d99d":
print("手机号已找到")
print(begin+"0"*(8-len(str(i))) + str(i))
sys.exit(0)
各家厂商都已经有工具能够以极快的速度破解出手机号,或者是从制作好的彩虹表中直接获取结果
结果为18697928485
介质分析
1.请计算计算机检材2023FIC-PC.E01的原始磁盘的SHA256值?
源盘哈希,注意计算即可
结果为FDD3ED3893E31D6E9A363A83969AA701D06E0E3E3628B7DC97A8A23C13FF027D
2.检材2023FIC-PC.E01的计算机开机密码为?
sqlserver的连接密码为PH4829118
再没有其他密码
实际上是个工具题,火眼仿真能获取到密码,需要有密码登录才能解开下面的efs加密
结果为1qaz@WSX3edczhaohong
3.请根据笔录交代,分析计算机检材,找出airdrop投递的图片内容中,违法网站的域名为?
看手笔录
可以看出是使用了EFS
加密
用上面的密码仿真进入系统,直接查看
结果为http://www.HLHL.com
4.请计算嫌疑人计算机中名为“测试模拟器.ldbk”的文件的SHA256值?
根目录一个vhd镜像
测试模拟器.ldbk再这个镜像里面
算个sha256
结果为053950850EC6200C1A06A84B6374BD62242064780F7F680CA23932EE53DC0110
5.请根据笔录交代,分析计算机检材,钱包对应的秘钥计算过程中,调用了以下哪些算法?
A. AES B. DES C. BASE58 D. BASE64 E. HKDF
看笔录划重点,重点是源码
一眼base58+hkdf
结果为CE
6.请分析2023FIC-PC.E01检材,并回答,发现嫌疑人计算机中使用了哪种远程工具?
结果为向日葵
7.请综合分析检材,嫌疑人于2023年8月22日进行远程控制时,被控端的公网IP为?
根据日期看一手日志,主要不要答成上面那个,上面的是向日葵的服务器
结果为116.192.174.254
8.请综合分析检材,嫌疑人于2023年8月22日进行远程控制时,被控端的内网IP为?
结果为172.19.0.128
9.请综合分析检材,嫌疑人于2023年8月22日进行远程控制时,被控端通过连接远程工具的中转服务器实现的P2P连接,该中转服务器的IP为?
注意是被控端,因此要去看被控服务器的向日葵日志
结果为58.215.100.83
10. 请综合分析检材,嫌疑人于2023年8月22日进行远程控制时,于什么时间释放远控行为?
控制端
被控端
综合来看应该是21或者更早?
结果为2023-08-22 18:39:21
APK分析
1.请计算APK勒索样本程序的SHA256值?
结果为99C8AF2DF71E80A30F9FE33E73706FB11FDE024517D228D606326BBA14466988
2.APK程序在勒索的时候会向服务器申请钱包地址,请问申请后台IP地址为?
点击地址时会弹出已复制地址
因此在源码中搜索clipboard
查找引用,发现是个textView组件,设置的值为e
,下面一个z
方法恰好设置了e
的值,上面有一串字符,调用的是f
方法
一眼请求相关
看引入字符的方法,就算没有异常里的提示,也可以通过字符集来判断是Base58
解码
结果为116.192.174.254
3.APK从服务器端申请的包含钱包地址的配置文件的文件名为?
请求完看到后面有写文件的操作,调个引用直接出
结果为hlock_bitcoin_address
4.APK程序在嫌疑人测试环境中,申请到的钱包地址为?
没必要问。。
结果为G7BWj89myshDFUHLdT23KFijyRqw5D9kdw
5.嫌疑人模拟器中,有测试文件被加密,该文件被加密后文件名为?
跟进上面写配置文件的类,可以找到加密的方法,加密文件会被加上hlock
后缀
结果为iamanswer.txt.hlock
6.APK程序勒索过程中,对于勒索文件使用的加密算法为?
调用j
方法进行加密
结果为AES
7.请综合分析检材,嫌疑人模拟器环境中,申请的钱包地址对应的加密秘钥为?
之前密钥生成的代码中,将密钥写入到key.pool
中,从服务器中找到key.pool
结果为KkVuCbGMYTnuSAzHEQhFeR
8.嫌疑人模拟器中,有测试文件被加密,被加密文件的文件内容为?
打开app,输入上题密码就可以直接解密了
结果为67897GHU628HLGF167
9.请综合分析检材,嫌疑人的秘钥库文件的sha256值为?
结果为ADD782FA83C459B2937E968412C657453DCD54E3FE2776AAA9C51E6C152CFB26
10. 如果嫌疑人使用的勒索钱包为74Vmx83bYvuhffEHnxVNnbbq9d1AAfJhXZ,那么该钱包对应的加密KEY为?
已生成的密钥里没有,那么就是要自己生成一下
结果为ATuHF2rakbd6kN6tTuFjRD
数据分析
1.请分析服务器中嫌疑人用于赚钱的sql程序,数据库中的用户记录总共有多少条?
导出sql,本地建个mysql环境
结果为68307
2.请分析服务器中嫌疑人用于赚钱的sql程序,用户最早的注册日期是什么?
结果为2019-12-30 19:22:19 UTC+8
3.请分析服务器中嫌疑人用于赚钱的sql程序,用户数据中的最深层级的用户名为?[组织架构中最大层数]
代理层级,需要用到mysql递归,mysql的版本要大于8,可以只把user表复制过去计算,提前修改UserName
和pid
的类型为longtext
,以防层级不够
WITH RECURSIVE CTE AS (
SELECT UserName, pid, CONCAT('->', UserName) AS Path
FROM wy_user
WHERE pid is null
UNION ALL
SELECT t.UserName, t.pid, CONCAT(CTE.Path, '->', t.UserName)
FROM wy_user t
INNER JOIN CTE ON t.pid = CTE.UserName
)
SELECT UserName, pid, Path
FROM CTE
ORDER BY UserName;
sql跑的时间挺长的,就不让它排序了,导出csv写个脚本看看是谁
with open('daili.csv','r',encoding="utf-8") as fr:
data = fr.readlines()
mx = 0
user = ""
for v in data:
t = v.split(",")
path = t[2]
length = len(path)
if length > mx:
mx = length
user = t[0]
print("层级最深的是:"+user)
结果为胡艳红
4.请分析服务器中嫌疑人用于赚钱的sql程序,直接奖励的总金额是多少?
好家伙要的全都有,估计也是不用看明细了
结果为1142590.00
5.请分析服务器中嫌疑人用于赚钱的sql程序,间接奖励的总金额是多少?
结果为2293600.00
6.请分析服务器中嫌疑人用于赚钱的sql程序,贡献奖的总金额是多少?
结果为2431042.00
7.请分析服务器中嫌疑人用于赚钱的sql程序,全球分红奖励的总金额是多少?
结果为2036114.90
8.请分析服务器中嫌疑人用于赚钱的sql程序,个人投资的总金额是多少?
结果为25043200
9. 请分析服务器中嫌疑人用于赚钱的sql程序,没有上线也没有下线的用户数量是多少?
不知道为啥之前排层级的时候,除了35999866
的下线,其他人都没有排到下线(估计是SQL没写好),好在可以过滤出这些数据,280个,再查询是否存在下级,有8
个存在下级
结果为272
10.请分析服务器中嫌疑人用于赚钱的sql程序,没有上线但有下线的用户数量有多少?
结果为8
程序分析
1.请分析服务器中嫌疑人用于赚钱的exe程序,并计算其md5值?
结果为E8B1C00DCA13B5CA83BD7C5623A80F07
2.请分析服务器中嫌疑人用于赚钱的exe程序,编译此程序的计算机用户名是什么?
微步,能梭的都梭了
结果为MBRE
3.请分析服务器中嫌疑人用于赚钱的exe程序,本程序一共创建了几个窗口?
WinMain
函数中
结果为3
4.请分析服务器中嫌疑人用于赚钱的exe程序,窗口1中所显示的内容是什么?
看一下值
切换编码后是窗口1
跟一下调用,之前可以知道hWnd
是第一个窗口,这里出现了,说明跟之前的游戏窗口有关
查看调用,可以找到PostMessageW
传入的参数中出现过hWnd
,并且传入的参数与上图的要求匹配0x111=273
,0x1000=4096
,因此只需要看dword_406394
跟一下,可以知道这个是分数,需要打到50分
游戏时间,或者od直接改
结果为HLFIC 2023
5.请分析服务器中嫌疑人用于赚钱的exe程序,窗口1中所显示的内容使用了什么字体?
这里靠猜,设置字体跟font相关,找到这里的CreateFontW
(其实是微步上见到了YaHei
)
结果为Microsoft YaHei Light
6. 请分析服务器中嫌疑人用于赚钱的exe程序,窗口1中显示的字符串第一笔的长度为多少像素?
恰好就在字体设置的地方,创建了一个pen来绘画,先移动到50,270
,然后划线到50,330
,50个像素
结果为50
7.请分析服务器中嫌疑人用于赚钱的exe程序,窗口2中解密字符串所使用的密钥为?
跟窗口1
一样来跟
拿去问gpt就知道是rc4
结果为hellohello
8."请分析服务器中嫌疑人用于赚钱的exe程序,窗口2中使用了解密算法为?
A. RC4 B. AES C. DES D. SHA256 E. ECC
结果为A
9.请分析服务器中嫌疑人用于赚钱的exe程序,在俄罗斯方块游戏中,在键盘上依次按下哪些键可以进入窗口2?
这里需要wParam
为0x2000
跟一下找到函数,跟这个变量半天没啥东西
不过可以判断出这个变量其实就是输入的内容
跟进dword_40639C
,则有发现,将case和值转为char后,可以看到按键的对应关系A->f,D->p,S->q,W->t
所以qqfpttqtffppqq
对应过来就是SSADWWSWAADDSS
10.窗口2植入的告中,赌博网站的域名为?
结果为www.abcd.com