无耻的驱动加载法 (ZT)
Abstract Keywords
Citation Yao Qing-sheng.无耻的驱动加载法 (ZT).FUTURE & CIVILIZATION Natural/Social Philosophy & Infomation Sciences,20240324. https://yaoqs.github.io/20240324/wu-chi-de-qu-dong-jia-zai-fa-zt/
转载自 无耻的驱动加载法 (ZT)
无耻的驱动加载法 from : http : //www.debugman.com/read.php?tid=614
方法一: 替换 win32k . sys
在 2k3 的系统下 ZwSetSystemInformation 禁止了用户模式下加载驱动,只允许 SMSS . exe 加载 win32k . sys。于是我们可以利用一下这个特点:
1. 注入 SMSS . EXE
2. 打开 SeLoadDriverPrivilege 权限
3. 把原始的 win32k . sys 改名
4. 复制我们的驱动到 \systemroot\system32 下
5. 在 SMSS . EXE 中加载 \SystemRoot\System32\win32k . sys
6. 把 \SystemRoot\System32\win32k . sys 改名
7. 把原始的 win32k . sys 文件改名改回去 `
方法二: 利用第三方驱动程序的漏洞
这类驱动应该挺多的,我们可以选择一些装机量大的驱动来进行此项工作,如某某著名的杀毒软件即存在本地权限提升漏洞。。。获得了 ring0 权限再用 ZwSetSystemInformation 加载就万事大吉了
方法三: 感染随系统启动的驱动程序
此法类似于病毒感染,但需要等到下次系统重启才能拿到控制权,需要一些 PE 知识,这个我就不多说了。
这里顺便再说说通过 ZwSetSystemInformation 其实也是可以建立 Device 的,由于 ZwSetSystemInformation 加载驱动时传给 DriverEntry 的 DriverObject 指针是错误的,因此我们不能用它来创建 Device, 但我们可以自己分配一个 DriverObject 来创建,如下:
1 | NTSTATUS DriverEntry (IN PDRIVER_OBJECT DriverObject , IN PUNICODE_STRING RegistryPath) { |
如果你高兴的话在分配空间的时候分配多一点,把 OBJECT_HEADER 也算上,这样可以避免某些软件扫描 DriverObject 的对象头时挂掉。相应的用 CreateFile 时打开时应像这样指定 “\\ . \Global\SymbolLink” 还有哪些无耻的办法大家可以讨论一下 `
Address:Department of Natural/Social Philosophy & Infomation Sciences, CHINA
Biography...
转载或引用本文时请遵守许可协议,注明出处、不得用于商业用途!
Like this article? Support the author with