為什麼 nmap 會報告這些 samba 連接埠開啟?

為什麼 nmap 會報告這些 samba 連接埠開啟?

我有一個運行 Linux 的 AWS 伺服器。當我netstat -lntp從機器本身執行 an 操作時,它顯示了一些打開的連接埠(如預期),但它沒有顯示 445 或 139。此外,當我列出正在運行的進程並 grep forsmb或 時samba,它顯示沒有任何運行。

查看伺服器的防火牆規則,我發現它只允許連接埠 80 和 22 上的入站流量。

問題是,當我nmap從網路外部執行 an 操作時,它顯示連接埠 139 和 445 已關閉。這是為什麼?我的理解是“關閉”意味著防火牆允許封包通過到伺服器,但連接埠上沒有任何監聽。為什麼防火牆允許流量通過?

答案1

我的理解是“關閉”意味著防火牆允許封包通過到伺服器,但連接埠上沒有任何監聽。為什麼防火牆允許流量通過?

「關閉」表示 nmap 收到了一個 TCP RST 封包,這確實是當連接埠上沒有任何監聽時 IP 主機應該做出的回應。

然而,nmap 不知道該 Reset 封包是否來自實際主機,或者是否來自實際主機。被防火牆欺騙一路上。 (許多防火牆確實配置為明確拒絕連線嘗試,而不是悄悄地忽略它們;這可以避免客戶端長時間逾時。)

  • 可能是您的伺服器的防火牆使用reject with tcp-reset或類似的。

  • 也可能是您正在掃描的網絡配置為阻止所有出站 SMB 連線作為安全措施(例如,防止工作站與惡意伺服器進行 NTLM 對話),並且它會產生「RST」。

  • 甚至可能是互聯網服務供應商您正在掃描的伺服器(或您的伺服器所在的 ISP)正在阻止其 WAN 上的 SMB 連接,以防止可能的惡意軟體傳播(例如舊的 Conficker 蠕蟲病毒)。

如果使用 tcpdump 查看封包,由中間件欺騙的 RST 對伺服器來說當然是不可見的(因為伺服器沒有發送它),並且這樣的封包可能與伺服器產生的真實回應有可疑的不同 TTL。


用於nmap --reason查看為什麼它顯示特定狀態。請注意,即使 nmap 認為 TCP RST 表示「關閉」(因為主機不接受連接),但其他一些工具實際上將其稱為「開放」(認為防火牆允許封包通過)。

相關內容