探索黑客技术攻防,实战研究与安全创新

导航菜单

分类:操作系统

Windows7默认环境绕过UAC

Windows7默认环境绕过UAC
在Win7默认配置环境下,UAC处于第二级,如图1所示,在此级别下,用户对一个程序点击鼠标右键“以管理员身份运行”,是会触发UAC拦截弹窗的,也就是需要经过用户的确认才能以完整特权的管理员权限运行。不过,我们用过一段时间后就会发现,用户打开一些操作系统自身的程序时,也是完整特权的,但它们启动的时候并...

ShellcodeInX64Findkernel32.dll

ShellcodeInX64Findkernel32.dll
网上对于X64下Shellcode的讨论比较少,本文我们将着重讨论X64下的Shellcode的实现。shellcode的第一步。第一步都是找到某模块基址,如kernel32.dll。由于kernel32.dll内含一些很重要的函数,如LoadLibrary和GetProcAddress,获取这些函...

Windows异常处理机制

Windows异常处理机制
生活中我们经常遇到意想不到的事情,在操作系统的世界里,也是司空见惯的,比如一段程序是将接收到的数据x代入公式y=10/x得到y,刚开始一切都很顺利,x=1,5,2…等等,都不会有任何问题,但输入0后,我们的程序就会出错。编过程序的朋友可能会说,那就在代码y=10/x之前做个判断就可以了,如果x等于0...

Windows内核调试命令利器分析

Windows内核调试命令利器分析
 近几年随着Rootkit技术的快速发展,越来越多的安全技术爱好者开始了解Rootkit的实现原理,从上层API函数到nativeAPI再到各类未公开的内核函数、内核对象。大多数Rootkits的开发都离不开内核对象的操作,如调用表CallTables的劫持、系统函数补丁、基于DKOM技术...

搜索kernel32.dll:TEB与PEB之旅

搜索kernel32.dll:TEB与PEB之旅
每个Windows进程都由一个Active进程EPROCESS表示,此结构体除了包含许多与此进程相关的属性,还包含部分指向其他结构体的指针。如每个进程都存在一个或多个线程,每个线程又通过一个可执行线程ETHREAD结构体表示。EPROCESS结构体及其大多数相关的数据结构都存储在系统地址空间,唯一例...

Windows7注册表之SAM文件取证分析

Windows7注册表之SAM文件取证分析
Windows注册表包含大量的键值,而且这些键值可能被用户修改过,犯罪嫌疑犯也可能借用它隐藏一些隐私,如用户密码。故,一些注册表键值在许多取证分析中都要被调查,它们并无必要对应一个给定领域,但是它们和大量计算机调查相关。这些键值包括基本的系统信息(谁使用了该系统,安装了什么应用程序)和关键系统领域的...

恢复在WIN64上的SSDT钩子

恢复在WIN64上的SSDT钩子
在上一篇文章里我描述了如何在Win64系统上实现SSDTHOOK,有SSDTHOOK,自然也有UNHOOKSSDT的方法,现在我就来讲一下如何实现UNHOOKSSDT。要恢复SSDT,首先要获得SSDT各个函数的原始地址,而SSDT各个函数的原始地址,自然是存储在内核文件里的。于是,有了以下思路:1...

实现Win64上的内核级InlineHook引擎

实现Win64上的内核级InlineHook引擎
内核级InlineHook是RK/ARK实现各种功能的重要手段之一。在WIN32下,已经有了完善的反汇编引擎和挂钩引擎,但是在WIN64下,这一切还是空白。之前发的那一篇Win64内核InlineHook的文章,还不太方便实际应用,因为没有找到合适的x64反汇编引擎,需要硬编码以及一堆的机器码。经过...

初步探索PE32+格式文件

初步探索PE32+格式文件
在WIN64系统上运行的原生64位应用程序,其PE格式称为PE32+,当然是和32位程序有所不同的。但是,相同的部分是占大多数的,不同的地方,基本只是在PE头部分而已(IMAGE_NT_HEADERS64)。所以,本文只讲述PE32和PE32+不同的地方,相同的地方就略过不讲了。本文所有的资料均来源...

编程实现突破Win64内核保护机制

编程实现突破Win64内核保护机制
我在之前的文章里说过,要使你的驱动在WIN64系统上加载,有两种方法:1.向微软缴纳高额的“保护费”(即购买驱动签名,虽然说把微软比喻为黑社会不太好,不过这种行径真的很像黑社会);2.破解微软的驱动签名验证机制。如果要在WIN64上进行内核HOOK,那么交保护费都不行,只能破解微软内核保护(Patc...