首页
学习
活动
专区
圈层
工具
发布

防止 Windows 上的内存检查

这次的主要攻击者是NtMapViewOfSection,一个可以将段对象映射到给定进程的地址空间的系统调用,主要用于实现共享内存和内存映射文件(Win32 API 将是MapViewOfFile)。...好吧,在错误地将标志识别为未记录后,我继续尝试创建我可能创建的最大部分。一切都很顺利,直到我打开ProcessHacker内存视图。PC 几乎无法使用至少一分钟,此后黑客也有一段时间没有响应。...随后的运行似乎没有抓住了整个系统但是它仍然采取长达4分钟的NtQueryVirtualMemory调用返回。 我想你可以像鲍勃·罗斯所说的那样把这称为快乐的小事故。...原因 由于我很懒,所以我决定使用Windows Performance Recorder而不是潜入和倒退。这是一个使用 ETW 跟踪的漂亮工具,可以让您深入了解系统上发生的事情。...资源使用是合理的,设置它只需要几个系统调用,并且不太可能被意外触发。

4.7K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何使用php调用api接口,获得返回json字符的指定字段数据

    如何使用php调用api接口,获得返回json字符的指定字段数据 今天试着用php调用远程接口,获取调用接口后的数据,将其记录下来,方便日后调用。...开始调用 逻辑: 先合并出需要调用的接口以及参数 然后用php中file_get_contents()函数,获取接口返回的所有内容。...最后再通过json_decode,将获取到的内容进行json解码,然后进行输出,得到想要的结果。(这里调用接口,获得百度域名的备案主体的信息)。...下面是输出的结果: 下面是直接访问上方接口返回的内容 最后,将上面的示例代码放出来。 需要的可以免登录,下方评论拿走即可! 本文共 220 个字数,平均阅读时长 ≈ 1分钟

    9.9K30

    在2022年使用Python调用Windows 11的通知系统

    前情提要 在这之前我通常使用Windows-10-Toast-Notifications来调用Windows的通知系统,但是从我更新到了22622后我发现这个库现在不起作用,于是几经辗转,找到了一个可用的库...开始使用 Windows-Toasts是一个现在还在更新的python库,你可以通过pypi安装此库: python -m pip install windows-toasts 由于此库没有官方文档库,...因此本文凭自己的使用经验撰写。...简单使用 通过以下命令开始简单使用此库并输出一个Windows通知: >>> from windows_toasts import WindowsToaster, ToastText1 >>> wintoaster...设置程序名 第二行是调用了WindowsToaster()类,当我们定义这个类时,我们需要传入一个applicationText: str参数,而这个参数就是用来指定弹出窗口的程序名。

    2.9K10

    驱动开发入门——NTModel

    API调用的基本流程 一般在某些平台上进行程序开发,都需要使用系统提供的统一接口,linux平台直接提供系统调用,而windows上提供API,这两个并不是同一个概念(之前我一直分不清楚),虽然它们都是系统提供的实现某种功能的接口...,但是它们有着本质的区别,系统调用在调用时会陷入到内核态,而API则不是这样,例如对于CreateFile这个我们不能说它是一个系统调用,在这个函数中并没有立即陷入到内核态,而是先进行参数检查,然后通过其他的一系列操作之后调用系统调用而进入到内核...这个函数实际上被封装到了kernel32.dll中,在这个函数中调用NtCreateFile,这就是调用ntdll.dll中的native api ,ntdll.dll中一般又两组函数——以Nt开头,以...管理器生成一个IRP请求,并调用内核中的驱动,来相应这个操作,对于CreateFile来说会调用NtCreateFile函数。 7. 最后调用内核实现部分,也就是硬件抽象层。...有的时候在加载驱动的时候,系统会报错,返回码为2,表示系统找不到驱动对应的文件,这个时候可能是文件的路径的问题,这个时候可以在系统的注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001

    1.2K20

    一种注册表沙箱的思路、实现——研究Reactos中注册表函数的实现1

    因为我们沙箱注入了一个DLL到了目标进程,并且Hook了一系列NtXX(NtOpenKey)函数,所以我们在注入的代码中是不能使用RegXX(RegOpenKey等)这类函数的。...因为RegXX系列函数在底层使用了NtXX系列函数,如果在注入DLL执行Hook后的逻辑中使用了RegXX系列函数,将会导致递归调用的问题,就让程序产生“蛋生鸡,鸡生蛋”这样的“思考”,可是程序不知道停止...于是使用Nt函数实现我们曾经习惯使用的RegXX函数是必要的。(转载请指明出处)         编写这块代码时,我参考了reactos注册表相关的源码。...ObjectAttributes 调用Nt式函数 关闭第一步获得的HANDLE         我们发现其他很多Reg函数都是走这个套路的,比如RegSetKeyValue和RegEnumKeyEx等。...因为我们Hook的是Nt式函数,我们在函数中可以获取键对应的HANDLE,而不会得到HKEY。于是我们关心的是HKEY和HANDLE转换的过程。

    85010

    WinDbg用户模式调试基础教程

    这是NtCreateFile的系统服务号。列表中显示的syscall指令用来转换到内核模式,然后执行NtCreateFile系统服务。...系统服务分发器继而使用EAX寄存器中的值作为系统服务分发表( System Service Dispatch Table,SSDT)的入口索引,代码跳转至相应的系统服务中。...当系统服务执行完毕后,线程会返回到用户模式,执行紧接着sysenter/syscall的指令。这些事件的顺序如下所示。...不管是逐过程还是逐语句,都会执行完该指令并返回结果。 在x64调用惯例下,函数的返回值保存在EAX或者RAX里。...对系统调用来说,它是一个NTSTATUS值,因此EAX中包含返回状态: 1 0:014> r eax 2 eax=0 18、单击工具栏上的 ”Break“按钮 或按Ctrl + Break键可以强制中断

    60210

    如何使用WinDiff浏览和对比Windows源代码中的符号和系统调用信息

    关于WinDiff WinDiff是一款功能强大的Windows二进制源代码安全分析与调试工具,该工具完全开源,基于Web实现其功能,可以帮助广大研究人员在不同版本的操作系统中浏览和对比Microsoft...Windows二进制文件的符号、类型和系统调用信息。...其中,WinDiff的二进制源码数据库支持自动更新,以包含来自最新Windows更新升级(包括Insider Preview)的信息。...工具运行机制 WinDiff主要由两部分组成,即一个使用Rust编写的CLI工具,和一个使用TypeScript和Next.js框架开发的Web前端。...前端遵循与ntdiff相同的原理,因为它允许浏览从某些版本的Microsoft Windows的官方Microsoft PE和PDB中提取的信息,并允许在不同版本之间比较这些信息。

    79310

    Jektor:一款功能强大的Windows用户模式Shellcode执行测试工具

    关于Jektor Jektor是一款功能强大的Windows用户模式Shellcode执行测试工具,该工具可以帮助广大研究人员了解和测试恶意软件所使用的各种不同技术。...该工具主要针对的是Shellcode注入技术,可以演示恶意软件在目标系统上执行Shellcode时所使用的技术方法,其中包括: 动态解析API函数以避免IAT包含 使用未记录的NT Windows API...Shellcode执行 在Windows上,当你想要在当前进程中创建一个新的线程,需要调用CreateThread函数,这是在一个进程中执行恶意代码或Shellcode时会使用的一个最基本的技术了。...此时,我们只需要为Shellcode分配一个内存区域,然后将Shellcode移动到分配的内存区域中,并使用指向该区域地址的指针来调用CreateThread即可。...6、通过调用未记录的NtTestAlert函数触发Shellcode Payload,该函数将清除当前线程的APC队列。 7、通过关闭当前线程和当前进程的句柄来执行清理任务。

    61010

    一种注册表沙箱的思路、实现——研究Reactos中注册表函数的实现3

    ZwEnumerateKey,使用过该函数的同学应该知道,该函数根据传入的KEY_INFORMATION_CLASS不同而查询该项不同结构体的数据。...我们写的API,往往会接受调用方传入的一些数据。如果这个数据是个很大的且没有固定结构的数据时,那么就要非常注意这个空间的大小了。...在我们重写的RegEnumKey中对用户传入的数据进行填充前,我们要先准确无误地获取数据,而用户传入的空间和大小我们不能用,因为我们不知道他对不对,于是我们要先分配一个适合大小的空间,调用NtEnumerateKey...如果调用方传了一个巨大的空间大小,我们也就分配260个WCHAR的大小。可能有人问:那么如果Class和KeyNamed的长度就是长于260呢?好问题!...Reactos系统中Class和KeyName的最大长度就是260,何来长于260的名字呢?我在我电脑上刚做了实验,将某键名改成250个1,Regedit就会报错,说名字太长。

    65230

    驱动开发:内核特征码扫描PE代码段

    老样子为了后续教程能够继续,先来定义一个lyshark.h头文件,该头文件中包含了我们本篇文章所必须要使用到的结构体定义,这些定义的函数如果不懂请去看LyShark以前的文章,这里就不罗嗦了。...pattern 用于传入一段字符串特征值(以\x开头)len 代表输入特征码长度(除去\x后的长度)base 代表扫描内存的基地址size 代表需要向下扫描的长度ppFound 代表扫描到首地址以后返回的内存地址这段代码该如何使用...则是需要定位的特征码长度,在address地址位置向下扫描128字节,找到则返回到find_address变量内。...图片如上述所示定位函数我们已经封装好了,相信你也能感受到这种方式要比使用数组更方便,为了能定位到内核PE结构我们需要使用RtlImageNtHeader来解析,这个内核函数专门用来得到内核程序的PE头部结构的...windows 10 18363如果是则执行匹配,只匹配.text也就是代码段中的数据,当遇到0xcc时则取消继续,否则继续执行枚举,程序输出效果如下所示。

    64240

    UsoDllLoader:一款功能强大的武器化特权文件写入工具

    UsoDllLoader UsoDllLoader是一款功能强大的武器化特权文件写入工具,该工具可以通过Update Session Orchestrator服务来利用Windows系统中的特权文件写入漏洞并完成对目标系统的渗透测试...除此之外,UsoDllLoader还提供了一个针对DiagHub DLL加载漏洞的利用代码,不过微软已经在v1903版本的Windows系统上修复了这个漏洞。...注意事项:这项技术目前无法在最新版本的Windows 10内部预览版中使用,也就是说,该工具目前仍然适用于主流版本的Windows 10操作系统。...这里还涉及到一个未记录在文档中的工具,这个工具名叫usoclient.exe,负责处理整个过程。...工具使用 使用1-UsoDllLoader 如需进行测试,我们可以按照下列步骤进行操作: 使用系统管理员权限,将dll拷贝至C:\Windows\System32\目录下。

    66420

    Wow64 栈回溯和模块枚举

    堆栈回溯 驱动中通常使用 RtlWalkFrameChain 来获取调用栈信息,接口如下: ULONG RtlWalkFrameChain(OUTPVOID*Callers, INULONGCount,...INULONGFlags); //Callers一个PVOID数组,保存栈中retaddr值 //Count表示数组大小 //Flags=0获取内核层栈信息,=1获取应用层栈信息 //返回值表示栈的层数...我这里要着重提的是 x86(ring3)->x64(ring0),也就是64位系统的32位程序在进行系统调用时的堆栈(称为 Wow64)。 先看看 CreateFile 的栈信息。...而 RtlWalkFrameChain(x, n, 1) 是可以完整获取到 wow64 到 nt 之前的所有应用层栈信息。如下: 00000000`7796c08a//ntdll!...NtCreateFile+0x12 75583f66 755853c4 013259e2 需要注意的是,两个 ntdll 并不一样(ntdll_77b00000 是 32 位 dll),并且 ntdll

    2.9K20

    从目录删除到SYSTEM Shell

    偶然地,我在Windows错误报告服务中使用了一个不太可能的怪癖找到了这样的路径。尽管一些Twitter用户已要求撰写文章,但技术细节既非出色也不新颖。...错误报告是使用文件系统作为临时存储创建,排队和传递的。 文件存储在的子文件夹中C:\ProgramData\Microsoft\Windows\WER。...如果该漏洞仅允许通过NtCreateFile调用删除文件FILE_NON_DIRECTORY_FILE,则可以通过打开路径来绕过该限制C:\ProgramData\Microsoft\Windows\WER...\c:\windows\system32\wermgr.exe.local文件夹,错误报告服务将使用相同的允许ACL创建目标文件夹。...然后,将重复的令牌会话ID更改为所返回的ID WTSGetActiveConsoleSessionId()。通过使用更改的令牌启动命令提示符,我们可以在会话中获取服务和执行的安全上下文。

    18.2K1312
    领券