Windows影子账户创建与防御
摘要: 免责声明:由于传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本篇文章作者不为此承担任何责任,一旦造成后果请自行承担!
前提
·在攻击者获取到系统权限后,一般会创建账号进行持久化,在ATT&CK框架持久化技术中有一个步骤是创建本地账户Create Account: Local Account(T1136.001),创建完账号之后还需要考虑隐藏防御,那么影子账号是一种实现方法。
影子账户:是指系统隐藏帐户,在“控制面板-本地用户和组”里面看不见,但却有管理员权限的帐户
创建
1、假设当前你有足够的权限进行创建账号并赋予管理员权限。
net user haha$ 123456 /add:创建一个名为 "haha$" 的用户,并设置密码为 "waynes"。
net localgroup administrators haha$ /add:将用户 "haha$" 添加到管理员组,使其具有管理员权限。
执行完这三条命令初步的影子账号(隐藏账号)就完成了,但在登陆界面能够发现这个用户,隐藏效果不是很好
所以借助修改注册表的方式来进行更深一步隐藏
打开注册表HKEY_LOCAL_MACHINE\SAM\SAM,右击权限,找到Administrators勾选完全控制
在注册表HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names找到刚刚创建的账户和对应的类型,将隐藏用户注册表信息导出命名为1.reg,同时将对应类型的注册表数据也导出命名为2.reg,接着导出想要复制的账户,比如管理员帐户的默认类型为00001F4导出为3.reg最终得到3个文件,若管理员账户被禁用,影子账号创建账户也无法登陆。
一共生成3个reg文件
编译2.reg,3.reg,将3.reg的F值复制到2.reg并保存
然后命令行中删除隐藏用户
net user haha$ /del
然后把1.reg,2.reg导入注册表,重启后发现登陆界面没有影子账号
尝试使用影子账号远程登陆,登陆成功
防御
1、及时更新系统补丁。注:虽然及时更新补丁可以解决很多问题,但通知更新完补丁的稳定性也需要进行考虑。
2、限制pc、主机创建用户的权限:目前大多pc可以通过桌管进行统一管理,通过桌管进行权限控制创建用户、注册表修改的权限。
3、通过seim、soc创建规则监控对应日志数据:在创建日志和修改注册表都会有相应的日志数据记录,seim或soc平台可以监控这些日志进行分析和确认。
4、部署终端安全和主机安全平台:借助终端安全平台和主机安全平台监控对应操作行为。