︿
Top

1、前言

Nmap 簡單說可以掃描指定的 IP Address 或某個 IP 網段,看看該掃描網段的主機是否有開機、打開哪些 Port、開啟的服務、OS 版本及類型,您可利用此套件來對內部網路進行掃描來查看內網主機是否有開啟不正常的 Port 及相關問題。






文章目錄

1、前言
2、實作環境
3、安裝及設定
          步驟1.安裝 Nmap 套件
          步驟2.開始使用 Nmap
4、參考





2、實作環境

  • FreeBSD 5.2-RELEASE
  • nmap-3.50 





3、安裝及設定

步驟 1. 安裝 Nmap 套件

切換至 Ports Tree 路徑安裝 Nmap 套件。
cd /usr/ports/security/nmap    //切換至路徑
make install clean             //安裝套件並清除暫存檔案 




步驟 2. 開始使用 Nmap

安裝完成後您就可使用 nmap 指令配合下列介紹的參數來進行掃描測試。

TCP connect 掃描 (Port Scanning): -sT

這是對 TCP 的最基本形式的偵測,直接連到目標主機進行埠掃描並完成一個完整的三次交握過程 (SYN, SYN/ACK, ACK),但因為服務器接受了一個連接但它卻馬上斷開,於是其記錄會顯示出一連串的連接及錯誤資訊很容易被目標主電腦察覺並記錄下來,因此缺點是容易被目標系統檢測到。


TCP SYN (半公開) 掃描 : -sS

這種掃描技術也叫半公開式掃描 (half-open scanning),因為它沒有完成一個完整的 TCP 連接三次交握過程。此方法為向目標 Port 發送一個 SYN 封包,如果目標 Port 回應 SYN / ACK 封包則表示該 Port 處於打開狀態;若回應的是 RST / ACK 封包則表示該 Port 為關閉狀態。這種掃描方法比 TCP Connect Scan 更具隱蔽性,只有極少數的網站會對它作出記錄因此比較不會在目標系統中留下掃描痕跡。

Stealth FIN、Xmas Tree 或 NULL 秘密掃描 (Stealth Scanning) : -sF -sX -sN

一些防火墻及 Packet 過濾裝置會在重要連接 Port 守護,半公開的 SYN 封包掃描會在此時會被截獲因此要有更秘密的進行掃描;而 FIN、Xmas、NULL 掃描方法則是關閉的連接埠會對你送出的探測資訊包返回一個 RST,而打開的連接埠則對其忽略不理可參考 RFC793,其中 FIN 掃瞄使用空的 FIN 資訊包作為探針、Xmas tree 使用 FIN、URG、PUSH 標記、Null 掃描則不用任何標記,但微軟不支援此一標準,所以 -sF,-sX,-sN 的掃瞄顯示所有連接埠都是關閉的但一個 SYN(-sS) 掃瞄卻顯示有打開連接埠,那你就能大致推斷它是 WINDOWS 平台。

ICMP 掃描 (Ping Sweeping): -sP

若僅想了解網路上有哪些主電腦是開放的,你可對你指定的IP地址送出一個 ICMP 的 Echo Request 封包來偵測。但有些站台會把 ICMP 的 Echo Request 封包給關掉 (例如Microsoft.com)。在這種情況下可利用發送 TCP Ping 送一個 ACK 到目標網路上的每個主機。網路上的主機如果在線,則會返回一個 TCP RST 響應。使用帶有 Ping 掃描的 TCP Ping 選項,也就是 -PT 選項可以對網絡上指定 Port 進行掃描,它將可能通過目標邊界路由器甚至是防火牆。注意,被探測的主機上的目標 Port 無須打開,關鍵取決於是否在網路上。

TCP ftp Proxy (跳躍攻擊) 掃描 : -b (ftp relay host)

FTP Protocol 有個特點即它支持 Proxy FTP 連接 RFC 959 換句話說我們可以從 aaa.com 連接到一個 FTP 服務器 bbb.com 並且要求目標主電腦送出文件到 Internet 的 任何地方 在 1985 年這一 RFC 被寫下來後這一特性便漸漸流行,但現在的網路上我們不允許人們能夠隨意地 搶劫 一個 FTP SERVER 並請求資料到任何地方。所以在 Hobbit 於 1995 年寫下的有關這一協議缺陷時說到它可以用來從許多站台上發出事實上難以追查的信件、新聞以及攻擊性行為——填充你的硬碟,試圖使防火牆失效或者更多是煩人而無意義的騷擾。我開發出它來是為了通過一個代理 FTP 服務器察看 TCP 連接埠,這樣你可以連上一個在防火牆後的 FTP 服務器然後掃瞄它看來仿佛堵塞的連接埠(139 是很好的例子)。如果 FTP 服務器允許你讀甚至寫進某些目錄(比如 /incoming),你可以送出任意資訊到你發現打開了的連接埠(當然 nmap 不干這事)。對於你要通過 'b' 選項來使主電腦成為你的代理時,標準的 URL 格式形式是: username:password@server:port 要確定一個服務器是否易受這樣的攻擊。

UDP 掃描 (UDP Scanning): -sU

可用來確定遠端主機開放哪些 UDP Port 原理為送出零位元組的 UDP 封包到目標主機的各連接埠,如果我們收到一個 ICMP port unreachable 無法到達的回應則可確定連接埠是關閉的,否則我們可認為該埠是打開的。

作業系統識別 (OS Fingerprinting): -O

通常一個入侵者可能對某個作業系統的漏洞很熟悉,能藉由漏洞很輕易地進入此作業系統的機器。一個常見的選項是 TCP / IP 上的指紋,帶有 -O 選項決定遠端作業系統的類型。這可以和一個 Port 掃描結合使用,但不能和 Ping 掃描結合使用。 ex. nmap -sS -O www.yourserver.com

Ident 掃描 (Ident Scanning):-I

一個攻擊者常常尋找一台對於某些執行程序存在漏洞的電腦。例如一個以 root 在 run 的 WEB Server。如果目標主機運行了 identd 一個攻擊者使用 Nmap 通過 -I 選項的 TCP 連接,可以發現哪個用戶擁有 http 執行序。 ex. nmap -sT -p 80 -I www.yourserver.com





4、參考

文章標籤: