欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创]编写Windows Kernel Shellcode

[原创]编写Windows Kernel Shellcode

网上流传的永恒之蓝漏洞利用代码中,关于内核shellcode部分,大部分都是利用APC注入的。

最近有个想法,直接利用内核代码执行权限,来写文件,于是就抄起了VS,开始写shellcode,开始以为和R3下面写shellcode一样简单..

新建个驱动的项目,按照下面修改项目的属性,然后动态获取API,再调API完成自己的功能。


// C/C++

// |-常规

// |  |-调试信息格式:程序数据库(/Zi)

// |  *-SDL检查:否(/sdl-)

// |-优化

// |  |-优化:使大小最小化(/01)

// |  |-内联函数扩展:已禁用(/0b0)

// |  |-启用内部函数:否

// |  |-优选大小或者速度:代码大小优先(/0s)

// |  *-全程序优化:是(/GL)

// |-代码生成

// |  |-基本运行时检查:默认值

// |  |-安全检查:禁用安全检查(/GS-)

// |  *-启用函数级连接:是(-Gy)

// 连接器

//  |-常规

//  |  *-启用增量连接:否(/INCREMENTAL:NO)

//  |-调试

//  |  |-生成映射文件:是(/MAP)

//  |  *-映射文件名:mapfile

//  *-  优化

//     |-引用:是(/OPT:REF)

//     |-启用COMDAT折叠:是(/OPT:ICF)

//     *-函数顺序:FunctionOrder.txt

// -[注:FunctionOrder.txt控制编译器按照指定顺序将COMDAT放到映像文件中]

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功