Nmap

身為汽車維修新手,我可能需要花數小時的時間嘗試使用基本的工具(鐵鎚、膠帶、扳手等)來完成手邊的任務。當我徹底失敗並把我的破車拖到真正的機械師那裡時,他總會在一個巨大的工具箱裡翻找,直到拿出一個完美的小玩意,使這項工作看起來毫不費力。連接埠掃描的技術也類似。專家了解數十種掃描技術,並根據特定任務選擇合適的技術(或組合)。缺乏經驗的使用者和腳本小子, 另一方面 另一方面,嘗試用預設的 SYN 掃描解決每個問題。由於 Nmap 免費,掌握連接埠掃描的唯一障礙就是知識。那 當然比汽車行業要好,因為汽車行業可能需要很高的技能才能 確定你需要一個支柱彈簧壓縮機,那麼你仍然 必須為此付出數千美元。

(1) --> 快速掃描 100 個連接埠

nmap -T4 -F <目標IP>

(2) --> 特定連接埠掃描

sudo nmap -p 25 --script vuln,smtp-commands -sC -sV -A -O <目標IP>

(3) -- > 進階全能掃描

nmap -p- -A -T4 -sC -sV <目標IP>

超強無聲掃描

如果你擔心被防火牆或IDS偵測,可以用「隱形掃描」:

nmap -p- -A -T3 --min-rate=1000 -sS -Pn <目標IP>

掃描網路範圍

sudo nmap 10.129.2.0/24 -sn -oA tnet | grep for | cut -d" " -f5

掃描多個 IP

sudo nmap -sn -oA tnet 10.129.2.18 10.129.2.19 10.129.2.20| grep for | cut -d" " -f5
sudo nmap 10.129.2.28 -Pn -n --disable-arp-ping --packet-trace -p 445 --reason  -sV

(TCP SYN 掃描)

SYN 掃描是預設的和最受歡迎的掃描選項,這是有原因的。它可以快速執行,在不受限制性防火牆阻礙的快速網路上每秒掃描數千個連接埠。由於它從不完成 TCP 連接,因此它也相對不引人注目且隱密。 SYN 掃描可針對任何相容的 TCP 堆疊進行工作,而不是像 Nmap 的 FIN/NULL/Xmas、Maimon 和空閒掃描那樣依賴特定平台的特性。它還可以清晰、可靠地區分openclosedfiltered 州。

這種技術通常被稱為半開掃描,因為您沒有打開完整的 TCP 連線。您發送一個 SYN 資料包,就好像要打開一個真正的連接,然後等待回應。 SYN/ACK 表示連接埠正在監聽(開啟),而 RST(重設)表示非監聽。如果多次重傳後仍未收到回應,則該連接埠被標記為已過濾。如果收到 ICMP 不可達錯誤(類型 3,代碼 0、1、2、3、9、10 或 13),則該連接埠也會被標記為過濾。如果收到回應的 SYN 封包(沒有 ACK 標誌),則該連接埠也被視為開放。這可能是由於一種極為罕見的 TCP 功能(稱為同時開啟或分割握手連線)造成的(請參閱 https://nmap.org/misc/split-handshake.pdf )。

服務版本檢測

完整的連接埠掃描需要相當長的時間。要查看掃描狀態,我們可以在掃描過程中按[Space Bar] ,這將導致Nmap向我們顯示掃描狀態。

建議首先執行快速連接埠掃描,這將為我們提供有關可用連接埠的簡要概述。這會大大減少流量,這對我們來說是有利的,因為否則我們可能會被安全機制發現和阻止。我們可以先處理這些問題,並在背景執行連接埠掃描,顯示所有開放連接埠( -p- )。我們可以使用版本掃描來掃描特定連接埠的服務及其版本( -sV )。

從指定的來源連接埠執行掃描。

Nmap腳本引擎

sudo nmap 10.129.2.28 -p 25 --script banner,smtp-commands
sudo nmap 10.129.2.28 -p 80 -sV --script vuln 

類別

描述

auth

確定身份驗證憑證。

broadcast

透過廣播來發現主機的腳本以及發現的主機可以自動添加到剩餘的掃描中。

brute

執行腳本,嘗試透過使用憑證進行暴力破解來登入相應的服務。

default

使用該-sC選項執行的預設腳本。

discovery

無障礙服務的評估。

dos

這些腳本用於檢查服務是否有拒絕服務漏洞,由於它會損害服務,因此使用較少。

exploit

此類腳本嘗試利用掃描連接埠的已知漏洞。

external

使用外部服務進行進一步處理的腳本。

fuzzer

這使用腳本透過發送不同的欄位來識別漏洞和意外的資料包處理,這可能需要很長時間。

intrusive

可能對目標系統產生負面影響的侵入性腳本。

malware

檢查某些惡意軟體是否感染了目標系統。

safe

不執行侵入性和破壞性存取的防禦腳本。

version

服務檢測的擴展。

vuln

識別特定的漏洞。

Debug

Tcpdump 傳輸控制包

PikachuN@htb[/htb]$ sudo tcpdump -i eth0 host 10.10.14.2 and 10.129.2.28

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

Tcpdump – 攔截流量

Service Enumeration 服務枚舉

18:28:07.128564 IP 10.10.14.2.59618 > 10.129.2.28.smtp: Flags [S], seq 1798872233, win 65535, options [mss 1460,nop,wscale 6,nop,nop,TS val 331260178 ecr 0,sackOK,eol], length 0
18:28:07.255151 IP 10.129.2.28.smtp > 10.10.14.2.59618: Flags [S.], seq 1130574379, ack 1798872234, win 65160, options [mss 1460,sackOK,TS val 1800383922 ecr 331260178,nop,wscale 7], length 0
18:28:07.255281 IP 10.10.14.2.59618 > 10.129.2.28.smtp: Flags [.], ack 1, win 2058, options [nop,nop,TS val 331260304 ecr 1800383922], length 0
18:28:07.319306 IP 10.129.2.28.smtp > 10.10.14.2.59618: Flags [P.], seq 1:36, ack 1, win 510, options [nop,nop,TS val 1800383985 ecr 331260304], length 35: SMTP: 220 inlane ESMTP Postfix (Ubuntu)
18:28:07.319426 IP 10.10.14.2.59618 > 10.129.2.28.smtp: Flags [.], ack 36, win 2058, options [nop,nop,TS val 331260368 ecr 1800383985], length 0

The first three lines show us the three-way handshake. 前三行向我們展示了三次握手。

1.

[SYN]

18:28:07.128564 IP 10.10.14.2.59618 > 10.129.2.28.smtp: Flags [S], <SNIP>

2.

[SYN-ACK]

18:28:07.255151 IP 10.129.2.28.smtp > 10.10.14.2.59618: Flags [S.], <SNIP>

3.

[ACK]

18:28:07.255281 IP 10.10.14.2.59618 > 10.129.2.28.smtp: Flags [.], <SNIP>

最后更新于

这有帮助吗?