20199311 2019-2020-2《網絡攻防實踐》第4周做業

問題 回答
這個做業屬於哪一個課程 https://edu.cnblogs.com/campus/besti/19attackdefense
這個做業的要求在哪裏 https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10518
我在這個課程的目標是 學習教材第四章,掌握網絡嗅探的原理和步驟
這個做業在哪一個具體方面幫助我實現目標 相關知識點和實踐任務

1. 實踐內容

1.1 網絡嗅探

  • 網絡嗅探技術的定義:網絡嗅探 (Sniff) 是一種黑客經常使用的竊聽技術, 與傳統的電話竊聽在電話線路上對特定號碼的通話內容進行監聽相似, 網絡嗅探利用計算機的網絡接口截獲目的地爲其餘計 算機的數據報文,以監聽數據流中所包含的用戶帳戶密碼或私密信息等。
  • 網絡嗅探的做用:網絡嗅探做爲攻擊者常用的內網滲透技術, 一般在攻擊者得到內部網絡中一臺主機的訪問權後實施, 可以被動地、 靜默地嗅探網絡中傳輸的數據,並從中竊取機密信息,包括各種用戶名和口令、電子郵件正文及附件、網絡打印的文檔等,此外還能夠用來嗅探 底層的網絡協議信息,爲發起進一步攻擊收集信息。因爲網絡嗅探的被動性與非干擾性,使其具備很強的隱蔽性,每每讓網絡信息泄漏很難被發覺。

1.1.1 網絡嗅探的原理

  • 以太網工做原理:以太網經過使用CSMA/CD協議的共享通訊信道進行消息傳輸。以太網中的數據以幀爲單位,將上層的數據包裝配上幀頭和幀尾,經過MAC地址匹配數據包的目標。當網卡處於混雜模式下,可以接受一切經過它鏈接的以太網絡的數據幀。
  • 共享式網絡與交換式網絡中的嗅探:在共享式網絡中,當主機A向主機C發送數據包時,集線器先接收到數據,而後再把它所接收到的數據發送到全部接口,因此集線器上全部接口所連按 的主機上的網卡也能收到數據,如主機B網卡若是處於混雜模式,就能夠嗅探到主機A到主機C的通訊數據包。 而在交換式網絡中,交換機能夠檢查每個收到的數據幀,並對數據幀進行轉發處理,在交換機內存中保存有 "MAC地址-端口映射表」,在轉發數據幀時,只容許與目標MAC地址匹配成功的數據包經過交換機,並只發送到特定端口上。
  • 交換式網絡的網絡嗅探技術:MAC地址洪泛攻擊、MAC欺騙、ARP欺騙
  • 類 UNIX 平臺的網絡嗅探技術實現:類 UNIX 平臺的網絡嗅探技術主要經過內核態的 BPF (Berkeley Packet Filter) 和用戶態的 libpcap 抓包工具庫實現,如圖所示
    圖片描述
  • Windows 平臺的網絡嗅探實現技術:Windows 橾做系統內核並不提供標準的網絡嗅探與抓包接口,所以須要經過增長一個驅動程序或網絡組件來訪問內核網卡驅動中捕獲的數據包,而目前最經常使用的是與類 UNIX 平臺上的 BPF 模塊兼容的 NPF (NetGroup Packet Filter)。
    圖片描述
  • 網絡嗅探軟件:類Unix平臺下的嗅探軟件有libpcap、tcpdump、wireshark和dsniff、sniffit等等;windows平臺下的嗅探軟件有wireshark、snifferPro等等。

1.1.2 網絡嗅探技術的檢測與防範

  • 網絡嗅探的檢測:網絡嗅探是一種被動的攻擊手段,較爲難以檢測。在同一主機上,能夠經過檢查網卡是否運行在混雜模式下,來發現正在進行監聽的嗅探器。 此外,也能夠基於混雜模式下操做系統和協議棧的不一樣特性,來檢測出網絡中其餘主機上的嗅探器。
  • 網絡嗅探的防範措施:
    1. 採用安全的網絡拓撲, 儘可能將共享式網絡升級爲交換式網絡, 並經過在交換機上設置 VLAN 等技術手段, 對網絡進行合理的分段, 從而盡散使得網絡包只被轉發到目的主機上。
    2. 用靜態ARP或者MAC-端口映射表代替動態機制
    3. 重視網絡數據傳輸的集中位甡點的安全防範
    4. 避免使用明文傳輸口令或敏感信息的網絡協議, 而使用加密及安全加強的網絡協 議進行替代。

1.2 網絡協議分析

網絡協議分析是網絡嗅探器進一步解析與理解捕獲數據包必需的技術手段。如前所述, 網絡嗅探截獲的是在經過封包過程組裝的二進制格式原始報文內容, 爲了獲取其中包含的 信息,就須要根據 TCP/IP 協議棧的協議規範,從新還原出數據包在各個協議層士的協議格 式及其容, 以及在應用層傳輸的實際數據。linux

1.2.1 網絡協議分析技術

  • 網絡協議分析技術原理:網絡協議分析是指對網絡上傳輸的二進制格式數據包進行解析,以恢復出各層網絡協議信息以及傳輸內容的技術方法。
  • 網絡協議技術分析步驟
  1. 首先網絡嗅探獲得的原始數據是在鏈路層傳輸的二進制數據包,大多數狀況下是以太網數據幀
  2. 對以太網數據幀進行結構分析,定位出幀頭各字段結構,根據幀頭的Type字段確 定網絡層協議類型,大多數狀況下是 IP 協議 (0800), 並提取數據幀中包含的網絡層數據內容
  3. 對IP數據包進行分析,若是設置了分片位,則進行IP分片重組,根據IP協議頭中的Protocol字段,肯定傳輸層協議類型,一般狀況下是TCP(6)或者UDP(17), 並提取1P數據包中的傳輸層數據內容
  4. 繼續根據TCP或UDP的目標端口肯定具體的應用層協議,如http、ftp、telnet等協議數據包,並對TCP或者UDP數據包進行拼接重組,獲得應用層特定協議的應用交互內容
  5. 依據相應的應用層協議對數據進行整合恢復,獲得實際傳輸的數據
  • 網絡協議分析技術實現:對TCP/IP協議棧中基本網絡協議的分析技術實現比較簡單,而且在開源的網絡嗅探器軟件如Tcpdump、W訂eshark和Snort等都有相應的源碼實現。

2. 實踐過程

2.1 動手實踐: tcpdump

使用 tcpdump 開源軟件對在本機上訪問 www.tianya.cn 網站過程進行嗅探, 回答問題:你在訪問 www.tianya.cn 網站首頁時, 瀏覽器將訪問多少個 Web 服務器?他們的 IP 地址都是什麼?web

在terminal運行命令sudo tcpdump src 192.168.200.3 and tcp dst port 80(src表示源,dst表示目的)
圖片描述
一共訪問6個服務器,通過的服務器的ip地址有windows

ip地址 位置
221.182.218.238 海南省海口市
221.182.218.229 海南省海口市
221.182.218.244 韓國釜山
221.182.218.151 海南省海口市
183.203.69.14 山西省太原市
117.18.237.29 澳大利亞
72.21.202.25 美國弗吉尼亞阿什本 亞馬遜雲

其中221.182.218.229是www.tianya.cn的ip地址
圖片描述瀏覽器

2.2 動手實踐: Wireshark

任務: 使用 Wireshark 開源軟件對在本機上以 telne·t 方式登陸 BBS 進行嗅探與協議分析, 回答以下問題並給出操做過程:安全

  1. 你所登陸的 BBS 服務器的 IP 地址與端口各是什麼?
  2. telnet 協議是如何向服務器傳送你輸入的用戶名及登陸口令的?
  3. 如何利用Wireshark 分析嗅探的數據包, 並從中獲取你的用戶名及登陸口令?

我登錄的是水木社區,用telnet bbs.newsmth.net鏈接社區論壇,同時經過wireshark抓捕網絡包
圖片描述
在搜索框中搜索telnet便可從數據包中篩選出Protocol爲TELNET的數據包。
圖片描述
由圖可知,服務器的ip地址爲120.92.121.76服務器

由捕獲的數據包的詳細信息可知,能夠看到用戶名和登陸口令是由本地一個字符一個字符的逐次明文傳送到服務器,並由服務器返回確認信息。
圖片描述
經過對捕獲的數據包的數據流分析(分析—追蹤流—TCP流),選定192.168.0.102 -> 120.92.212.16
能夠查看到個人用戶名和登錄口令
圖片描述
(話說這個竟然是明文傳輸.....也太危險了吧)網絡

2.3 取證分析實踐:解碼網絡掃描

案例分析挑戰內容: 此次案例分析挑戰是徹底爲剛入門的安全分析師準備的,目標是分析由人爲構造的到一臺蜜罐主機的5次不一樣類型端口掃描。須要指出的是,此次案例分析中的端口掃描流量並非從 「 野外「 捕獲的,而是特地構造的,此次入門級的案例分析 挑戰的目的徹底是爲了提供學習和訓練的機會。
網絡入侵檢測器-snort 捕獲每次掃描的流噩並存入 tcpdump 格式二進制網絡日誌文件中。此次挑戰的任務每組從這5次掃描的日誌文件中隨機選擇兩個,分析這兩個文件,回答所列的問題,並撰寫詳細的實驗分析報告。經過此次挑戰,你可以學習到數據包抓取技術的使用方法,以及使用數據包解碼工具 tcpdump 或 Wireshark 分析網絡數據包的技能。
問題:ssh

  1. 攻擊主機的 IP 地址是什麼?
  2. 網絡掃描的目標 IP 地址是什麼?
  3. 本次案例中是使用了哪一個掃描工具發起這些端口掃描?你是如何肯定的?
  4. 你所分析的日誌文件中,攻擊者使用了哪一種掃描方法,掃描的目標端口是什麼,並描述其工做原理。
  5. 在蜜罐主機上發現哪些端口是開放的?
  6. 額外獎勵問題: 攻擊主機的操做系統是什麼?

下載老師在雲班課上給出的文件listen.pcap,用wireshark打開待分析的二進制記錄文件,使用菜單欄中統計下的Conversation,選擇IPV4獲得以下圖:
圖片描述
能夠看到ip地址172.31.4.178172.31.4.188之間有大量的數據包交換,基本上能夠肯定這兩個ip就是攻擊機和靶機的ip地址
又由雙方交換的數據包的詳細信息可知,172.31.4.178172.31.41.188發送帶有SYN標誌的消息,後者向前者返回帶有SYN+ACK的數據包,前者又向後者返回帶RST的數據包重置鏈接,這是一次TCP SYN掃描,而且目標主機端口開放,由此可知是172.31.4.178主動發起掃描,因此攻擊主機的ip地址爲172.31.4.178,目標主機的ip地址爲172.31.41.188
圖片描述
首先安裝在kail上安裝snort和websnort(安裝方法見參考資料),執行sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r ~/listen.pcap(console模式表示在屏幕上顯示報警而不記錄到文件;-q表示安靜模式,不顯示標誌和狀態報告;-u snort表示初始化後改變Snort的UID;-c表示使用配置文件snort.conf,這會使得snort進入IDS模式,並從snort.conf中讀取運行的配置信息。),能夠看到掃描主機經過nmap工具進行端口掃描
圖片描述
固然也能夠用websnort查看結果(看得更舒服一點),執行sudo websnort,瀏覽器打開localhost:8080
圖片描述
咱們已經知道攻擊主機的ip地址以及它所採用的掃描工具,經過nmap每次掃描以前,會經過arp協議獲取目標的mac地址,輸入過濾字段arp,能夠看到攻擊機(172.31.4.178)一共發起了四次arp請求,因此進行了四次掃描(5,6;7,8;2071,2072;133220,133221)
圖片描述
又由第一次掃描(5,6)與第二次掃描(7,8)之間沒有發送數據,能夠肯定是第一次掃描僅僅是作了一次主機探測,所用參數-sP
能夠看到第二次掃描交換的數據包大概有2000多個,主要針對 ssh、 TCP 和 UDP 的 1 端口,並使用了大量構造的標誌位,以觸發不一樣的響應包,並嘗試從響應包中識別目標主機的操做系統信息。這顯然是攻擊主機在進行對目標主機的操做系統的探測,由於主動探測方式就是從掃描主機向目標主機主動的發送一系列特殊定製的數據包,而後根據反饋數據包中的一些指紋信息識別目標主機操做系統類型,因此第二次掃描應該是攻擊機主動探測目標主機的操做系統,所用參數爲-O
圖片描述
第三次掃描掃描的端口數將近有六萬個,以3306端口爲例,攻擊方發起SYN請求包;若是端口開啓,目標主機迴應SYN ACK包,攻擊方再發送RST包。所以能夠知道此次掃描爲半鏈接掃描,又由於nmap默認掃描端口數爲1000,而這次掃描端口包括端口65535,因此猜想此次所用參數爲-sS -p 1-65535,即對全部端口進行TCP SYN掃描
圖片描述
圖片描述
第四次掃描,以23號端口爲例,23號端口提供提供遠程登錄(telnet)服務,而攻擊機經過TCP三次握手與23號端口創建了鏈接,並交換了使用telnet協議的數據包,猜想是攻擊機想要得到目標主機的端口上運行的服務以及版本,故這次掃描應該使用的參數爲-sV
圖片描述tcp

使用tcp.flags.syn == 1 and tcp.flags.ack == 1能夠過濾出SYN | ACK的數據包,即爲目標主機反饋掃描機的端口活躍信息。能夠肯定21,22,23,25,53,80,139,445,3306,3632,5432,8009,8180這幾個端口是活躍的。
圖片描述工具

經過命令sudo p0f /home/wl/listen.pcap能夠查看到攻擊機的操做系統爲linux 2.6.x
圖片描述

2.4 攻防對抗實踐

攻擊方用 nmap 掃描(達到特定目的), 防守方用 tcpdump 嗅探, 用Wireshark 分析,並分析出攻擊方的掃描目的以及每次使用的 nmap 命令。 撰寫實驗報告。

重點的分析過程參考上一個實驗,這裏只展示一些攻擊過程
攻擊主機的ip爲192.168.200.4,目標主機ip爲192.168.200.3
在目標主機上運行tcpdump -i eth0 -w listen.pcap進行監聽,使用wireshark分析,攻擊過程以下圖
圖片描述
將listen.pcap導入wireshark,以下圖所示,使用arp過濾發現進行了四次掃描,因爲四次攻擊步驟與上一個實驗相似,故再也不贅述,只展現過程
圖片描述
nmap -sP 192.168.200.3
圖片描述
nmap -O 192.168.200.3
圖片描述
nmap -sS 192.168.200.3
圖片描述
nmap -sV 192.168.200.3
圖片描述

3. 學習中遇到的問題

  • 問題1:安裝snort遇到問題
  • 問題1解決方案:經過學習snort安裝教程,以及詢問婁豪同窗安裝成功了
  • 問題2:對日誌文件的分析不明白
  • 問題2解決方案:經過學習網上的一些分析博客和資料,以及參考其它同窗的博客最終完成了實驗

4. 實踐總結

本次實驗學習了網絡嗅探的原理和方法,使用了wireshark,tcpdump和snort三個網絡嗅探工具,初步瞭解了兩個工具的使用方法,而且經過對日誌文件進行分析,學習了一些分析的技巧,可是因爲對一些網絡協議和知識不瞭解,因此對分析過程還不能徹底明白,在往後的學習中要複習計算機網絡的相關知識。

參考資料

網絡攻防技術與實踐
nmap經常使用命令
snort命令行參數
snort原理,搭建與應用
tcpdump用法詳解
網絡嗅探與協議分析
wireshark教程

相關文章
相關標籤/搜索