一个巧妙且令人困惑的持久性技巧,用于迷惑DFIR调查。 使用NtSetValueKey原生API创建一个隐藏的(以空字节结尾的)注册表键值。 其原理是在UNICODE_STRING键值名前添加一个空字节。
关于该技术的更多信息可在以下白皮书中找到: https://github.com/ewhitehats/InvisiblePersistence/blob/master/InvisibleRegValues_Whitepaper.pdf
该工具使用以下注册表路径创建隐藏的运行键: (如果是当前用户则为HKCU,否则为HKLM)\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
创建隐藏注册表(Run)键:
SharpHide.exe action=create keyvalue="C:\Windows\Temp\Bla.exe"
创建带参数的隐藏注册表(Run)键:
SharpHide.exe action=create keyvalue="C:\Windows\Temp\Bla.exe" arguments="arg1 arg2"
删除隐藏注册表(Run)键:
SharpHide.exe action=delete
该工具也适用于Cobalt Strike的execute-assembly。
作者:Cornelis de Plaa (@Cneelis) / Outflank