基于SMB協議的內網存活主機探測技術研究

一、 技術背景

SMB(Server Message Block)協議是Windows環境中廣泛使用的網絡文件共享協議,默認開放于445端口。由于其在Windows系統中的核心地位,SMB協議常被用作內網探測的重要切入點。本文系統介紹多種基于SMB的存活主機探測技術,幫助安全人員全面掌握內網資產發現方法。

圖1:SMB協議在Windows內網中的核心地位

二、探測方法詳解

1. Metasploit框架探測法

Metasploit提供了專業的SMB掃描模塊,可準確識別主機存活狀態及SMB版本信息。

use auxiliary/scanner/smb/smb_version
set RHOSTS 192.168.1.0/24
set THREADS 50
run

技術特點

  • 精準識別SMB版本

  • 支持大范圍IP掃描

  • 多線程加速探測

圖2:Metasploit的SMB掃描模塊執行結果

2. Nmap專業化掃描

Nmap提供多種SMB相關腳本,可深度獲取系統信息。

nmap -p445 --script smb-os-discovery 192.168.1.1-254 --open

關鍵腳本

  • smb-os-discovery.nse:獲取操作系統信息

  • smb-security-mode.nse:檢測安全配置

  • smb-enum-shares.nse:枚舉共享資源

圖3:Nmap的SMB腳本掃描示例

3. 原生系統命令探測

CMD批處理掃描
for /l %i in (1,1,254) do @(ping -n 1 -w 50 192.168.1.%i | find "TTL" && echo 192.168.1.%i >> alive.txt)
PowerShell高級掃描
# 設置腳本執行策略(如果需要)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
?
# 清空或創建輸出文件
$resultFile = "result.txt"
Clear-Content -Path $resultFile -ErrorAction SilentlyContinue
?
# 掃描192.168.0.0/24網絡中的445端口
1..254 | ForEach-Object {$ip = "192.168.0.$_"try {# 使用Test-Connection檢查IP是否可達,不使用TimeoutSeconds參數if (Test-Connection $ip -Count 1 -Quiet) {try {# 嘗試連接445端口$socket = New-Object Net.Sockets.TcpClient$socket.Connect($ip, 445)$status = "$ip`t445`tOpen"Write-Output $status$status | Out-File -Append $resultFile$socket.Close()} catch {$status = "$ip`t445`tClosed"Write-Output $status$status | Out-File -Append $resultFile}} else {$status = "$ip`t445`tUnreachable"Write-Output $status$status | Out-File -Append $resultFile}} catch {$status = "$ip`t445`tError: $_"Write-Output $status$status | Out-File -Append $resultFile}
}
 

技術對比

方法優點缺點
CMD批處理系統原生支持準確性較低
PowerShell靈活性強需要適當權限
Telnet探測簡單直接需開啟服務

4. 綜合探測技術

推薦工作流程

  1. 使用ICMP初步掃描(快速發現)

  2. SMB端口精細確認(準確性驗證)

  3. 版本信息收集(情報獲取)

  4. 漏洞匹配分析(安全評估)

三、防御建議

  1. 網絡層防護

    • 關閉不必要的SMB服務

    • 配置防火墻規則限制訪問

    • 啟用SMB簽名功能

  2. 系統層加固

    • 及時安裝安全補丁

    • 禁用SMBv1協議

    • 配置網絡訪問控制(NAC)

  3. 監測與響應

    • 部署IDS/IPS監測掃描行為

    • 建立基線監控異常連接

    • 制定應急響應流程

四、結語

SMB協議作為Windows內網的核心服務,既是資產發現的重要入口,也是攻擊者重點利用的目標。安全人員應當全面掌握相關探測技術,同時做好相應防護措施。本文介紹的方法各有特點,在實際環境中可根據需求組合使用,建議在授權范圍內進行測試,并做好操作日志記錄。

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

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

相關文章

IDEA21中文亂碼解決辦法

我改了很多,可能也改了一些沒用的 1.在VM options中添加-Dstdout.encodingUTF-8 -Dstderr.encodingUTF-8 2.IDEA 控制臺輸出設置為 UTF-8 打開 IDEA → File → Settings(或 CtrlAltS) 搜索 "Encoding" 設置 Project Encoding 和…

時序數據庫概念及IoTDB特性詳解

一、數據庫管理系統概述 數據,如同空氣般普遍存在于我們的數字生活中,每一次點擊手機都可能產生并記錄數據。這些數據被存儲在數據庫中,而數據庫實質上是“數據的集合”。數據庫管理系統(DBMS)則負責這些“數據容器”…

leetcode:263. 丑數(python3解法,數學相關算法題)

難度:簡單 丑數 就是只包含質因數 2、3 和 5 的 正 整數。 給你一個整數 n ,請你判斷 n 是否為 丑數 。如果是,返回 true ;否則,返回 false 。 示例 1: 輸入:n 6 輸出:true 解釋&am…

RK3568筆記八十五:LVGL播放AVI視頻

若該文為原創文章,轉載請注明原文出處。 最近有個需求,需要播放視頻,但使用的框架是LVGL顯示,所以了解了下LVGL怎么實現播放視頻。 目前了解到的方法有兩種: 一、使用ffmpeg方式,此方法適用于大部分視頻 二、使用opencv方式,此方法適用于大部分視頻 三、使用woshin…

stm32使用定時器PWM

1、定時器TIM PSC-Prescaler-預分頻器 CNT-Counter-計數器 ARR-Auto Reload Register-自動重裝寄存器 RCR-Repetition Counter Register-重復計數器 1、時鐘來源:晶振提供頻率,時鐘樹這些才提供時鐘 分頻系數 計數 3、實例 上面展示了假設使用外部石英晶振提供32.76…

2.3 Windows Vcpkg+MSVC編譯FFmpeg 4.4.1

一、vcpkg安裝ffmpeg 4.4.1 vcpkg的使用可以參考之前的文章:vcpkg 使用 1.1 查看vcpkg中的ffmpeg版本 查看庫的版本:vcpkg.io 1.2 vcpkg.json文件解析 創建vcpkg.json文件: {"builtin-baseline": "984f9232b2fe0eb94f…

docker -v 之后docker cp報錯

問題 我現在在本地已經可以正確運行這個文本糾錯接口了,使用了-v 掛載,,當我使用docker cp時,報錯了Error response from daemon: unlinkat /app/pycorrector/.git/objects/pack/pack-xxxxxx.pack: device or resource busy&…

10人團隊SolidWorks云桌面服務器怎么連接

在當今數字化設計領域,SolidWorks作為主流的三維CAD軟件,對硬件性能要求較高。 對于10人團隊共享使用場景,云桌面服務器方案能有效解決硬件成本高、協作效率低等問題,這需從硬件選型、網絡架構、云桌面平臺部署、軟件授權管理及用…

從源碼角度了解Elasticsaerch(分布式協調排序、深分頁問題)

引文 Elasticsearch基于Lucene所以很多系統實現都在其中,所以可以先看看Lucene的實現: https://blog.csdn.net/qq_35040959/article/details/147931034 項目組件 不像Kafka這種頂級項目核心性能組件全自己實現,ELK中有很多引用至第三方開放庫; 網絡模型-Netty 網絡模型多重…

共讀AI新圣經-深度學習讀書筆記01

提示:本文是我參加datawhale活動的讀書筆記,這是第一章的閱讀筆記 文章目錄 前言一、深度學習能做什么?二、教學案例總結 前言 隨著大數據和算力的大幅提升,基于數據學習的解決方案正取代基于人工設計的解決方案 提示&#xff1a…

Android項目資源字符串內容多語言對齊工具 Python

Android項目資源字符串內容多語言對齊工具: #!/usr/bin/env python3import re from dataclasses import dataclass, field from typing import Optional, Dict, List from pathlib import Path import tkinter as tk from tkinter import filedialog, messageboxda…

創客匠人分享:知識變現時代的創始人 IP 打造路徑

當知識付費市場規模突破千億,創始人 IP 已成為知識變現的 “流量引擎”。創客匠人結合陳雷教授的實戰經驗,拆解創始人 IP 從 0 到 1 的打造路徑,為內容創業者提供從流量引流到商業變現的全鏈路思路。 一、破局認知:IP 打造的核心…

【數據分析五:Feature Engineering】特征工程

一、特征工程定義 在數據預處理以后(或者數據預處理過程中),如何從數據中提取有效的特征,使這些特征能夠盡可能的表達原始數據中的信息,使得后續建立的數據模型能達到更好的效果,就是特征工程所要做的工作…

標桿確立!永洪科技位于IDC報告Data Analytics領域象限排頭位!

近日,全球知名市場研究機構IDC發布的《數據管理分析與生成式AI發展趨勢及最佳實踐》報告,為正處于數字化轉型深水區的企業描繪了清晰的技術演進藍圖。在這幅權威繪制的產業圖譜中,“Data Analytics”(數據分析)作為連接…

啟動tomcat控制臺日志出現亂碼

當我們啟動tomcat控制臺日志出現亂碼怎么辦? 解決方案: 在tomcat根目錄中config文件夾下將log.properties文件中將默認控制臺日志輸出編碼UTF修改成GBK或者GB2312都可以。 java.util.logging.ConsoleHandler.encoding UTF-8 修改為: j…

【橘子的AI | 每日一課】Day4!機器學習 (ML) 基礎

機器學習 (ML) 基礎介紹 一、機器學習的定義 從廣義上來說,機器學習是一種能夠賦予機器學習的能力以此讓它完成直接編程無法完成的功能的方法。但從實踐的意義上來說,機器學習是一種通過利用數據,訓練出模型,然后使用模型預測的…

【C語言】藥店藥品管理系統 -丨完整源碼與實現解析

系統概述 這是一個功能完善的藥店藥品管理系統,使用C語言開發,基于鏈表數據結構實現。系統提供藥品信息的增刪改查、排序和持久化存儲功能,適用于藥店日常藥品管理工作。 數據結構設計 #define MAX_NAME_LEN 50 #define MAX_ID_LEN 20 #de…

sass-loader與webpack版本沖突解決方案

#npm i 錯誤解決記錄# 最開始錯誤 :拉取代碼,增加依賴時,報錯 問題: 在安裝sass-loader10.1.1時,發現與現有的webpack版本有沖突。 當前項目已經安裝了webpack4.28.4(通過peer dependency requirements f…

常見誤區解讀之三:超融合只適合外圍/輕量業務場景,無法承載數據庫等關鍵業務?

作者:SmartX 金融團隊 祝志剛 在前兩期“超融合常見誤區解讀”中,我們分別解讀了如何以超融合建云并進行大規模部署。而對于生產業務場景,部分行業用戶和業界人士可能還會有這樣的認知: “超融合管理簡單、成本也低,…