0x00 前言
最近在对以前所做的笔记进行梳理的时候,发现还没记录过隐藏账号的笔记,这里就补充一下。
在补充的过程中发现,利用注册表创建隐藏账号的方法还是挺繁琐的,虽然已经有一键化的工具,但是使用起来都不是太顺手,另外在使用某款工具的过程中还把我虚拟机干炸了,幸好打的有快照。
既然没有顺手的,那就自己写一个吧,不过在此之前,还是先看看手动是怎么创建隐藏账号的。
0x01 手动创建隐藏账号与发现的方法
方法一:添加 $ 符
添加隐藏用户并添加到管理员组
net user teamssix$ Passw0rd /add
net localgroup administrators teamssix$ /add
在使用 net user 查看当前用户时,是看不到这个用户的,但是在控制面板里可以看到该用户
使用 wmic 也能看到该用户
wmic useraccount get Name
删除该用户直接用 net user 即可
net user teamssix$ /del
方法二:修改注册表
打开注册表
HKEY_LOCAL_MACHINE\SAM\SAM\
赋予管理员用户完全控制的权限
关闭注册表,再次来到刚才的路径,这时就可以看到 SAM 文件夹里的内容了
这时需要导出三个文件:
- Users 下的管理员文件
- Users 下的隐藏账号文件
- Names 下的隐藏账号文件
Users 下的文件名可能不太好判断归属那个用户,不过在选择 Names 下的用户时,可以看到相应的类型值,比如 teamssix$ 账号对应的是 0x3ea,那么 Users 下的文件夹就是 000003EA,同理找到管理员 Administrator 对应的是 00001F4
找到这三个文件后,右击选择导出
使用记事本打开导出的 Users 下的两个文件,将 Administrator 中的 F 键值内容进行替换到 teamssix$ 中
然后删除 teamssix$ 用户
net user teamssix$ /del
这个时候其实 teamssix$ 用户就被删掉了,然后利用刚才的注册表文件再添加上 teamssix$ 用户
双击刚才导出的 Users 下的 teamssix$ 文件和 Names 下的 teamssix$ 文件。
此时,利用注册表新建隐藏账号就做好了,不管是 net user 还是控制面板都看不到该用户。
使用 net user teamssix$ 能看到该用户,说明该用户是存在的。
从上面图片可以看到其实账号是禁用的状态,因此想使用这个账号,还得给它启用才行
net user teamssix$ /active:yes
如果想删除这个账号,在注册表中删除 Users 下的 000003EA 和 Names 下的 teamssix$ 就行了。
不过这种方法依然是有破绽的,比如在注册表里还是能发现 teamssix$ 用户的,使用 wmic 也能看到该用户。
而且当电脑重启后,在计算机管理里也能看到刚刚创建的隐藏账号。
0x02 创建隐藏账号的工具介绍
工具介绍
对比了下两种方法,虽然都有办法去发现隐藏账号,但是第二种修改注册表的方法很明显隐藏性还是更好些,只是操作起来有些麻烦,但是又没有什么用着顺手的工具,所以这里自己写了一个利用注册表添加隐藏账号的小工具。
免责声明:请勿将工具用于非法用途,开发人员不承担任何责任,也不对任何滥用或损坏负责。
工具地址:https://github.com/wgpsec/CreateHiddenAccount
命令帮助信息
-c 检查当前系统的隐藏账户
-d 指定要删除的用户名,如果添加的用户名不是以 $ 结尾,则工具会自动在用户名后添加上 $
-p 指定添加的用户的密码
-u 指定要添加的用户名,如果添加的用户名不是以 $ 结尾,则工具会自动在用户名后添加上 $
工具使用
例如这里添加一个用户名为 teamssix 的隐藏账号,工具会自动在用户名后添加 $ 符,因此创建后的用户名为 teamssix$
使用的时候,记得在管理员权限下运行,不然会提示权限不足
CreateHiddenAccount.exe -u teamssix -p Passw0rd
创建完后,通过 net user 和控制面板等等都是看不到这个账号的
检查当前系统的隐藏账号
CreateHiddenAccount.exe -c
删除 teamssix 隐藏账号,当删除完账号后,再次检查当前系统的隐藏账号,可以看到就提示没有隐藏账号了
CreateHiddenAccount.exe -d teamssix
免杀能力
因为在工具里是利用 Windows API 创建的用户,所以天然具有一定的免杀能力,不过因为工具里需要对注册表进行操作,所以还是会被杀软发现。
我这里用 360 和火绒测试了下免杀的能力,情况大体如下:
整体上,除了在添加用户的时候,360 会弹窗询问要不要允许修改注册表外,其他时候杀软都是没动静的,个人觉着还行。
不过这个也只是我当时的检测情况,也许明天后天就会被查杀,这个也是很正常的事儿。
0x03 后记
我看到一些同类工具只有添加隐藏账号的功能,这个工具除了添加隐藏账号外,我还给它也加入了检查隐藏账号和删除隐藏账号的功能,这样不管是红队还是蓝队,都可以使用到这款工具。
最后,如果有什么 bug 可以直接在 Github 的项目地址上给我提 issue,另外 Star 就不要了,你懂的。