首页
社区
课程
招聘
[未解决,已结帖] xp 系统,驱动层hook ZwCreateKey函数,在自定义函数MyZwCreateKey中返回STATUS_ACCESS_DENIED 蓝屏。 200.00雪花
发表于: 2021-6-17 20:03 3992

[未解决,已结帖] xp 系统,驱动层hook ZwCreateKey函数,在自定义函数MyZwCreateKey中返回STATUS_ACCESS_DENIED 蓝屏。 200.00雪花

2021-6-17 20:03
3992

1、首先hook ZwCreateKey函数
2、//修改权限对Administrators开放
ModifyRegCompetence("Administrators", "MACHINE\SAM\SAM");
3、如果MyZwCreateKey 中发现注册表创建得路径为"\REGISTRY\MACHINE\SAM\SAM\DOMAINS\Account\Users\Names\XXXX",那么返回STATUS_ACCESS_DENIED
4、在应用层cmd命令行中调用 net user XXXX lovechina /add 回进入到步骤3得条件中,MyZwCreateKey 返回STATUS_ACCESS_DENIED 会导致系统崩溃
崩溃截图和windbg !analyze -v信息请参考附件

 

需求:
MyZwCreateKey 中能够实现阻止!
如有其他需求请联系QQ:976377158


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2021-6-17 20:05 被mb_yiaasxso编辑 ,原因: 错别字
上传的附件:
收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
bool  ModifyRegCompetence(LPSTR Group, LPSTR key)
{
       PACL pOldDacl = NULL;
       PACL pNewDacl = NULL;
       DWORD dRet;
       EXPLICIT_ACCESS_A eia;
       PSECURITY_DESCRIPTOR pSID = NULL;
       dRet = GetNamedSecurityInfoA(key, SE_REGISTRY_KEY, DACL_SECURITY_INFORMATION, NULL, NULL, &pOldDacl, NULL, &pSID);
       if (dRet != ERROR_SUCCESS)
               goto END;

       ZeroMemory(&eia, sizeof(EXPLICIT_ACCESS_A));
       BuildExplicitAccessWithNameA(&eia, Group, KEY_ALL_ACCESS, SET_ACCESS, SUB_CONTAINERS_AND_OBJECTS_INHERIT);

       dRet = SetEntriesInAclA(1, &eia, pOldDacl, &pNewDacl);
       if (dRet != ERROR_SUCCESS)
               goto END;

       dRet = SetNamedSecurityInfoA(key, SE_REGISTRY_KEY, DACL_SECURITY_INFORMATION, NULL, NULL, pNewDacl, NULL);
       if (dRet != ERROR_SUCCESS)
               goto END;
END:

       if (pNewDacl)
               LocalFree(pNewDacl);
       if (pSID)
               LocalFree(pSID);
       return 1;
}
2021-6-18 09:11
0
雪    币: 35
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
你 hook是干啥了?蓝屏显示应该是 校验注册表出问题了
2021-6-18 16:02
0
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
当检测到ZwCreateKey是创建账号的时候,那么阻止创建账号
2021-6-18 16:10
0
游客
登录 | 注册 方可回帖
返回
//