前面就不说了。通过filescan找到。file.txt
通过hashdump可以发现有很多隐藏用户
但是题目中说了。计算机管理中没有这个用户。并且可以登陆
而xxx$这种只是在命令行中看不到。计算机管理中是可以看到的
所以黑客必定修改了注册表的值。把隐藏用户的F值给覆盖成了administrator的F值
我们先在自己的机子上看看普通用户和管理员的区别
注册表中Users和Names中一一对应
管理员:
普通用户:
可以看到。普通用户的F值和管理员的差异在于
普通用户后面是00 00了。而管理员则是 90 5D xxxx
OK。既然隐藏用户复制了管理员的F值。那么必定这个也是相同的。和普通的用户不一样
先列出来所有的Users
volatility -f 1.vmem --profile=Win2003SP1x86 printkey -K "SAM\Domains\Account\Users"
然后再根据这个用户的ID。去获取它对应的F值。如果第一行是02 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00就返回它的所有键值
import os
data=open('user','r').read()
data=data.replace('(S)','').replace(" ","")
data=data.split("\n")
for i in data[0:-1]:
cmd='volatility -f 1.vmem --profile=Win2003SP1x86 printkey -K "SAM\Domains\Account\Users\\'+i+'"'
result=os.popen(cmd).read()
if (result.split('0x00000000')[1].split(' ')[0]==' 02 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00'):
pass
else:
print(result)
跑出了用户名。密码cmd5一下。Flag到手