880 likes | 1.13k Views
Module 4 :網路掃描技術實習. 學習目的. 隨著網路的日益普及,如何維護網路主機的安全已經成為一個重要的課題。透過本章節的學習,了解網路掃描的原理與應用,進而增加主機本身安全性 本模組共有六個小節包括 (1) 網路掃描技術簡介 (2) 網路掃描技術及流程 (3) 網路掃描的防禦對策 (4) 網路掃描工具介紹 (5) 網路掃描的實務 (6) 網路掃描的專案實作 共須三個鐘點. 4- 2. Module 4 :網路掃描技術實習. Module 4-1 :網路 掃描 技術簡介 (*)
E N D
學習目的 • 隨著網路的日益普及,如何維護網路主機的安全已經成為一個重要的課題。透過本章節的學習,了解網路掃描的原理與應用,進而增加主機本身安全性 • 本模組共有六個小節包括 (1)網路掃描技術簡介 (2)網路掃描技術及流程 (3)網路掃描的防禦對策 (4)網路掃描工具介紹 (5)網路掃描的實務 (6)網路掃描的專案實作 共須三個鐘點 4-2
Module 4:網路掃描技術實習 • Module 4-1:網路掃描技術簡介(*) • Module 4-2:網路掃描技術及流程(*) • Module 4-3:網路掃描的防禦對策(**) • Module 4-4:網路掃描工具介紹(**) • Module 4-5:網路掃描的實務(*) • Module 4-6:網路掃描的專案實作(**) * 初級(basic):基礎性教材內容 **中級(moderate):教師依據學生的吸收情況,選擇性介紹本節的內容 ***高級(advanced):適用於深入研究的內容 4-3
簡介 • 隨著網路的發展與普及,許多攻擊與威脅行為便伴隨著出現,故網路掃描成為網路安全項目中的重要技術之一 • 網路掃描技術是由大量的網路資料中找尋所需要的資訊,例:在網路環境中根據登入者、網域或聯絡人對目標主機展開查詢與掃描的工作 • 網路掃描技術除了被用於網路管理,亦被惡意的攻擊者當成入侵行為的探測工具 4-5
簡介 (續) • 網路掃描技術是一種檢測遠端目標網路與本端主機安全性的技術。系統管理員透過掃描技術,可以輕易的發現網段中各種TCP/IP port的分配與上線狀態、使用者所開放的服務、服務軟體的版本及作業系統版本,上述資訊便可能透露出目標主機所存在的安全問題 4-6
網路掃描技術簡介 • 網路掃描技術主要可分為下列步驟 • 使用ping掃描,了解主機上線情形 • 針對搜尋到的主機或網段做資料蒐集,包括port掃描、作業系統掃描、被防火牆保護的遠端資料及監看該系統處於監聽或運行的服務 • 根據得到資訊進行目標系統的分析與檢測 4-7
網路掃描技術及流程簡介 • 網路掃描技術的操作流程 • ping掃描 • 探測主機的上線狀態 • port掃描 • 探測主機port開啟狀態 • 作業系統辨識 • 探測主機作業系統類型
ping掃描 • 常見的ping掃描手法 • ICMP Echo掃描 • 透過向目標主機發送ICMP Echo Request 封包,等待ICMP Echo Reply的封包 • ICMPSweep掃描 • 使用ICMP Echo Request 封包一次探測多個目標主機,適用於大範圍的評估 • Broadcast ICMP掃描 • 利用ICMP廣播探測網路範圍內的主機,網路中的上線主機將會予以回應。但此種掃描僅適用於UNIX/Linux系统 4-10
port掃描 • 分析port所提供的服務與其他資訊 • 並不提供進入系統的相關功能 • port掃描技術主要可分為: • TCP掃描 • 全連接掃描技術 • 半連接掃描技術 • UDP掃描 4-11
TCP掃描 - 全連接掃描技術 • 透過掃描工具中TCP Connect()Scan的功能,掃描主機嘗試透過TCP/IP的三方交握(Three Way Handshaking)與目標主機的指定port建立連結 • TCP封包有控制旗標位元(Code bits),可以決定封包的類型,可產生包括URG、ACK、PSH、RST、SYN及FIN類型的封包 針對目標主機送出SYN類型封包的全連接掃描 4-12
TCP掃描 - 半連接掃描技術 • 半連接掃描的操作中,和目標主機的port建立連接後,僅完成了前兩次握手,在第三步時,掃描主機中斷了本次連接,使連接沒有完全建立起來 • 相較於全連接掃描技術,半連接掃描嘗試進行連線的記錄較少,操作速度也較快 • 安全機制較不嚴謹的目標主機,亦不容易留下掃描記錄 送出TCP-SYN封包的半連接掃描 4-13
UDP掃描 • 隨著防火牆設定日益嚴格,TCP port並不輕易開放,取而代之的就是UDP掃描 • 相較於TCP掃描,UDP掃描執行時間較長,掃描的精準度也較低 • UDP掃描操作步驟為 • 向UDP port發送封包 • 若port為開啟,則不會有任何回應 • 若port為關閉,則會回應ICMP port unreachable的封包 4-14
作業系統辨識 • 透過每個作業系統間處理TCP/IP堆疊(TCP Protocol Stack)不同的特性,可以當作辨識一個作業系統的「指紋(Fingerprint)」,藉以分析作業系統的類型和版本 • 指紋辨識技術依其探測行為的不同,可分為下列兩種 • 主動式指紋辨識(Active fingerprinting) • 被動式指紋辨識(Passive fingerprinting) 4-15
主動式指紋辨識技術 • 主動式指紋辨識技術會主動對目標主機發送封包進行探測,利用多次試探,由目標主機回傳的訊息判斷出其作業系統 • 目前常用的主動式TCP/IP堆疊指紋辨識技術有以下五種 • TCPFIN封包探測 • 掃描主機送出一個FIN封包給目標主機開啟的port,等待回應以進行判斷 4-16
主動式指紋辨識技術 (續) • BOGUS旗標探測 • 在SYN封包的TCP標頭中設定一個未定義的TCP旗標,Linux在2.0.35版之前的Kernel會在回應封包中保持這個旗標,而其他類型作業系統則不會有任何回應 • TCP ISN取樣(sampling) • 透過目標系統回應連線需求時,找出TCP連接啟始化序號碼的特徵,以此判斷其作業系統類型 4-17
主動式指紋辨識技術 (續) • ICMP錯誤訊息抑制(Error Message Quenching) • 對目標主機發送一連串封包,並統計出一段時間內收到的ICMPunreachable封包,與作業系統的預設值做比較,即可辨認出作業系統類型與版本 • TCP選項(options)探測 • 許多作業系統對於TCP選項為選擇性採用,透過對這些差別的比對即可辨認出其類型 4-18
主動式作業系統辨識工具原理 • 用來辨識遠端作業系統的工具種類繁多,故以下僅針對較常被使用的Xprobe軟體做介紹 • Xprobe軟體主要藉由Internet Control Message Protocol(ICMP)通訊協定來辨識遠端作業系統 4-19
Xprobe探測 • Xprobe屬於較新的探測方式,其過程相當隱蔽,而且難以被偵測出掃描意圖 • 掃描過程中只需要送出ICMP訊息,透過分析回傳的ICMPunreachable封包,可判斷目標主機之作業系統 4-20
Xprobe探測 (續) • Xprobe透過分析ICMPunreachable的封包來分析遠端作業系統 • 下圖為使用不同種類的ICMP封包判斷Windows系列、ULTRIX及OpenVMS作業系統的簡易流程圖
Xprobe探測 (續) 4-22
被動式指紋辨識技術 • 不主動發送封包,而是透過被動的監測網路,抓取流過目標主機封包中的某些資訊,進而分析其作業系統類型 • 掃描軟體分析目標主機送出的封包,針對Data Fragment(DF)位元、Type of Service(ToS)位元、封包大小及Time To Live(TTL)長度分析出作業系統類型 4-23
被動式指紋辨識技術 (續) TCP TTL:255 ToS:0x0 ID:58955 DF **S***A* Seq:0xD3B709A4 Ack:0xBE09B2B7 Win:0x2798 TCP Options => NOP NOP TS:9688775 9682347 NOP WS:0 MSS:1460 Fingerprint Sun Solaris 2.6 - 7 with tcp_strong_iss=0Class Sun | Solaris | 2.X | general purposeClass Sun | Solaris | 7 | general purposeTSeq(Class=64K)T1(DF=Y%W=2297|2491|2788|4431|8371|8765|FFF7|FFFF%ACK=S++%Flags=AS%Ops=NNTNWME)T2(Resp=N)T3(Resp=N)T4(DF=Y%W=0%ACK=O%Flags=R%Ops=)T5(DF=Y%W=0%ACK=S++%Flags=AR%Ops=)T6(DF=Y%W=0%ACK=O|S%Flags=AR|R%Ops=)T7(DF=Y%W=0%ACK=S%Flags=AR%Ops=)PU(DF=Y%TOS=0%IPLEN=70%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E) 經過指紋資料庫的比對,可以得知作業為 Solaris 2.6-2.7 Nmap OS Detect Fingerprints 4-24
被動式作業系統辨識工具原理 • 被動式作業系統辨識工具原理與主動式差別在以「監聽的方式」取代「主動查詢遠端主機」資訊 4-25
掃描偵測與抵抗惡意的網路掃描 關閉沒有使用的服務埠(serviceport),以減少威脅與被探測的風險 4-27
結合網路掃描技術強化主機安全性 通過對網路的掃描,網路管理員可以瞭解網路的安全配置和運行的應用服務,即時發現安全漏洞,評估網路風險等級 安全掃描技術、防火牆及入侵檢測系統互相配合,便能有效提高網路的安全性 網路管理員可以根據掃描的結果更正網路安全漏洞和系統中的錯誤配置,在駭客攻擊前進行防範 如果說防火牆和網路監控系統是被動的防禦手段,那麼安全掃描就是一種主動的防範措施,可以有效避免駭客攻擊行為,做到防患於未然 4-28
網路掃描工具介紹 • 目前較常被使用的網路掃描軟體有Nmap、Saint 、 ISS及CyberCop Scanner等 • 現今廣泛使用於網路世界中的網路掃描工具為Nmap,本節將針對此套軟體介紹 4-30
網路掃描工具比較 • 架設平台 • Windows:Nmap、Saint、CyberCop及ISS • Unix:Nmap與CyberCop • 線上:Saint • 軟體授權 • 免費:Nmap • 授權軟體:Saint、CyberCop及ISS • 原始碼 • 開放: Nmap • 不開放: Saint、CyberCop及ISS 4-31
Nmap介紹 • Network Mapper(Nmap)由Fyodor Vaskovich所開發,為一套網路探勘的開放原始碼軟體,常用於檢測本機或是目標主機的安全性 • 針對目標主機TCP/IP的TCP埠作掃瞄,可以查出目標主機所開放的埠、作業系統版本、取得對應的網路服務類型、防火牆種類以及應用軟體名稱與版本 4-32
Nmap介紹 (續) • 主要功能: • ping掃描 • port掃描 • 遠端作業系統掃描 • 掃描網路上主機漏洞 • Nmap支援多種協定的掃描,主要包括 • TCP/UDP • Ftp proxy • Reverse-ident • ICMP 4-33
Nmap - ping掃描 • 透過ping掃描可以勾畫出網路的整體狀況 • ping掃描發送出ICMP封包,由遠端主機回應情形,可以獲悉主機的上線狀態,藉此也能探測出網段中正在運行的主機數量 4-34
Nmap - port掃描 • Nmap針對要掃描的port發送一個TCP-SYN 封包 • 若port為開啟狀態,該port會回應一個TCP-SYN-ACK封包,並於最後根據標準TCPhandshaking方式回應一個ACK封包以及 RST-ACK 封包 4-35
Nmap - port掃描 (續) • 若要掃描的port為關閉狀態,則對要掃描的port發送一個TCP-SYN封包,掃描主機會回應TCP-RST-ACK封包,Nmap藉此可以知道那些port是開啟的 4-36
Nmap - port掃描 (續) • 針對UDP類型的port進行掃描,首先掃描主機會對要掃描的port發送一個0byte的UDP封包,若是port在開啟的狀態下,則會忽略此封包 4-37
Nmap - port掃描 (續) • 若是port在關閉的狀態下,掃描主機在送出UDP封包後會收到一個ICMPport unreachable的封包 4-38
Nmap- 作業系統探測 • Nmap在掃描時,會根據目標主機的回應做分析,根據這些資訊建立作業系統獨特的“指紋” • 將得到的指紋與內建於Nmap資料庫的作業系統指紋檔進行比對,若相符則可判斷出目標主機作業系統資訊 4-39
Nmap- 使用建議 • 使用Nmap掃描的過程中,若遇到目標主機處於防火牆後,許多類型的封包將會被防火牆阻擋而無法到達主機,影響Nmap對作業系統類型的判斷。 • 不少入侵檢測系統(Intrusion Detection System, IDS)將網路掃描視為一種惡意行為,所以Nmap最好置於內部網路,以免封包受到入侵檢測系統的阻擋而影響判斷結果 4-40
結論 • 網路掃描技術相較於防火牆與入侵檢測等技術,它是從另一個角度來解決網路安全的問題 • 本章節針對網路探測技術使用到的port掃描技術與作業系統辨識技術做了進一步的介紹 • 隨著網路和系統的發展,新的port掃描技術及作業系統辨識技術亦陸續誕生,因此網路掃描技術也有待更進一步的研究和完善 4-41
實驗環境介紹 • 以Testbed建立一實驗,相關拓樸及設定如下圖 Zenmap OS: WINXP-SP2 IP:10.1.1.2 安裝軟體:Zenmap host01 OS: WINXP-SP2 IP:10.1.1.3 4-43
說明 • 架設實作(一)至(四)中,請利用Zenmap軟體做不同功能的掃描。依實驗拓樸,請使用Zenmap主機做安裝,並針對host01主機掃描以進行實作練習 • 以下將介紹Zenmap的安裝步驟及不同功能的掃描教學 4-45
網路掃描工具 - Zenmap • 版本 • Zenmap-5.51 • 支援作業平台 • Windows • 下載位址 • http://nmap.org/dist/nmap-5.51-setup.exe
其他需求工具 - Winpcap • 版本 • 4.1.2 • 支援作業平台 • Windows • 下載位址 • 已內建於Zenmap軟體,於安裝Zenmap軟體時會要求安裝Winpacp軟體
安裝步驟 (續) • 安裝完畢後點擊桌面上的捷徑,便會看到如下圖的圖形介面 4-49
架設實作(一) Nmap:Traceroute 4-50