windows-pwn-0
Last Update:
Word Count:
Read Time:
Windows Pwn 0x00 (基本知识)
函数调用约定
_cdecl
_stdcall
_fastcall
保护
相关保护的开启都依赖于编译器的编译方式, 不同的编译器, 开启的程序保护机制也有所不同.
ASLR
ASLR保护指的是地址随机化技术(Address Space Layout Randomization),这项技术将在程序启动时将DLL随机的加载到内存中的位置,这将缓解恶意程序的加载。ASLR技术自Windows 10开始已经在系统中被配置为默认启用,。
High Entropy VA
这个保护被称为高熵64位地址空间布局随机化,一旦开启,表示此程序的地址随机化的取值空间为64 bit,这会导致攻击者更难去推测随机化后的地址。
Force Integrity
这个保护被称为强制签名保护,表示此程序加载时需要验证其中的签名,如果签名不正确,程序将会被阻止运行。
Isolation
隔离保护, 开启之后, 表示此 程序加载时需要验证其中的签名,如果签名不正确,此程序会被阻止运行
NX/DEP/PAE
NX保护指的是内存页不可执行, 这项技术是一项系统级别内存保护的功能, 使得操作系统能够将一页或多页内存标记为不可执行,防止被标记为不可执行的内存页的代码不可执行。
DEP:(Data Execution Prevention)
PAE:(Physical Address Extension)
SEHOP
结构化异常处理保护(Structured Exception Handling Overwrite Protection), 这能够防止攻击者利用结构化异常处理来进一步利用。
CFG
控制流保护(Control Flow Guard), 这项技术通过间接跳转前插入校验代码,检查目标的有效性,进而可以阻止执行流跳转到预期之外的地点。
RFG
类似于linux 的cannary保护, 返回地址保护(Return Flow Guard),这项技术在每个函数头部将返回地址保存到fs:[rsp] (Thread Control), 并在函数返回前将其与返回地址进行比较。
SafeSEH
安全结构化异常处理(Safe Structured Exception Handlers),事先为你定义一些异常处理函数, 并基于此构造安全结构化异常处理表,程序运行后,安全结构化异常处理表 之外的异常处理都会被阻止运行
GS
也类似于linux中的cannary保护, 在返回地址之前存放一个额外的Security Cookie,然后在ret之前与取出该值与之前存放的值做比较
Authenticode
签名保护
.NET
DLL混淆
打赏点小钱

