Novirusthanks kernel mode driver loader
Author: Z | 2025-04-24
NoVirusThanks Kernel-Mode Driver Loader (portable) v1.1.0.0 NoVirusThanks Kernel-Mode Driver Loader can quickly load or unload a kernel mode driver in Windows. This version is portable. 28 - NoVirusThanks Kernel-Mode Driver Loader Portable 1.2.0.0 NoVirusThanks Kernel-Mode Driver Loader Portable : Test various kernel-mode drivers for potential debug errors while
NoVirusThanks Kernel-Mode Driver Loader
The driver, runPTEditorLoader.exe --unloadAlternatively, you can also use any other driver-loading tool, e.g., OSRLoader or NoVirusThanks Kernel-Mode Driver Loader.Install Kernel Part From SourceLinuxBuilding the kernel module requires the kernel headers of the kernel. On Ubuntu, they can be installed by runningsudo apt install linux-headers-$(uname -r)Both the library and the the kernel module can be build by runningThe resulting kernel module can be loaded usingsudo insmod module/pteditor.koWindowsThe kernel driver for Windows requires Visual Studio with Visual C++, the Windows SDK, and the Windows Driver Kit (WDK) to build.Using the Visual Studio project, the driver can then simply be built from Visual Studio.RequirementsThe library requires a recent Linux kernel (continuously tested on the current kernel for Ubuntu 16.04 (kernel 4.15), 18.04 (kernel 5.3), and 20.04 (kernel 5.8)) or Windows 10.It supports both x86_64 and ARMv8.The library does not rely on any other library. It uses only standard C functionality.On Linux, the library does not require root privileges, whereas on Windows it requires administrator privileges.TestTo test whether the kernel part and the library works, the repository contains unit tests.The tests are found in the folder test and can be compiled with make (Linux) or Visual Studio (Windows).ExampleThe basic functionality (ptedit_init and ptedit_cleanup) is always required.After the initialization, all functions provided by the library can be used.For examples see example.c or the examples in the demo folder.The demo folder contains multiple examples:memmap: Starting from the root of paging, the demo iterates through all page tables of all levels and dumps the contents of the entries.map_pt: A Rowhamer exploit simulation, which maps the page table to a user-accessible address for manipulation.uncachable: This demos manipulates the memory type of a mapping to uncachable and back to cachable.nx: After setting a function to non-executable, it uses the page tables to make the function executable again.virt2phys: Converts a Driver inside itself. One thing worth to mention: the author employed a small trick in an attempt for anti-static analysis during this unpacking process. He first hooks an imported API in the IAT of current driver with the unpacking routine, then call that API, and because that API address in the IAT has been modified already, the execution is transferred to the real decompressing procedure. When an analyst uses static analysis (e.g IDA disassembly) he could miss the unpacking routine. In the sample I analyze, the hooked API is RtlAppendAsciizToString. Figure 3. TDL3 kernel mode dropper anti-static analysis: IAT self hooking At the end of this stage, the loader performs the PE mapping against the unpacked driver over an NonpagedPool and finally jumps to that new zone, begins its second stage of kernel mode infection. II.4 The second kernel mode dropper stage: Infecting & storing rootkit’s code The real deal lies in the “freshly baked” codes. It does various things to survive the rootkit reboot, but the most important and interesting parts are: o Infecting miniport driver o Survive-reboot strategy o Direct read/write to hard disk using SCSI class request II.4. 1 Infecting driver The infector first queries the device object responsible with partition0 on the hard disk device which the “\systemroot” is linked/installed on. It’s convinient for the rootkit to retrieve the last miniport driver object and the name of the driver’s binary file via that device object. For example, in my analysis, name of the driver is “atapi” while “\systemroot\system32\drivers\atapi.sys” is going to be infected. The infecting algorithm isn’t complicated, it overwrites the data of “.rsrc” section of victim driver with 824 bytes instead of kidnapping the whole driver like others did (e.g Rustock.C), so that size of the infected file isn’t changed before and after the infectionDownload NoVirusThanks Kernel-Mode Driver Loader by NoVirusThanks
A small library to modify all page-table levels of all processes from user space for x86_64 (Linux and Windows 10) and ARMv8 (Linux).It also allows to read and program memory types (i.e., PATs on x86 and MAIRs on ARM).InstallationThe library relies on the pteditor kernel module (Linux) or kernel driver (Windows). The kernel part is provided as source code for compilation (Linux and Windows), PPA (Linux), and as pre-built binary (Windows).The library can be used by linking it to the application (see example.c) or as a single header (ptedit_header.h) which can be directly included (see the demos).Install from PPA (Linux, recommended)First, add the public key of the PPA and the PPA URL to the package manager, and update the package managercurl -s " | sudo apt-key add -sudo curl -s -o /etc/apt/sources.list.d/misc0110.list " apt updateThen, simply install the kernel modulesudo apt install pteditor-dkmsPre-Built Driver (Windows, recommended)The repository also contains a pre-built driver for Windows 10 in the driver folder.To load the driver, you have to first disable secure boot and driver signature enforcement.Temporarily Disable Driver Signature EnforcementHold the shift key while clicking on "Restart" in the start menu. This brings up a restart menu, where you can disable driver signature enforcement in "Troubleshoot > Advanced Options > Startup Settings". Press "Restart", and the in the startup settings press "7" or "F7" to disable driver signature enforcement.After the PC is started, the driver can be loaded. Keep in mind that the driver signature enforcement is enabled when the PC is rebooted.Permanently Disable Driver Signature EnforcementTo permanently disable driver signature enforcement, enable Windows test mode by enteringbcdedit /set testsigning onin an administrator command prompt. To disable test mode, runbcdedit /set testsigning offLoading the DriverTo load and active the driver, the repository contains a loader in driver/PTEditorLoader. Simply runas an administrator. To unload. NoVirusThanks Kernel-Mode Driver Loader (portable) v1.1.0.0 NoVirusThanks Kernel-Mode Driver Loader can quickly load or unload a kernel mode driver in Windows. This version is portable. 28 - NoVirusThanks Kernel-Mode Driver Loader Portable 1.2.0.0 NoVirusThanks Kernel-Mode Driver Loader Portable : Test various kernel-mode drivers for potential debug errors whileNoVirusThanks Kernel-Mode Driver Loader v1.1.0.0
Part of the dropper. After changing the characteristics, the dropper registers the malicious DLL file as an Print Processor which is named “tdl” by calling winspool API AddPrintProcessorA(). Internally, this API will issue an RPC call to the Printing Subsystem hosted by spoolsv.exe process and force spoolsv.exe to load the Print Processor DLL remotely. In this case, spoolsv.exe will execute the DLL version of the dropper copied inside the Print Processor directory inside the context of spoolsv.exe process. In fact, spoolsv.exe is usually a system-trusted process to almost personal firewalls hence the malicious DLL has the permission to do anything to the system without neither any notification nor alarm to the users. Although this is a pretty cool method to remotely load and execute a malicious DLL into another trusted process, it has some limitations too. First, the caller must have SeLoadDriverPrivilege and second, it has to be able to write file to Print Processor directory. Moreover, when an application tries to acquire the SeLoadDriverPrivilege, some personal firewall will notify the user about that suspectious behaviour. Anyway, due to the fact that most of users aren’t technical aware and always log in with Administrator privilege, I guess the successful installation rate isn’t affected seriously by these aforementioned obstacles. Figure 2. TDL3 user-mode dropper: Bypassing personal firewall mechanism Back to the dropper, after being loaded into spoolsv.exe, the malicious DLL drops a driver and begins its second stage infection in kernel space by calling NtLoadDriver() directly. II.3 The first kernel mode dropper stage: Unpacking Now the battlefield takes place in kernel mode. The dropped driver loaded by spoolsv.exe is actually a loader for another embedded kernel codes. From the its DriverEntry(), the driver allocates kernel pool heap to copy the compressed data to and employs aPlib to unpack the real rootkit What's new in this version: - VMM: Fixed guru running the FreeBSD loader on older Intel CPUs without unrestricted guest support- GUI: Fixed virtual machines grouping when VM was created or modified in command line- GUI: Introduced generic changes in settings dialogs- VirtioNet: Fixed broken network after loading saved state- Storage: Added support for increasing the size of the following VMDK image variants: monolithicFlat, monolithicSparse, twoGbMaxExtentSparse, twoGbMaxExtentFlat- VBoxManage: Added missing --directory switch for guestcontrol mktemp command- Mouse Integration: Guest was provided with extended host mouse state- DnD: Introduced generic improvements- Guest Control: Fixed handling creation mode for temporary directories- Linux Host and Guest: Added initial support for building UEK7 kernel on Oracle Linux 8- Linux Host and Guest: Added initial support for RHEL 9.1 kernel- Windows Host: Fixed support for VM autostart- Linux Guest Additions: Added initial support for kernel 6.2 for vboxvideo- Audio: The "--audio" option in VBoxManage is now marked as deprecated; please use "--audio-driver" and "--audio-enabled" instead. This will allow more flexibility when changing the driver and/or controlling the audio functionalityNoVirusThanks Kernel-Mode Driver Loader Download
#Hp 2000 wireless driver download download for windows #Hp 2000 wireless driver download install #Hp 2000 wireless driver download drivers #Hp 2000 wireless driver download update #Hp 2000 wireless driver download for windows 10 Once you have the firmware loader in place (or if you aren't sure and you just want to try things to see if it works), you need to install the firmware file into the appropriate location. The steps for installing and configuring this are very distribution specific and the tools differ, but distributions have this enabled. In addition to having the firmware_class support in your kernel, you must also have a working userspace infrastructure configured. Also, wireless adapter of ralink is there in many models of hp pavilion. The Native 802.11 Wireless LAN interface was superseded in Windows 10 and later by the WLAN Universal Driver Model (WDI). But notable thing is a 23-inch all-in-one with. To access the design guide and reference topics for Native 802.11 Wireless LAN drivers, see Native 802.11 Wireless LAN. #Hp 2000 wireless driver download for windows 10 You can determine if your kernel currently has firmware loader support by looking for the Download hp pavilion 15-br000 x360 wireless button driver 2.1.9.1 for windows 10 64-bit laptop / notebook this package provides the driver for the hp wireless button on supported models running a supported operating system. Do check the name and bit of the operating system. When you configure the kernel, you can find this option in the following location: Search for the device driver or enter the model number in the search bar. #Hp 2000 wireless driver download download for windows In order to function correctly the driver requires this to be enabled in your kernel. Official HP 2000-2D02TU Driver Download for Windows 8, 7 - sp61409.exe (1897725). #Hp 2000 wireless driver download drivers More information can be found under in the Documentation/firmware_class/README file in the kernel source. Install HP 2000 laptop drivers for Windows 10 圆4, or download DriverPack Solution software for automatic drivers intallation and update. The driver loads the firmware using the kernel's firmware_class infrastructure. IfDownload NoVirusThanks Kernel-Mode Driver Loader by
Bus Device Driver)0x97930000 C:\Windows\System32\cdd.dll 57344 bytes (Microsoft Corporation, Canonical Display Driver)0x8E588000 C:\Windows\system32\DRIVERS\netbios.sys 57344 bytes (Microsoft Corporation, NetBIOS interface driver)0x8E556000 C:\Windows\System32\Drivers\Npfs.SYS 57344 bytes (Microsoft Corporation, NPFS Driver)0x80787000 C:\Windows\system32\DRIVERS\PCIIDEX.SYS 57344 bytes (Microsoft Corporation, PCI IDE Bus Driver Extension)0x8CD9A000 C:\Windows\system32\DRIVERS\rimmptsk.sys 57344 bytes (REDC, RICOH MMC Driver)0x8067F000 C:\Windows\system32\drivers\WDFLDR.SYS 57344 bytes (Microsoft Corporation, Kernel Mode Driver Framework Loader)0x8EB0C000 C:\Windows\System32\Drivers\crashdmp.sys 53248 bytes (Microsoft Corporation, Crash Dump Driver)0x8DC5A000 C:\Windows\system32\drivers\modem.sys 53248 bytes (Microsoft Corporation, Modem Device Driver)0x8DD76000 C:\Windows\system32\DRIVERS\umbus.sys 53248 bytes (Microsoft Corporation, User-Mode Bus Enumerator)0xB113F000 C:\Windows\system32\DRIVERS\NisDrvWFP.sys 49152 bytes (Microsoft Corporation, Microsoft Network Inspection System Driver)0xB10F1000 C:\Windows\System32\drivers\tcpipreg.sys 49152 bytes (Microsoft Corporation, TCP/IP Registry Compatibility Driver)0x8E50E000 C:\Windows\System32\drivers\vga.sys 49152 bytes (Microsoft Corporation, VGA/Super VGA Video Driver)0x8D8EE000 C:\Windows\System32\drivers\watchdog.sys 49152 bytes (Microsoft Corporation, Watchdog Driver)0x895D5000 C:\Windows\system32\DRIVERS\kbdclass.sys 45056 bytes (Microsoft Corporation, Keyboard Class Driver)0x8CC00000 C:\Windows\system32\DRIVERS\mouclass.sys 45056 bytes (Microsoft Corporation, Mouse Class Driver)0x8E54B000 C:\Windows\System32\Drivers\Msfs.SYS 45056 bytes (Microsoft Corporation, Mailslot driver)0x8DC7E000 C:\Windows\system32\DRIVERS\ndistapi.sys 45056 bytes (Microsoft Corporation, NDIS 3.0 connection wrapper driver)0x8E57D000 C:\Windows\system32\DRIVERS\point32k.sys 45056 bytes (Microsoft Corporation, Point32k.sys)0x8DC47000 C:\Windows\system32\DRIVERS\TDI.SYS 45056 bytes (Microsoft Corporation, TDI Wrapper)0x8CCC9000 C:\Windows\system32\DRIVERS\tunnel.sys 45056 bytes (Microsoft Corporation, Microsoft Tunnel Interface Driver)0x8D8FA000 C:\Windows\system32\DRIVERS\usbuhci.sys 45056 bytes (Microsoft Corporation, UHCI USB Miniport Driver)0x8071D000 C:\Windows\system32\DRIVERS\BATTC.SYS 40960 bytes (Microsoft Corporation, Battery Class Driver)0x8EBD7000 C:\Windows\System32\drivers\Dxapi.sys 40960 bytes (Microsoft Corporation, DirectX API Driver)0xB1135000 C:\Windows\system32\DRIVERS\MpNWMon.sys 40960 bytes (Microsoft Corporation, Network monitor driver)0x8DD6C000 C:\Windows\system32\DRIVERS\mssmbios.sys 40960 bytes (Microsoft Corporation, System Management BIOS Driver)0x8EA00000 C:\Windows\system32\DRIVERS\ndisuio.sys 40960 bytes (Microsoft Corporation, NDIS User mode I/O driver)0x8EA4A000 C:\Windows\system32\drivers\nsiproxy.sys 40960 bytes (Microsoft Corporation, NSI Proxy)0xB10E7000 C:\Windows\System32\Drivers\secdrv.SYS 40960 bytes (Macrovision Corporation, Macrovision Europe Limited, and Macrovision Japan and Asia K.K., Macrovision SECURITY Driver)0xB10FD000 C:\Windows\system32\DRIVERS\asyncmac.sys 36864 bytes (Microsoft Corporation, MS Remote. NoVirusThanks Kernel-Mode Driver Loader (portable) v1.1.0.0 NoVirusThanks Kernel-Mode Driver Loader can quickly load or unload a kernel mode driver in Windows. This version is portable.Downloading NoVirusThanks Kernel-Mode Driver Loader
0x41 Format Flags: 0xFFF Description: Modem #0 Line Record (emulated) Default Sound Capture: No Default Voice Capture: No Driver Name: Driver Version: Driver Attributes: Date and Size: Cap Flags: 0x20 Format Flags: 0x0-----------DirectMusic----------- DLS Path: C:\WINDOWS\SYSTEM32\drivers\GM.DLS DLS Version: 1.00.0016.0002 Acceleration: n/a Ports: Microsoft Synthesizer, Software (Not Kernel Mode), Output, DLS, Internal, Default Port MPU-401, Hardware (Kernel Mode), Input, No DLS, External MPU-401, Hardware (Kernel Mode), Output, No DLS, External VIA AC'97 Audio (WAVE), Software (Kernel Mode), Output, DLS, Internal Microsoft MIDI Mapper [Emulated], Hardware (Not Kernel Mode), Output, No DLS, Internal Microsoft GS Wavetable SW Synth [Emulated], Hardware (Not Kernel Mode), Output, No DLS, Internal MPU-401 [Emulated], Hardware (Not Kernel Mode), Output, No DLS, External MPU-401 [Emulated], Hardware (Not Kernel Mode), Input, No DLS, External Registry: OK Test Result: Not run-------------------DirectInput Devices------------------- Device Name: Mouse Attached: 1 Controller ID: n/aVendor/Product ID: n/a FF Driver: n/a Device Name: Keyboard Attached: 1 Controller ID: n/aVendor/Product ID: n/a FF Driver: n/aPoll w/ Interrupt: No Registry: OK-----------USB Devices-----------+ USB Root Hub| Vendor/Product ID: 0x1106, 0x3038| Matching Device ID: usb\root_hub| Service: usbhub| Driver: usbhub.sys, 8/4/2004 00:08:44, 57600 bytes| Driver: usbd.sys, 8/29/2002 14:00:00, 4736 bytes----------------Gameport Devices----------------+ PCI bus| Matching Device ID: *pnp0a03| Service: pci| Driver: pci.sys, 8/4/2004 00:07:48, 68224 bytes| +-+ Standard Game Port| | Matching Device ID: *pnpb02f| | Service: gameenum| | Driver: gameenum.sys, 8/4/2004 00:08:22, 10624 bytes------------PS/2 Devices------------+ Standard 101/102-Key or Microsoft Natural PS/2 Keyboard| Matching Device ID: *pnp0303| Service: i8042prt| Driver: i8042prt.sys, 8/4/2004 00:14:38, 52736 bytes| Driver: kbdclass.sys, 8/3/2004 23:58:34, 24576 bytes| +Comments
The driver, runPTEditorLoader.exe --unloadAlternatively, you can also use any other driver-loading tool, e.g., OSRLoader or NoVirusThanks Kernel-Mode Driver Loader.Install Kernel Part From SourceLinuxBuilding the kernel module requires the kernel headers of the kernel. On Ubuntu, they can be installed by runningsudo apt install linux-headers-$(uname -r)Both the library and the the kernel module can be build by runningThe resulting kernel module can be loaded usingsudo insmod module/pteditor.koWindowsThe kernel driver for Windows requires Visual Studio with Visual C++, the Windows SDK, and the Windows Driver Kit (WDK) to build.Using the Visual Studio project, the driver can then simply be built from Visual Studio.RequirementsThe library requires a recent Linux kernel (continuously tested on the current kernel for Ubuntu 16.04 (kernel 4.15), 18.04 (kernel 5.3), and 20.04 (kernel 5.8)) or Windows 10.It supports both x86_64 and ARMv8.The library does not rely on any other library. It uses only standard C functionality.On Linux, the library does not require root privileges, whereas on Windows it requires administrator privileges.TestTo test whether the kernel part and the library works, the repository contains unit tests.The tests are found in the folder test and can be compiled with make (Linux) or Visual Studio (Windows).ExampleThe basic functionality (ptedit_init and ptedit_cleanup) is always required.After the initialization, all functions provided by the library can be used.For examples see example.c or the examples in the demo folder.The demo folder contains multiple examples:memmap: Starting from the root of paging, the demo iterates through all page tables of all levels and dumps the contents of the entries.map_pt: A Rowhamer exploit simulation, which maps the page table to a user-accessible address for manipulation.uncachable: This demos manipulates the memory type of a mapping to uncachable and back to cachable.nx: After setting a function to non-executable, it uses the page tables to make the function executable again.virt2phys: Converts a
2025-03-27Driver inside itself. One thing worth to mention: the author employed a small trick in an attempt for anti-static analysis during this unpacking process. He first hooks an imported API in the IAT of current driver with the unpacking routine, then call that API, and because that API address in the IAT has been modified already, the execution is transferred to the real decompressing procedure. When an analyst uses static analysis (e.g IDA disassembly) he could miss the unpacking routine. In the sample I analyze, the hooked API is RtlAppendAsciizToString. Figure 3. TDL3 kernel mode dropper anti-static analysis: IAT self hooking At the end of this stage, the loader performs the PE mapping against the unpacked driver over an NonpagedPool and finally jumps to that new zone, begins its second stage of kernel mode infection. II.4 The second kernel mode dropper stage: Infecting & storing rootkit’s code The real deal lies in the “freshly baked” codes. It does various things to survive the rootkit reboot, but the most important and interesting parts are: o Infecting miniport driver o Survive-reboot strategy o Direct read/write to hard disk using SCSI class request II.4. 1 Infecting driver The infector first queries the device object responsible with partition0 on the hard disk device which the “\systemroot” is linked/installed on. It’s convinient for the rootkit to retrieve the last miniport driver object and the name of the driver’s binary file via that device object. For example, in my analysis, name of the driver is “atapi” while “\systemroot\system32\drivers\atapi.sys” is going to be infected. The infecting algorithm isn’t complicated, it overwrites the data of “.rsrc” section of victim driver with 824 bytes instead of kidnapping the whole driver like others did (e.g Rustock.C), so that size of the infected file isn’t changed before and after the infection
2025-04-05A small library to modify all page-table levels of all processes from user space for x86_64 (Linux and Windows 10) and ARMv8 (Linux).It also allows to read and program memory types (i.e., PATs on x86 and MAIRs on ARM).InstallationThe library relies on the pteditor kernel module (Linux) or kernel driver (Windows). The kernel part is provided as source code for compilation (Linux and Windows), PPA (Linux), and as pre-built binary (Windows).The library can be used by linking it to the application (see example.c) or as a single header (ptedit_header.h) which can be directly included (see the demos).Install from PPA (Linux, recommended)First, add the public key of the PPA and the PPA URL to the package manager, and update the package managercurl -s " | sudo apt-key add -sudo curl -s -o /etc/apt/sources.list.d/misc0110.list " apt updateThen, simply install the kernel modulesudo apt install pteditor-dkmsPre-Built Driver (Windows, recommended)The repository also contains a pre-built driver for Windows 10 in the driver folder.To load the driver, you have to first disable secure boot and driver signature enforcement.Temporarily Disable Driver Signature EnforcementHold the shift key while clicking on "Restart" in the start menu. This brings up a restart menu, where you can disable driver signature enforcement in "Troubleshoot > Advanced Options > Startup Settings". Press "Restart", and the in the startup settings press "7" or "F7" to disable driver signature enforcement.After the PC is started, the driver can be loaded. Keep in mind that the driver signature enforcement is enabled when the PC is rebooted.Permanently Disable Driver Signature EnforcementTo permanently disable driver signature enforcement, enable Windows test mode by enteringbcdedit /set testsigning onin an administrator command prompt. To disable test mode, runbcdedit /set testsigning offLoading the DriverTo load and active the driver, the repository contains a loader in driver/PTEditorLoader. Simply runas an administrator. To unload
2025-04-08Part of the dropper. After changing the characteristics, the dropper registers the malicious DLL file as an Print Processor which is named “tdl” by calling winspool API AddPrintProcessorA(). Internally, this API will issue an RPC call to the Printing Subsystem hosted by spoolsv.exe process and force spoolsv.exe to load the Print Processor DLL remotely. In this case, spoolsv.exe will execute the DLL version of the dropper copied inside the Print Processor directory inside the context of spoolsv.exe process. In fact, spoolsv.exe is usually a system-trusted process to almost personal firewalls hence the malicious DLL has the permission to do anything to the system without neither any notification nor alarm to the users. Although this is a pretty cool method to remotely load and execute a malicious DLL into another trusted process, it has some limitations too. First, the caller must have SeLoadDriverPrivilege and second, it has to be able to write file to Print Processor directory. Moreover, when an application tries to acquire the SeLoadDriverPrivilege, some personal firewall will notify the user about that suspectious behaviour. Anyway, due to the fact that most of users aren’t technical aware and always log in with Administrator privilege, I guess the successful installation rate isn’t affected seriously by these aforementioned obstacles. Figure 2. TDL3 user-mode dropper: Bypassing personal firewall mechanism Back to the dropper, after being loaded into spoolsv.exe, the malicious DLL drops a driver and begins its second stage infection in kernel space by calling NtLoadDriver() directly. II.3 The first kernel mode dropper stage: Unpacking Now the battlefield takes place in kernel mode. The dropped driver loaded by spoolsv.exe is actually a loader for another embedded kernel codes. From the its DriverEntry(), the driver allocates kernel pool heap to copy the compressed data to and employs aPlib to unpack the real rootkit
2025-04-08