在准备即将到来的FOR500课程时,我决定测试课程最近新增的内容。我的同事Zach的博文指出,Win10 1903及更高版本存在一个注册表键,会存储任何使用计算机摄像头或麦克风的可执行文件的完整路径。
Zach指出这些信息存储在以下注册表键中:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager
在我的测试中(至少在Win10 20H2上)发现,数据也可能存储在相同位置但位于当前用户下(HKCU/HKU –> NTUSER.DAT)。这可能与可执行文件的存储/安装/执行方式有关。
我通过生成Msfvenom有效负载重现了Zach的研究,按照此处的步骤操作,然后在用户配置文件下手动启动Meterpreter反向shell(非管理员权限)。这使我能够利用Metasploit中的各种功能开启受害VM的摄像头(在VMware中有点棘手,因为我必须确保将其添加到VM中,声卡也是如此),并使用受害VM的麦克风录制短音频片段。
插入模糊图片!
操作完成后,我使用KAPE进行了取证收集,然后对可执行文件名进行了一些注册表搜索。如下截图所示,我的可执行文件的完整路径列在受影响用户的NTUSER中,而不是HKLM(SOFTWARE配置单元)中。
检查我常规计算机上的相同键,显示了Zoom和Steam等应用程序——这正是我期望在此看到的内容。我还注意到其中存在rundll(这可能没问题?在调查中我会进一步研究)。如果有人使用rundll而不是常规可执行文件来执行恶意软件,你可能会看到这种情况(但无法得知恶意有效负载实际是什么)。
我的常规计算机在HKU/HKCU和HKLM下都填充了键。很好知道!
需要额外测试: 如果有人想扩展这项研究,以下问题值得解答:
- 如果你使用rundll或任何其他lolbin运行恶意DLL,是否会按预期记录lolbin的完整路径?
- 是否有方法识别为什么某些内容记录在SOFTWARE配置单元而非USER配置单元中?或者,Microsoft是否在版本之间更改了位置,因此我SOFTWARE配置单元中的内容只是升级后的残留?
- 是否有其他指标可用于识别恶意攻击者是否以及何时开启了麦克风或摄像头!?这个问题我较少考虑Meterpreter/Cobalt Strike OST方面,而更多考虑可能具有监听和查看模块的任何“银行木马”。