- 博客(153)
- 资源 (2)
- 收藏
- 关注
原创 关于52ghai,pediy帖子说明
pediy:我特别好奇某些易语言开发者电脑里到底有多少种病毒?-软件逆向-看雪论坛-安全社区|安全招聘|bbs.pediy.com52ghai:Cisool驱动读写,内核远程call,兼容Win7.Win10.Win11系统,无痕驱动,分享给大家 - 开源交流 挂海论坛 (52ghai.com)52ghai本人无账号.这种“邀请码”式的论坛,打开就关闭,52pojie还是白嫖来的....
2021-09-09 11:50:45
1467
1
原创 LLVM编译Windows驱动(goron/obfuscator)
1.LLVM安装:Download LLVM releases(用于编译混淆后替换bin) 设置下环境变量: version见lib\clang下的文件夹名set LLVMInstallDir=C:\Program Files\LLVM set LLVMToolsVersion=12.0.0 rem LLVMToolsVersion = name of the last subfolder in the path C:\Program Files\L...
2021-08-25 23:19:52
4828
3
原创 windows下efi编译环境配置(EDK2)
1.下载Nasm安装 解压到目录 系统环境添加NASM_PREFIX C:\nasm\2.下载Asl,解压到c:\Asl目录 没有就创建3.下载python3.7 or later4.创建一个工作目录比如c:\efi\test5.clone edk2git clone --recursive https://github.com/tianocore/edk26.clone edk2-baseTools-win32git clone --recursive http.
2021-01-30 17:25:48
2679
3
原创 在>=win10 17134枚举驱动的另一种方法
首先枚举驱动的方法很多,这里不做过多介绍,此文仅简单说明x64系统,x86结构和偏移需重新收集.在17134版本中,MI_SYSTEM_IMAGE_STATE结构新增了一个成员 即以下的最后一个成员ImageTree,此树保存驱动LdrSection题外话:MI_SYSTEM_IMAGE_STATE是_MI_SYSTEM_INFORMATION的子结构,_MI_SYSTEM_INFORMATION是nt!MiStatent!_MI_SYSTEM_IMAGE_STATE +0x000 Fi
2021-01-16 05:47:13
1354
2
原创 win10 Dynamic Value Relocation Table Retpoline解析
前言: 在CVE-2017-5715漏洞曝出之后,微软做了一系列的措施来缓解,并在win10 1809(17763)之后默认启用了Retpoline,pe格式也发生了部分改变(win8.1已改变,后续只是增加).启用RetPoline之后,winload.exe在加载ntos和hal.dll时,会替换一些指令.DVRT: 全名Dynamic Value Relocation Table,此表记录需要替换的指令的指针,当然,系统也可以选择不进行替换,因为这些镜像在编译时,会留出一些...
2020-11-26 12:02:32
910
3
原创 windows线程创建流程
如果查看堆栈(正常的堆栈回溯)所有线程的入口都是RtlUserThreadStart,真正的流程如下.包括远程线程 这里着重说明应用层,内核层不做具体描述.CreateThread->ntdll!NtCreateThread(Ex)->内核设置上下文->回到被创建线程对应进程上下文ntdll!LdrInitializeThunk->ntdll!LdrpIn...
2019-12-23 03:36:13
2344
1
原创 minifilter/sfilter较为精确的判断是打开还是新建操作
写这篇文章的原因是看到一些代码判断不准确,导致效果很奇怪很奇怪,当时我哭晕在WC.见过奇奇怪怪的判断,很无语.于是有了这篇文章.createfile可以新建文件和打开文件这个不多说了在文件过滤系统中IRP_MJ_CREATE怎么判断是open还是create无论是minifilter还是sfilter,判断基本都相同,只不过sfilter在完成例程,min...
2019-09-23 16:45:14
2656
1
原创 浅谈Windows下的隐藏
just a ppt针对windows注册表,文件,进程,DLL/SYS,窗口的隐藏方法总结部分代码在ppt中提供了下载地址链接: https://pan.baidu.com/s/1OlmpSxukgAIqEoQYTuDsTQ 提取码: 5fu5...
2019-09-20 09:18:19
1489
6
原创 win10 tagWnd部分成员逆向(窗口隐藏,窗口保护)
题外话:窗口隐藏:效果就是spy++ 彗星小助手发现不了窗口,但是窗口确实存在.(副作用:不透明窗口,鼠标不穿透窗口白屏或无反应,进程退出蓝屏(如果恢复了就不会))一大波黑产在路上了???怎么隐藏呢?跟断链一致,前一个的下一个等于当前的下一个,后一个的前一个等于当前的前一个.已经说的很明白了!另外在17763及以上,在你内核修改是木有效果的哦.具体可以自己研究一下应用层的tagWn...
2019-06-04 10:53:11
6833
1
原创 exploit 远程桌面服务驱动
一个类似ms11-011的漏洞,不过需要pass uac。不是CVE-2019-0708可以实现任意地址读写。termdd.sys(support kb4499175)也就是支持CVE-2019-0708后的补丁.不怎么关注漏洞方面,几年前无意得到的洞.当时用来pass x64驱动签名检验.快拦在硬盘了,不知道属不属于0day,查过相关资料,没有找到,也没有CVE编号....
2019-05-23 22:26:45
865
2
原创 内核回调中获取设备,路径,文件信息蓝屏问题
最近在写一个类似procmon的框架,写完跑了一两天没有什么问题,直到windows defender的一个进程起来之后,过一会驱动必蓝屏于是很郁闷,看堆栈都是空的,起初以为是栈被破坏了,但是代码里面没有递归等等,基本大的变量都申请了内存,看dump说是irql过高,又看了代码,我习惯都是用非分页内存,所以不存在访问内存的问题,并且代码中都是在psl级别执行的,基本都排除了,异常点是ObpQu...
2019-02-12 17:30:41
1610
1
原创 总结一下ObRegisterCallbacks绕过
1.物理Section Map到用户空间 解析物理地址操作内存2.修改PsProcessType/PsThreadType下_OBJECT_TYPE_INITIALIZER下RetainAccess为0x1fffff无视抹权限 原理见ObpPreInterceptHandleCreateObpPreInterceptHandleCreate(PVOID Object, unsigned _...
2018-10-18 12:50:36
5626
1
原创 MapDriverToMemory
从blackbone中抄出来的一个小功能第二个驱动 不能加壳 并且必须关闭GS检查。VS-C/C++-代码生成-安全检查-禁用安全检查第二个驱动原是一个无驱动对象的,代码中加入了老V的创建驱动对象代码,给第二个驱动了一个“虚无”的驱动对象https://github.com/ZhuHuiBeiShaDiao/DriverMaperps:请无视DriverEntry中蛋疼的获取路...
2018-08-26 13:28:27
1643
转载 CreateProcessNotifyEx阻止进程创建最简方法,不杀进程,不弹窗【备份】
设置CreateStatus为STATUS_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICYhttps://blog.youkuaiyun.com/a907763895/article/details/52863952
2018-08-26 12:35:09
2973
原创 x64伪装进程路径 过PCHunter xxx ARK
https://github.com/ZhuHuiBeiShaDiao/PathModification支持 x64下(win7 ~ win10 all) 对x64进程的路径修改另外一种实现方法就是 傀儡进程
2018-07-18 11:20:21
5608
2
原创 Win10 PatchGuard静态破解更新
前段时间有朋友问http://blog.youkuaiyun.com/zhuhuibeishadiao/article/details/54410029这个开源的还是会蓝屏具体我没试,下面说下通杀的破解方法KiFilterFiberContext 下第三个call(没有符号) 内部48 8b c4 ->>b0 1 c3即头部改b0 01 mov al,1c3 retn
2018-01-12 10:44:12
6381
6
转载 【半原创】Irp占坑保护文件不被删除
Irp操作出自125096的博客http://blog.youkuaiyun.com/qq125096885/article/details/53033896这里提下 博主的例子中使用irpclose文件对象,这可能会造成蓝屏。见链接:https://bbs.pediy.com/thread-215269.htm所以这里把IrpCloseFile改为ObDereferenceObj
2017-09-21 13:23:29
2272
原创 金山&Q管win10 锁定Edge算法分析
Edge主页设置保存在当前用户:Software\\Classes\\LocalSettings\\Software\\Microsoft\\Windows\\CurrentVersion\\AppContainer\\Storage\\microsoft.microsoftedge_8wekyb3d8bbwe\\MicrosoftEdge\\Protected - It is a vio
2017-08-05 01:56:09
1807
1
原创 关于驱动隐藏那点事(不触发PG 支持win10)
已开源:https://github.com/ZhuHuiBeiShaDiao/NewHideDriverEx更新:支持seh,原理自己逆下 将seh挂到其它模块上而已.看网上用此方法隐藏用的挺嗨啊,麻烦打个出处,谢谢了.没必要藏着,人生没有必要为这些小玩意小打小闹。看到某些哥们这搞搞那搞搞,BSOD PATCHGUARD 无语,WRK是个好东西啊!还有半年来也没怎么发博客,惭...
2017-07-21 16:27:09
20478
7
原创 内核特征码搜索 获取未导出函数
无聊写了下有Bug 注意下就好啦~#include "GetUndocumentFunctionAdress.h"#pragma warning(disable : 4047)PVOID GetCallPoint(PVOID pCallPoint){ ULONG dwOffset = 0; ULONG_PTR returnAddress = 0; LARGE
2017-06-19 15:56:07
3855
原创 [科普]SSDT/SSSDT那些事
哇,看到很多人找SSDT/SSSDT名称很蛋疼,读ntdll啊什么的,最后index还很乱,github上也有相关的工具,关键字是syscall,也是用ntdll的方式..这里科普下吧以win10为例x86下找到ssdt表很简单,ida打开找到后交叉下 会找到KiInitSystemINIT:00998E8E A3 48 93 64 00
2017-05-09 11:11:37
3897
1
原创 攻破Win7~Win10 PatchGuard(KPP & DSE)【支持Win10 TH1/TH2/RS1/RS2】【WIN64内核越狱】
最新状态:已放弃Win7.Win8,8.1的静态Patch,专注于Win10 PatchGuard.1.重启内核越狱,支持Win7~Win10Win10 10.0.10240.0 ~ Win10.10.0.14939.693(2017.1.11更新至693最新版)Win8 6.3.9600.18289 ~ 6.3.9600.18378(已停止更新)Win7 6.1.7601.177
2017-01-13 16:41:56
14154
转载 vs2015打开vs2010时提示无法解析的外部符号 __imp___vsnprintf
http://bbs.youkuaiyun.com/topics/391834105?page=1解决方案找到了。在vs2015工程选项,链接器附加依赖项里面添加legacy_stdio_definitions.lib即可。出现这个问题的原因是vs2015默认编译时将许多标准库采用内联方式处理,因而没有可以链接的标准库文件,所以要专门添加标准库文件来链接标准库中的函数。参考:htt
2016-12-26 19:48:46
1745
转载 从FILE_OBJECT里获取完整NT路径和DOS路径
原作者:Tesla.Angela链接:http://www.m5home.com/bbs/thread-8896-1-1.html众所周知在FILE_OBJECT.FileName的路径是不带盘符的,于是网上各种QUICK AND DIRTY的代码就干脆直接从FileName里取得“无头路径”。这种恶心的做法自然是要不得的,现在分享一下从这个结构体里取完整路径的方法。区区40行代码(还
2016-11-29 20:02:52
4499
原创 VT系列:将代码移植到多核模式
本文只是学习此视频后的一些总结 不当之处还请指出视频作者:小宝来了视频连接:http://bbs.pediy.com/showthread.php?t=211973 遇到的问题大概为以下4个1. 如何让代码执行在指定CPU2. 虚拟机内存重叠问题3. 保存虚拟机寄存器结构内存重叠问题4. IRQL、多线程问题5. 如果获取当前代码执行的CPU6. 有
2016-09-23 10:33:25
2477
原创 VT系列:VMCS表填写
一共有5章表要填 分别是:1.Guest State Area (客户机) 填写虚拟机相关的信息2.Host State Area(宿主机) 填写真实机的相关信息3.VM-Execution Control Fields(虚拟机运行控制域) 定义了我们的VT能拦截什么东西 指令 异常 操作。4.VMEntry Control Fields(VMENTRY行为控制域) 写死的 只有x
2016-09-08 13:54:29
3664
1
原创 VT系列:退出事件系统构建(VMMEntryPoint)
VT执行流程:产生退出事件 -> 根据退出事件指定特定的处理函数–> 决定自己处理还是交给CPU处理–> 完成了调用VmResume将控制权交给虚拟机.而当发生退出事件时要调用的函数就是本章要讲的VMCS位置:HOST_RIP-->VMMEntryPoint(VM-Exit处理程序)VM-Exit事件表:#define EXIT_REASON
2016-09-08 13:43:05
4318
1
原创 VT系列二:检测是否支持虚拟化
本文只是学习此视频后的一些总结 不当之处还请指出视频作者:小宝来了视频连接:http://bbs.pediy.com/showthread.php?t=211973 约定:本文中出现的名词虚拟机 客户机 GUEST 都是被监控的操作系统或应用程序宿主机 HOST Hypervisor都是指监控虚拟机的“原”操作系统VMM:当客户机
2016-09-08 13:13:11
3923
原创 VT系列一:VT简述
本文只是学习此视频后的一些总结 不当之处还请指出视频作者:小宝来了视频连接:http://bbs.pediy.com/showthread.php?t=211973 约定:本文中出现的名词虚拟机 客户机 GUEST 都是被监控的操作系统或应用程序宿主机 HOST Hypervisor都是指监控虚拟机的“原”操作系统VMM:当客户机发生退出事件时,进入的就是VMM
2016-09-08 13:05:58
4917
1
原创 某网络公司工作感想
说来有些惭愧,今年20岁了。还没有真正出去工作过,这个暑假有幸受戴先生邀请参加项目开发,也是第一份正规的工作,原本以为过去是做驱动开发的,可能自己经验不够,能力有限,在研究WFP时出现进度缓慢的情况(非防火墙开发),被安排了去做应用层的开发,做一个激活工具,这个先前也不知道,但需求已经踢下来了,只能硬着头皮去找资料了,刚开始老是出问题,激活不成功,引导,KMS支持等等,得好好感谢这些问题,让这
2016-08-28 02:22:16
2500
1
原创 判断当前启动模式是EFI还是BIOS
思路来自国外一个EFI引导制作工具使用NtQuerySystemInformation 功能号为90 SystemLoadImage | 0x40 返回的结构体未知 有知道的朋友可以告诉下我我通过逆向那个工具得到一个结构体typedef struct{int v1;int v2;int v3;int v4;int v67;DWORD nSize;
2016-08-17 00:25:10
4890
2
原创 勘误 win7x64下对OpenProcedure的ObjectHook
那个时候刚接触ObjectHook我对进程对象下的OpenProcedure进行HOOK 保护程序typedef LONG32 (NEAR CDECL FUNCT_005B_0FC1_OpenProcedure) (enum _OB_OPEN_REASON, CHAR, UINT64 /*struct _EPROCESS**/, UINT64 /*VOID**/, UINT64 /*ULONG
2016-06-10 17:22:08
2814
原创 使用EPROCESS下Win32Process枚举进程
此方法硬编码很多!!!EPROCESS下win32Process其实是一个tagPROCESSINFO 结构 typedef struct _tagPROCESSINFO // 55 elements, 0x300 bytes (sizeof) {
2016-06-08 22:50:33
4046
7
原创 使用NtUserBuildHwndList遍历窗口_win7x64
在我的上一篇文章中讲到http://blog.youkuaiyun.com/zhuhuibeishadiao/article/details/51604788枚举窗口 使用EnumWinodws是调用内核中NtUserBuildHwndList 这个函数最后2个参数必须是R3的地址不然会返回0xC0000008错误,并且如果使用控制台窗口测试,这时ETHREAD下的win32Thr
2016-06-08 22:15:59
6082
1
原创 ARK之杀进程这点小事-有线程补充
A.NtTerminateProcessB.涂改内存 //内存清0C.卸载模块 //free ntdll.dll或主模块D.窗口攻击 //发close quit 洪水 或 SetParant这里演示SetParant R3 如果要这么做的话最好在内核中使用更底层的函数这里提一下枚举窗口 使用EnumWinodws是调用内核中NtUserBuildHwndList 这个函数
2016-06-07 16:49:23
3175
原创 ARK之进程枚举
A.进程1.CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS) / Process32First / Process32Nextvoid main(){HANDLE hSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );if( hSnap == INVALID_HANDLE_VALUE
2016-06-05 21:49:33
2354
原创 x64通过PspCidTable遍历进程
PspCidTable可以在PsLookupProcessByProcessId下寻找我这硬编码了 只适用于win7 x64 其它版本需要自己改下特征码#include extern "C" NTKERNELAPI PVOID NTAPI ObGetObjectType( IN PVOID pObject ); extern "C" N
2016-06-05 03:10:21
2929
1
原创 更安全的MmIsAddressValid
代码来着开源工具CheatEngine在初始化是先调用InitMemSafe()然后就可以使用IsAddressSafe来代替MmIsAddressValid了int PTESize;UINT_PTR PAGE_SIZE_LARGE;UINT_PTR MAX_PDE_POS;UINT_PTR MAX_PTE_POS;struct PTEStruct{ un
2016-06-05 01:48:07
4375
原创 检测当前进程是否被挂起
KTHREAD的结构: +0x16c SuspendApc : _KAPC +0x19c SuspendSemaphore : _KSEMAPHORE +0x1b0 ThreadListEntry : _LIST_ENTRY +0x1b8 FreezeCount : Char +0x1b9 SuspendCount : Char
2016-06-04 23:37:20
7820
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人