安全故障排查与分析
1. 安全故障调查概述
在分布式环境中,安全故障排查是一项复杂的任务。许多调试会话都是由访问被拒绝错误触发的。这些错误有时是正常且可预期的,有时则在配置正确的系统中意外出现。相比配置错误的系统,在配置正确的系统中调试故障要容易得多。
2. 本地安全故障
在软件开发中,各种 API 的意外故障是开发者面临的一大困扰,尤其是当故障与开发者的预期或经验相悖时。常见的故障情况发生在进程以 NetworkService 账户(标识为 S - 1 - 5 - 20)或 LocalService 账户(标识为 S - 1 - 5 - 19)运行时。
以下是一个实际案例:在以 NetworkService 账户运行的进程中调用 advapi32!ImpersonateSelf API 时出现问题。具体操作步骤如下:
1. 选择一个以该账户运行的临时进程,并使用调试器附加到该进程。
2. 在调试器调用 kernel32!DebugBreak 的线程中,将指令指针更改为 advapi32!ImpersonateSelf 的地址,并在栈中填充参数。
0:008> |
. 0 id: 650 attach name: C:\WINDOWS\System32\wbem\wmiprvse.exe
0:008> * set the instruction pointer to the advapi32!ImpersonateSelf
0:008> r $ip=advapi32!ImpersonateSelf
0:008> *
超级会员免费看
订阅专栏 解锁全文
15万+

被折叠的 条评论
为什么被折叠?



