本文記錄 Windows NT 4.0 遠端登錄服務在處理格式錯誤請求時,導致 winlogon.exe 當機進而癱瘓整個系統的漏洞(CVE-2000-0524,MS00-040)。僅供安全研究與教學用途,嚴禁用於攻擊行為。
| 項目 | 說明 |
|---|---|
| 發布日期 | 2000 年 |
| 影響版本 | NT 4.0 Workstation / Server / Server Enterprise / Terminal Server Edition |
| 不影響 | Windows 2000 及更新版本 |
| 攻擊向量 | 已驗證用戶發送格式錯誤的遠端登錄請求 |
| 結果 | winlogon.exe 當機 → 系統掛起,需重開機恢復 |
| 來源 | Renaud Deraison (Nessus Team) / Microsoft Security Bulletin MS00-040 |
遠端登錄服務運行在 winlogon.exe 進程內。解析請求時若遇到格式錯誤的封包,會觸發未處理的例外,導致關鍵系統進程終止。因 winlogon.exe 掌管登入/登出、安全子系統,其崩潰等同系統癱瘓。
/* crash_winlogon.c * by Renaud Deraison - deraison@cvs.nessus.org * Released under GNU GPL */ #include#include #ifdef WIN32 #include #define bzero(x,y) memset(x,0,y) #else #include #include #include #define closesocket(x) close(x) #endif char *netbios_name(char *orig) { /* 將名稱轉為 NetBIOS 格式 */ ... } char *netbios_redirector() { /* 產生重導向器名稱 */ ... } char *unicode(char *data) { /* ASCII 轉 Unicode */ ... } int main(int argc, char **argv) { /* 建立 SMB 連線、協商協定、發送畸形遠端登錄請求 */ ... }
完整代碼請參考原始安全公告或 Nessus 插件原始碼。
免責聲明: 本文僅作歷史漏洞技術紀錄與防禦研究,任何惡意使用後果自負。