CTF

湖湘杯初赛内存取证(隐藏用户)

Posted on 2020-11-02,2 min read

前面就不说了。通过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到手

下一篇: 记一次校内的XX系统渗透→