一、NT系统,9x内核
NT系统:
Microsoft Windows NT(New Technology)是Microsoft在1993年推出的面向工作站、网络服务器和大型计算机的网络操作系统,也可做PC操作系统
- 内核是闭源的,只能通过驱动进去搞事情,但是驱动他嘛的是需要权限才可以安装的。
- 现在的NT内核因为x64下面patch guard技术的引入,所以Hook无法乱搞,限制了驱动该事情
- x64要求驱动有sign(签名),恶意代码进系统比以往有了很大的难度
注:NT其实有一大弱点,就是r3有几个进程是不能结束的,crash掉会马上BSOD
patch guard(防护补丁)是Windows Vista的内核保护系统,防止任何非授权软件试图“修改”Windows内核
内核的特点:
1 、当下的NT内核提供了ASLR(Address space layout randomization),大大提高了进程被inject后shellcode run起来的难度;
2、 传统NT的ACL模型就不废话了
3、 UAC用户帐户控制(User Account Control)
4、 EFS(Encrypting File System)和Bitlocker(驱动器加密),EFS的易受攻击性已经是被证明的,所以这货只能提供有限的安全性,但是Bitloacker在正确配置的情况下,可以提供几乎不存在什么弱点的安全保护
5 、UMDF(用户模式驱动模型 User Model Driver Foundation),因为内核驱动会导致BSOD(Blue Screen of Death),所以现在NT内核提供用户模式驱动,这货崩掉只会导致一个系统服务crash,重启服务即可(并不是重启计算机,比如USB的,只需要重新插一下就行了)
知识链接:
Address space layout randomization(地址空间配置随机加载)ASLR(Address space layout randomization)是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的。
ASLR(达到数操作系统都在使用):
shellcode
实际是一段代码(也可以是填充数据),是用来发送到服务器利用特定漏洞的代码,一般可以获取权限(利用漏洞进行攻击)
ACL模型:
ACL(Access Control List)包含用户(User)、资源(Resource)、资源操作(Operation)三个关键要素。通过将资源以及资源操作授权给用户而使用户获取对资源进行操作的权限。
https://www.cnblogs.com/xiang/articles/319309.html
winDBG调试
1、符号路径
SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols
或者
srv*d:\symbolslocal*http://msdl.microsoft.com/download/symbols
然后是紧跟分号,加上该工程的pdb文件路径
参考: