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

做業課程 https://edu.cnblogs.com/campus/besti/19attackdefense
做業要求 https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10518
課程目標 學習《網絡攻防技術與實踐》教材第四章,並完成課後做業
這個做業在哪一個具體方面幫助我實現目標 學習了網絡嗅探與協議分析的相關技術手段

做業正文:

1 知識點梳理

1.1 網絡嗅探

網絡嗅探:一種黑客經常使用的竊聽技術,利用計算機IDE網絡接口截獲目的地爲其餘計算機的數據報文,以監聽數據流中所包含的用戶帳戶密碼或私密信息等。嗅探捕獲的數據報文是通過封包處理以後二進制數據,結合網絡協議分析技術恢復出TCP/IP協議棧上各層網絡協議的內容,以及實際發送的應用層信息。
以太網:是美國電氣及電子工程師學會制定的有線網絡協議標準,802.3協議,共享通訊信道,採用了載波偵聽/衝突檢測技術(CSMA/CD)避免共享連路上的通訊衝突。網絡中的站點在信道上的廣播機制來發送本身的數據,計算機可以接收到在共享媒介上發送給其餘計算機的信息。以太網中數據傳播以幀爲單位進行,網絡接口設備一般是一個擁有48位MAC地址的網卡,以太網幀頭中包括髮送源的MAC地址與目標MAC地址,發送到共享通訊介質上。網卡的驅動程序只接受目標MAC地址與自身MAC地址相匹配的數據幀,再由其產生中斷信號經過CPU,由操做系統根據設置的網卡中斷程序地址調用驅動程序接收數據,放入信號堆棧中讓操做系統進行性反向的拆包處理,並將解包後的數據交給響應的應用程序。
混雜模式:接受一切經過它鏈接共享通訊媒介的數據幀,嗅探以太網的流量。
以太網部署方式:共享式網絡(集線器Hub,接收到數據後發送到全部接口),交換式網絡(交換機,能夠檢查映射表每個收到的數據幀併發給指定端口,若是沒有則會廣播到全部端口,擁有該MAC地址的網卡會作出應答,避免了網絡廣播風暴)。
MAC地址洪泛攻擊:向交換機發送大量含有虛構MAC地址和IP地址的數據包,導致交換機的MAC地址-端口映射表溢出沒法處理,開始相似集線器的工做方式。
MAC欺騙:讓交換機相信攻擊者主機的MAC地址就是目標主機的MAC地址,也就是假冒所要監聽的主機網卡,攻擊者經過將源MAC地址僞形成目標地址的源MAC地址,並將這樣的數據包經過交換機發送出去。html


2 實驗內容

2.1 網絡嗅探

網絡嗅探:一種被動式非干擾性的攻擊手段,具備很高隱蔽性。linux

  • 類UNIX平臺的網絡嗅探技術
    主要經過內核態的BPF和用戶態的libpcap抓包工具庫
  • Windows平臺的網絡嗅探實現技術
    與BPF模塊兼容的NPF,libpcap庫相兼容的標準抓包接口WinPcap

嗅探軟件:可以進行網絡嗅探的軟件。web

  • 類UNIX平臺的網絡嗅探器
    libpcap抓包開發庫:libpcap是unix/linux平臺下的網絡數據包捕獲函數包,提供了系統獨立的用戶級別網絡數據包捕獲接口,Libpcap能夠在絕大多數類unix平臺下工做。
    tcpdump嗅探器:提供命令行模式,支持使用BFP語法的過濾條件進行網絡上數據包的選擇性嗅探,而後進行TCP/IP協議棧的協議分析,並以每行一個數據包捕獲內容的方式呈現嗅探結果。
    wireshark嗅探器:當前類UNIX平臺下最好的基於圖形界面的嗅探軟件,在Windows平臺上也有其已知版本。windows

  • 其餘嗅探軟件:開源網絡入侵檢測系統Snort,dsniff,sniffit,linux_sniffer瀏覽器

  • Windows平臺的網絡嗅探器:NPF/winpcap/windump,wireshark也有Windows版本,其餘還有Buttsniffer,NetMon,Network Associates Sniffer服務器

tcpdump使用參考:在kali機上使用tcpdump src 192.168.200.103 and tcp dst port 80命令對IP地址爲192.168.200.103的Windows靶機進行網絡嗅探,而後在Windows靶機瀏覽器上登陸www.baidu.com,因爲靶機瀏覽器版本太低,會出現頁面讀取錯誤,是否糾正該錯誤點擊否。

攻擊機上嗅探狀況,靶機從80端口與目標IP地址創建HTTP協議會話。
網絡

網絡嗅探檢測方法
1.檢查網卡運行模式是否存在混雜模式
2.利用混雜模式下操做系統和協議棧的不一樣特性,看目標主機是否檢查MAC地址。
3.檢測以太網MAC地址前八位是否爲0xff。
4.檢測目標主機的響應時間是否處於異常狀態。
5.識別嗅探器的工具軟件AntiSniff。併發

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

在瀏覽器訪問網站後,出現4個Web服務器,IP分別爲124.225.65.154,200.130.77.218,124.225.135.230124.225.214.206
其中124.225.65.154www.tianya.cn對應的IP地址
tcp


2.2 網絡協議分析技術

網絡協議分析:指對網絡上傳輸的二進制格式數據包進行解析,以恢復出各層網絡協議信息以及傳輸內容的技術方法,相似於數據包的解壓過程。

網絡協議分析的典型過程
1)網絡嗅探獲得原始數據,即鏈路層傳輸的二進制數據包;
2)對數據幀進行結構分析,定位幀頭個字段結構,根據幀頭的Type字段肯定網絡層協議類型,IP協議爲0800,並提取數據幀中包含的網絡層數據內容;
3)進一步對IP數據包進行分析,根據分片位進行重組,根據IP協議頭中Protocol字段肯定傳輸層協議類型;
4)根據TCP或UDP的目標端口肯定具體的應用層協議;
5)根據應用層協議對數據進行整合恢復,獲得實際傳輸的數據。函數

動手操做:Wireshark
任務:使用Wireshark開源軟件對在本機上以talnet方式登陸BBS進行嗅探與協議分析,回答以下問題並給出操做過程:
1)你所登陸的BBS服務器的IP地址與端口各是什麼?
水木社區註冊用戶

用telnet bbs.newsmth.net鏈接社區論壇,同時經過wireshark抓捕網絡包

在wireshark上的菜單欄中調用視圖,過濾器工具欄,在搜索框中搜索telnet便可從數據包中篩選出Protocol爲TELNET的數據包。

IP地址爲:120.92.212.76 端口爲:23

2)telnet協議是如何向服務器傳送你輸入的用戶名及登陸口令的?
根據捕獲的數據包,能夠看到用戶名和登陸口令是由本地一個字符逐次明文傳送到服務器,並由服務器返回確認信息。

3)如何利用Wireshark分析嗅探的數據包,並從中獲取你的用戶名及登陸口令?
因爲該BBS對於用戶名和登陸口令有字符限制,較爲複雜,故只展現用戶名部分(louhao123)的截取以下:









3.實踐做業

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

下載雲班課上分享的listen.pcap,用wireshark打開待分析的二進制記錄文件,使用菜單欄中Statistics(統計)下的Conversation(會話),選擇IPV4獲得以下圖:

只有172.31.4.178172.31.4.188之間有大量的雙向網絡數據包,所以可初步肯定二者爲攻擊主機IP和目標主機IP。

再選擇過濾TCP數據包,查看會話數據包內容,全部的請求數據包則是從172.31.4.178發起,因此響應數據包均是從172.31.4.188發出, 能夠肯定172.31.4.178是攻擊主機,172.31.4.188是被掃描的目標主機。
1.攻擊主機的IP地址是什麼?
攻擊主機的IP地址是172.31.4.178

2.網絡掃描的目標IP地址是什麼?
網絡掃描目標的IP地址是172.31.4.188

3.本次案例中是使用了那個掃描工具發起這些端口掃描?你是如何肯定的?
首先執行sudo apt-get updatesudo apt-get install pip,而後參考snort和websnort安裝經過snort工具解析wireshark的pcap文件,能夠得出經過nmap工具對端口進行了掃描

也能夠經過websnort在網頁中進行查看


4.你所分析的日誌文件中,攻擊者使用了哪一種掃描方法,掃描的目標端口是什麼,並描述工做原理。
因爲是模擬實驗,掃描機和目標機在同一網段,Nmap也能夠對該類目標採用arp協議進行探測,能夠直接在廣播域內廣播arp request報文,若是收到arp response報文即爲活躍。能夠獲得目標主機mac地址。

因爲咱們已經肯定了這些掃描是由nmap所發起的,而nmap在發起端口掃描以前老是先經過Ping掃描和針對80端口的探測肯定目標主機是否活躍。
經過過濾器搜索icmp,能夠定位ICMP協議對應的Ping掃描,實現兩次Ping掃描。

在數據包中存在大量SYN請求包,這是攻擊機57738端口向目標主機進行的TCP SYN掃描,目的是用於掃描目標主機的端口是否活躍,若是活躍則目標主機會反饋一個SYN|ACK包,攻擊機端口會馬上發送一個RST包關閉這個連接,目標端口不活躍則會反饋RST|ACK包,指令可能爲nmap -sS -p XXX端口 172.31.4.188


5.在蜜罐主機上發現那些端口是開放的?
tcp.flags.syn == 1 and tcp.flags.ack == 1能夠過濾出SYN | ACK的數據包,即爲目標主機反饋掃描機的端口活躍信息。能夠肯定21,22,23,25,53,80,139,445,3306,3632,5432,8009,8180這幾個端口是活躍的。



6.額外獎勵問題:攻擊主機的操做系統是什麼?
經過p0f /home/kali/listen.pcap能夠查詢到攻擊主機的操做系統爲linux 2.6.x


攻防對抗實踐

攻擊方用nmap掃描(達到特定目的),防守方用tcpdump嗅探,用Wireshark分析,並分析出攻擊方的掃描目的以及每次使用的nmap命令。
因爲防守方須要經過Wireshark分析,故將kali機複製一份,一臺192.168.200.7做爲掃描機,一臺192.168.200.6做爲檢測機
執行ping掃描,檢測出ICMP協議數據包,用Wireshark進行分析,能夠推測爲ping命令:


能夠發現第4,5個數據包爲在廣播域內廣播arp request報文,tcpdump和Wireshark均有捕獲。

對目標機進行TCP端口掃描,不知道是否是由於kali有特殊的端口設置,掃描的1000個TCP端口均爲關閉。

tcpdump捕獲TCP中RST包,用Wireshark分析捕獲大量[RST ACK]包,代表端口不活躍,能夠推測掃描命令爲nmap -sS 192.168.200.6


對目標機進行UDP端口掃描,目標機上tcpdump偵測出大量UDP數據包,根據Wireshark可得大量長度爲60的UDP包,即爲偵測nmap -sU 192.168.200.6

4.學習中遇到的問題及解決

  • 問題1:沒法找到合適的BBS進行telnet登陸
    問題1解決方案:參考了關於telnet逛bbs論壇這篇博客提供的BBS網站

  • 問題2:使用snort工具解析wireshark的pcap文件,snort安裝時出現若干錯誤
    問題2解決方案:一開始找的安裝教程是源碼安裝,步驟很是複雜,並且當前環境由於缺乏不少依賴包會常常安裝失敗,後來參考了Snort安裝教程,能夠經過sudo apt-get install snort以及sudo pip install websnort直接安裝,省去很多步驟。

  • 問題3:取證分析實踐做業中對於nmap掃描分析
    問題3解決方案:參考了網絡嗅探與協議分析這篇資料

5.學習感悟和思考

本次學習內容主要包括網絡嗅探與協議分析的相關技術手段,網絡嗅探主要用到了tcpdump和snort這些軟件,而協議分析主要經過wireshark對不一樣數據包進行分析,進而推測出一些網絡掃描和鏈接的行爲,對於協議分析這方面,自我感受掌握的還不夠深刻和全面,有待提升。

參考資料

相關文章
相關標籤/搜索