20212923 2021-2022-2 《網絡攻防實踐》第三次作業

20212923 2021-2022-2 《網絡攻防實踐》第三次作業

實踐三:網絡嗅探與協議分析

課程:《網絡攻防實踐》

班級: 2129

姓名: 王文彬

學號:20212923

實驗教師:王志強

實驗日期:2022年03月31日

必修/選修: 選修

一.實踐內容

1. 實踐要求介紹

  • 要求
    • 動手實踐tcpdump
      • 使用tcpdump隊在本機上訪問www.tianya.cn 網站過程進行嗅探;
      • 回答問題(1)訪問www.tianya.cn網站首頁時,瀏覽器將訪問多少個Web服務器?
      • 回答問題(2)訪問www.tianya.cn網站首頁時,他們的IP地址都是什麼?
    • 動手實踐Wireshark
      • 使用Wireshark開源軟件對在本機上以TELNET方式登錄BBS進行嗅探與協議分析;
      • 回答問題(1)你所登錄的BBS服務器的IP地址與端口各是什麼?
      • 回答問題(2)TELNET協議是如何向服務器傳送你輸入的用戶名及登錄口令?
      • 回答問題(3)如何利用Wireshark分析嗅探的數據包,並從中獲取你的用戶名及登錄口令?
    • 取證分析實踐,解碼網絡掃描器
      • 攻擊主機對IP地址是什麼?
      • 網絡掃描的目標IP是什麼?
      • 本次案例中是使用了哪個掃描工具發起這些端口掃描?你是如何確定的?
      • 你所分析的日誌文件中,攻擊者使用了那種掃描方法,掃描的目標端口是什麼,並描述其工作原理。
      • 在蜜罐主機上哪些端口被發現是開放的?
      • 攻擊主機的操作系統是什麼?

2. 實踐內容

動手實踐tcpdump

  • 實踐過程
    • 一、首先我們來一起了解一下tcpdump是什麼軟件?
    • tcpdump,就是:dump the traffic on a network,根據使用者的定義對網絡上的數據包進行截獲的包分析工具。 tcpdump可以將網絡中傳送的數據包的“頭”完全截獲下來提供分析。它支持針對網絡層、協議、主機、網絡或端口的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的信息。
    • 二、當我們在kali環境中,在命令行內輸入sudo tcpdump -n src 192.168.1.104 and tcp port 80 and "tcp[13]&18=2"命令後,我們可以在kali自帶的瀏覽器中訪問天涯社區www.tianya.cn的首頁後,可以利用tcpdump的功能嗅探到如下圖的內容。
    • 三、我們可以在截圖中看到在訪問首頁時它的web服務器大致個數,其中ip有124.225.206.22124.225.135.230111.206.209.249124.225.214.206等。

tcpdump -n :是指定將每個監聽到數據包中的域名轉換成IP地址後顯示,不把網絡地址轉換成名字;
tcp port :是指在端口80的tcp包;
tcp[13]&18=2 :是指一個TCP頭,擁有20個字節的數據,除非選項。圖表中第一行顯示的八位位組, 0 - 3 ,第二行顯示了八位位組4 - 7等與0開始計數,相關的TCP控制位都包含在字節13,2是指syn;
例如:tcpdump -i eth2 tcp[13]==2 or tcp[13]==18 and port 80 and host 10.10.10.10指的是抓取10.10.10.10:80的syn、synack包

動手實踐wireshark

  • 實踐過程
    • 一、實踐要求我們使用telnet對方式登錄BBS進行嗅探與協議分析,我們選擇使用復旦大學社區進行實踐;
    • 二、我們在命令行下輸入luit -encoding gbk telnet bbs.fudan.edu.cn進入登錄界面後,同時打開wireshark進行抓包。

    • 三、當我們首先使用lawwbla賬號進行訪問時,我們使用Wireshark進行抓包後,追蹤tcp流可以分別看到(1)IP地址爲202.120.225.9,端口號爲23,同時我們查看telnet包內容後可以看到我們所傳送的用戶名以及口令;


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

  • 實踐過程

    • 一、在學習這一部分之前,我們先了解一下關於snort系統;
    • Snort是一個強大的清量級的網絡入侵檢測系統。它具有實時數據流量分析和日誌Ip網絡數據包的能力,能夠進行協議分析,對內容搜索/匹配。它能夠檢測各種不同的攻擊方式,對攻擊進行實時警報。此外,Snort具有很好的擴展性和可移植性。還有,這個軟件遵循公用許可GPL,所以只要遵守GPL任何組織和個人都可以自由使用。
    • 本次實驗我們主要採用snort軟件對雲班課中的listen.cap進行分析;
    • 在kali中,安裝 snort 工具sudo apt-get install snort
      給予所有權限:sudo chmod 777 /etc/snort/snort.conf
      進入 pcap 包所在目錄後,執行sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap,得到如下結果:我們可以觀察發現本次案例中是使用了nmap發起的端口掃描。

  • 二、首先我們可以在追蹤ICMP流進行發現,如下圖所示,可以看到兩組ICMPrequest包和ICMPreplay包,說明使用了主機掃描,並且確定了目標主機是活躍的;

  • 三、以arp作爲過濾條件,攻擊機在廣播域中廣播arp request報文,尋找目標IP地址爲172.31.4.188的主機的MAC地址,如下圖

  • 四、以tcp作爲過濾條件,可以看到在數據包中存在大量SYN請求包,說明攻擊機的57738端口向目標主機發起了TCP SYN掃描,以確定目標主機的哪些端口開放,開放的端口則回覆 SYN|ACK數據包,不活躍的端口則回覆RST|ACK數據包,如下;

  • 五、輸入過濾條件:tcp.flags.syn == 1 and tcp.flags.ack == 1,則可以過濾出所有的SYN|ACK的數據包,即可得到所有的開放端口,如下:

  • 六、開放的端口有:21(ftp),22(ssh),23(telnet),25(smtp),53(domain),80(http),139(ssn),445(microsoft-ds),3306(mysql),5432(postgresql),8009,8180;

  • 七、輸入過濾條件tcp.port==80,可以查看到攻擊機在最後對靶機進行http連接,確認http連接是否連通。

  • 八、我們通過使用P0f工具對cap包進行,首先輸入sudo apt-get install p0f安裝p0f工具
    再進入 listen.pcap 包所在目錄後輸入命令sudo p0f -r listen.pcap,得到如下檢測結果:DNS2

    • 分析可知,攻擊主機的操作系統是Linux 2.6.x。
  • 綜上所述,攻擊機我們可以判斷爲172.31.4.178,靶機爲172.31.4.188;

  1. 攻擊機使用廣播地址對靶機進行詢問,嘗試進行發現靶機是否活躍在線;
  2. 攻擊機緊接着對靶機端口1進行探測靶機OS;
  3. 攻擊機發送大量請求包,對靶機進行端口掃描,查看靶機有哪些端口是開放的;
  4. 攻擊機進行http鏈接測試,確認鏈接是否正常。

二、 實驗過程中遇到的問題和解決過程

1. 不理解snort軟件的用法

  • 在經過資料查找整理後發現,snort屬於一個輕量級入侵檢測系統,能夠幫助我們深入理解網絡攻防博弈直接的聯繫,同時也提供給我們用戶很多工具使用。

三、感想

此次實驗,學習到了很多工具的使用,同時在分析最後listen.pcap包中,結合上一節課的知識,更加深入了nmap的用法與嗅探之間對聯繫,從攻擊者和靶機不同角度感受了不同的體驗。

四、參考文獻

嗅探器模式和數據包記錄模式

Snort入侵檢測系統分析

tcpdump參數解析及使用詳解

tcpdump -i eth tcp[13] == 2 原理

抓包參數tcp[13]詳解

抓包工具tcpdump的常見用法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章