REinject's Blog

我们的功夫再棒,也敌不过洋枪


CVE-2021-1732 Windows10 本地提权漏洞

漏洞发生在 Windows 图形驱动 win32kfull.sys 中,当调用 win32kfull!NtUserCreateWindowEx 函数创建窗口且 tagWND→cbWndExtra≠0 时,该函数调用 win32kfull!xxxClientAllocWindowClassExtraBytes 回调用户层函数 user32.dll!__xxxClientAllocWindowClassExtraBytes 分配内存,攻击者可以 Hook 这个用户层函数调用 ntdll!NtCallbackReturn 向内核返回一个任意值,并且当 tagWND→flag 包含 0x800 标志时该返回值将被视为相对内核桌面堆起始地址的偏移。用户层调用 NtUserConsoleControl 可以修改 tagWND→flag 值包含 0x800,因此返回值将直接被用于堆内存寻址,引发内存越界访问。攻击者通过越界读写可复制 system 进程 token 到当前进程完成提权。

深入理解 Windows 计划任务及其恶意隐藏方式探究

恶意软件或攻击者通常使用计划任务作为他们的持久化机制。

从风险发现的角度考虑,理解计划任务的运行和创建方式以及和计划任务相关联的进程是有必要的。

并且,本文还对一种未公开的计划任务隐藏手法进行了猜测与探究。

阅读更多...

C++中基本数据类型的表现形式

进程内存像是个黑夜中的宫殿,很难直接看清楚里面有什么,只能一个角落一个角落的探索。这次我所探索的是 C++ 代码中的数据结构在内存中的表现形式,主要根据《C++反汇编与逆向分析技术揭秘》一书总结,其中还有穿插《深入理解计算机系统》第二章浮点数的内容,详细内容参见书中相关章节。

上一页 3 / 3