Earth Kitsune 用水坑投递 WhiskerSpy 后门
· 2 分钟阅读 · @admin

Earth Kitsune 从 2019 年起,就向关注朝鲜的人投递自己写的后门。早先几次是入侵和朝鲜相关的网站,在页面里塞浏览器漏洞,走水坑。2022 年底又发现一次,这次靠社会工程学让受害者自己装上 WhiskerSpy。
1 安装包
第一阶段是名为 windows.10.codec.pack.v2.1.8.setup.exe 的 MSI。里面还有一个改过的 NSIS 包:AI_ChainedPackageFile.windows.10.codec.pack.v2.1.8.setup.exe。
攻击者在原来的 NSIS 安装包上加了一个可执行区段 odata,里面放解密代码和加密的 shellcode,并把入口改成一启动就跳进这段代码。

解密是简单异或。

解开后,shellcode 用 PowerShell 把下一阶段的多个文件拉下来。

然后再把原 NSIS 的入口改回去,让安装过程还能正常走完。

2 OneDrive 侧加载
这一阶段的文件是 shellcode 用 PowerShell 下载的 bg.jpg,同样用异或解开。做法是侧加载:把改过的 vcruntime140.dll 放到 OneDrive 目录,OneDrive 每次启动都会加载它,用来维持驻留。
硬编码的加密数据先解密,写成临时文件 a.tmp,再改名为 vcruntime140.dll。

这个 DLL 和前面一样,新增可执行区段,并改掉某个函数让它跳进 shellcode。插入点在 _security_init_cookie。

接着创建傀儡进程 WerFault,把下一阶段 shellcode 注入进去。Shellcode 在 WerFault 的地址空间里把后门映射到内存。

嵌入在文件里的 WhiskerSpy 就是在这里被手动映射进 WerFault 的。

3 WhiskerSpy
3.1 机器标识
后门用 FNV(Fowler-Noll-Vo)算一个标识来区分受害者。它调用 GetSystemFirmwareTable 读 SMBIOS,解析出 16 字节的 UUID,再交给 FNV。

3.2 互斥量
启动时创建互斥量 Global\382df%!bnz,避免同一时间跑多个实例。

3.3 指令
指令从 max-agupdategoogle.servehttp.com 取。
| 指令 | 功能 | 状态 |
|---|---|---|
| 1 | 交互式 shell | CPF 创建进程失败,CPS 成功 |
| 2 | 从客户端下载文件 | UTOF 打开文件,FWS 写入成功,UTWF 写入文件,BAD 失败 |
| 3 | 上传文件到服务器 | UTOF 打开,UTRF 读取,FIB 大于 200MB,FIE 文件为空,Bad 失败 |
| 4、8 | 获取文件列表 | |
| 5 | 删除文件 | Good 成功,Bad 失败 |
| 6 | 不支持的命令 | |
| 7 | 退出进程 | |
| 9 | 加密文件并上传 | |
| 10 | 截图 | |
| 11 | 加载模块并执行导出函数 | Bad 加载失败,Good 成功 |
| 12 | 把 shellcode 注入到另一个进程 | Good 成功,Bad 失败 |
4 ATT&CK
| 战术 | ID | 名称 | 在这次活动里 |
|---|---|---|---|
| Defense Evasion | T1055 | Process Injection | 注入到 WerFault |
| Execution | T1059 | Command and Scripting Interpreter | 用 PowerShell 下载文件 |
| Execution | T1106 | Native API | 读取系统固件表 |
| Initial Access | T1566 | Phishing | 钓鱼诱导安装 |
| Initial Access | T1189 | Drive-by Compromise | 入侵正常网站植入代码 |
| Persistence | T1176 | Browser Extensions | 原稿记为通过浏览器扩展驻留 |
| Command and Control | T1071 | Application Layer Protocol | 使用 HTTP |
| Command and Control | T1105 | Ingress Tool Transfer | 下载后续程序 |
| Exfiltration | T1041 | Exfiltration Over C2 Channel | 经 C&C 上传数据 |
5 IOC
域名:
max-agupdategoogle.servehttp.com
哈希:
371cfa10a7262438e5bc0694ba5628eb21e044dc8173710df51826dafa11e3003d4107c738b46f75c5b1b88ef06f82a5779ddd830527c9becc951080a5491f133d62e122e31d7929e76633773d752b8bee31462bb79cb5b8b7c6952341e9348266c8e0acfe030c4eec474cd75c4d831601dae3ef4e1cef78b624de3c346c186d6f0a0ac477c73c2533a39cb3d8fbf45365761d11b7368460964a4572e91c5fcb7365f661ad9e558fdd668d3563e0a1b85ccf1a543be51cb942db508f9ccbcf5e84e9bcc055225bd50534147e355834325b97ad948c3a10d792928b48c56c1712c78cb41f4fb4e5f5476eb2c1414f138643494c2b8abe2cf539fafc54199e2aefe01399d47cda45f1af496fa460f20620a5b08c39714875fe292a5fc3d1c7a215effa1ae32dbcf6bc64a5025bca4f4c41572439b69edd58b5f78952a407ceb5dffbac7b40a12970cdcc36f48945beb83bf9461f14c59cb8106ad8e43e5d22a970

