EFS加密系统

本文详细介绍了Windows中EFS加密系统的操作,包括本地和远程用户情况下获取令牌的过程,模拟用户登录,通过用户名获取SID,读取EFS证书指纹,以及证书的管理操作,如添加、删除和导出。此外,还涉及了注册表读取、进程信息获取、.Net Framework版本查询、系统软件列表和服务、驱动信息的获取等系统安全相关的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

获取令牌

本地用户情况:

通过WTSGetActiveConsoleSessionId获取当前物理会话ID,WTSQueryUserToken获取会话ID的token, LookupPrivilegeValue寻找某权限的luid(局部唯一编号),AdjustTokenPrivileges提升某令牌的权限。DuplicateTokenEx复制令牌

远程用户情况

WTSEnumerateSessions枚举当前所有远程会话,WTSQuerySessionInformation获取远程会话的状态GetTokenInformation获取令牌

以某令牌模拟登陆电脑

ImpersonateLoggedOnUser(user_token_)模拟以user_token_身份登陆

获取当前用户名

本地用户的情况:

WTSGetActiveConsoleSessionId获取当前会话ID

WTSQuerySessionInformation获取会话信息,内有用户名信息

远程用户的情况:

WTSEnumerateSessions枚举所有会话,

WTSQuerySessionInformation获取会话信息,如果它的状态等于WTSActive,则输出

通过用户名获取SID(security identify)

LookupAccountName()

通过SID来获取certificateHash,即为指纹(thumb_print)

读取注册表HKEY_USER\\SID\\Software\\Microsoft\\Windows NT\\CurrentVersion\\EFS\\CurrentKeys\\certificateHash

 

获取新证书

先以用户身份执行”cipher /FlUSHCACHE”,再以用户身份执行“cipher.exe /K”,然后用GetCurrentThumbprint()获取

通过指纹(Thumbprint)导出证书

找到证书

CertOpenSystemStore获取系统证书库“MY”内的句柄

CertEnumCertificatesInStore从上述的句柄枚举证书

CertGetNameString获取证书名称

CertGetCertificateContextProperty获取证书信息、获取指纹

如果获取到的指纹与输入指纹一致,则返回证书

加入证书

CertOpenStore打开证书库

CertAddCertificateContextToStore加入证书库

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值