Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Windows NT 4.0 遠端登錄拒絕服務漏洞(MS00-040)技術分析與測試代碼

編輯:XP 系統基礎知識

本文記錄 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 掌管登入/登出、安全子系統,其崩潰等同系統癱瘓。

測試代碼節選(C,GNU GPL)

/* 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 插件原始碼。

緩解措施

  • 套用 Microsoft 官方修補程式(MS00-040)。
  • 封鎖 TCP 139/445 埠對外暴露,限制信任 IP 存取。
  • 升級至 Windows 2000 或更新版本(架構重寫已修正)。

免責聲明: 本文僅作歷史漏洞技術紀錄與防禦研究,任何惡意使用後果自負。

Copyright © Windows教程網 All Rights Reserved