R0Ak:一款针对Windows 10的内核模式代码读取、写入和执行的测试工具

限定前提:

1.读取:一次只能读取4GB数据;

2.写入:一次只能写入32位长度的数据;

3.履行:函数的履行只能接管1个标量参数;

很显着,我们可以使用其它的编程手段或措施来绕过这些限定

对付钻研职员来说,本日先容的这款对象就相称于他们的“瑞士军刀”,由于这款名叫R0ak的敕令行对象可以赞助钻研职员在Windows 10操作系统上读取、写入和履行随意率性代码,用于进一步测试

r0ak

r0ak是一款Windows平台下的敕令行对象,它可以赞助我们在敕令行界面下轻松读取、写入和履行内核模式代码,而且除了治理员权限之外,不必要其他额外的器械

快速应用

r0akv1.0.0 — Ring 0 Army Knife

http://www.github.com/ionescu007/r0ak

Copyright(c) 2018 Alex Ionescu [@aionescu]

Home

USAGE:r0ak.exe

[–execute module.ext!function> ]

[–writemodule.ext!function>]

[–readmodule.ext!function>]

根基架构:

支持的敕令

在应用–execute选项时,这个功能和参数由用户供给

在应用–write时,必要应用一个自定义小公举来改动内核内存中随意率性位置的32字节值

在应用–read时,必要应用一个写入小公举来改动系统中HSTI缓冲区指针和大年夜小

接下来,必要应用HSTI查询API来将数据从新拷贝至对象的用户模式地址空间内

对象应用

因为对象必要应用到Windows符号引擎,以是我们必要安装Windows软件开拓套件(SDK)或Windows驱动套件(WDK),以及Windows调试对象对象安装完成后会自动查询安装路径,并应用目录中的DbgHelp.dll和SymSrv.dll,因为这些文件是无法多次应用的,是以对象中无法内置这些文件

或者说,假如你想应用你自己的代码库,你也可以改动对象的源代码

在应用符号时,必要联网,除非你在本地预先缓存好数据除此之外,你还必要设置_NT_SYMBOL_PATH变量,并指向精确的符号办事器懈弛存地址

对象限定

本对象必要应用精确的Windows 10内核变量以及函数功能,并且只能在64位操作系统上应用虽然在x86架构的操作系统上没有这些限定,然则这种平台有很多传统的措施可以应用,是以这款对象主要针对的是64位的的Windows 10必要留意的是,所有的敕令履行(包括读取和写入敕令)都必要在一个系统Worker线程(PASSIVE_LEVEL)情况下运行,是以用户模式地址不应该以参数进行通报

赞(0) 打赏
分享到: 更多 (0)
免责申明:本站所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,不保证真实性,并不承担任何法律责任

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

阿里云优惠网 更专业 更优惠

阿里云优惠券阿里云大礼包