venom工具弹出来的具渗时候,我正在喝第三杯凉透的透加咖啡。屏幕上那个加密文件像一块冻住的文件肉,后缀是具渗.enc,大小2.3GB,透加修改时间停留在三周前的文件凌晨四点——这个时间点本身就透着古怪。我盯着十六进制编辑器里那一串乱码,具渗心里清楚,透加这不是文件普通的AES加密。
venom不是具渗那种一键破解的玩具。它的透加原理说穿了也简单:先扫描文件头部特征,识别出加密算法指纹,文件然后调用内置的具渗字典和规则引擎去碰撞密钥。但麻烦在于,透加对方显然用了动态密钥派生,文件每次加密都会混入时间戳和随机盐值。我试了前两百个常用密码,全部失败。
我换了个思路,把文件拖进内存分析工具,看看它有没有留下加密时进程的残余数据。Windows的页面文件里还留着几段碎片,拼凑起来发现加密程序是用Python写的,调用的是cryptography库的Fernet模块——这玩意儿有个特性:密钥必须base64编码,而且默认不填充。也就是说,密钥长度是固定的32字节,但内容可以伪造。
venom的暴力破解模块开始运转,CPU风扇转得像直升机。我盯着进度条,它从0%爬到3%用了四分钟,照这个速度得跑三天。我骂了一句,关掉默认字典,改成从文件的元数据里挖线索。文件名是“invoice_final_v7”,但创建者的电脑名是“LAPTOP-7XK2”。我试着把“7XK2”和“invoice”拼在一起,加个感叹号——失败。又试了“v7final”,还是不行。
真正让我警觉的是文件末尾那串十六进制,里面藏着一段非ASCII字符,解码出来是“//10.0.0.8/share/”。内网地址,说明加密者当时就在局域网里操作。我顺着这个IP查了ARP缓存,发现对应的MAC地址属于一台戴尔老款工作站,型号是Precision T3500——这机器2010年就停产了。
我调整了venom的参数,让它把密钥空间限定在基于日期和MAC地址生成的组合里。这次进度条走得快多了,到17%的时候,屏幕上突然跳出一行绿字:密钥匹配。文件解锁,里面是一份Excel表格,记录着某个电商平台的后台提现口令,时间跨度两年,涉及金额七位数。表格最后一行备注写着:“别查了,钱已经洗完了。”
我盯着那句话看了半晌,把venom关了。这工具教会我一件事:加密文件从来不是技术问题,而是人的问题。密钥再复杂,也逃不过习惯——人们总爱把密码藏在某个自己觉得聪明的地方,而venom最擅长的,就是顺着这些“聪明”的痕迹挖下去。至于那份表格后来交给了谁,不关我的事。我只知道,那天下午的阳光透过百叶窗照在屏幕上,绿字消失后的黑底白字,像极了一张没写姓名的判决书。