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