1. 程式人生 > 其它 >20212904 2021-2022-2 《網路攻防實踐》實踐五報告

20212904 2021-2022-2 《網路攻防實踐》實踐五報告

20212904 2021-2022-2 《網路攻防實踐》實踐五報告

1.實踐內容

(1)配置Linux作業系統平臺上的iptables和Windows作業系統平臺上的個人防火牆,並過濾ICMP資料包使得主機不接收Ping包,設定只允許特定的IP訪問主機的某個服務而其他IP不能訪問。
(2)使用Snort對給定pcap檔案進行入侵檢測,在Linux或Windows Attacker攻擊機上使用Snort對給定的pcap檔案進行入侵檢測,獲得報警日誌。
(3)分析虛擬網路攻防環境中蜜網閘道器的防火牆和IDS/IPS配置規則,說明蜜網閘道器是如何利用防火牆和入侵檢測技術完成其攻擊資料捕獲和控制需求的。

2.基礎知識

(1)防火牆技術
防火牆是一種高階訪問控制裝置,置於不同網路安全域之間,它通過相關的安全策略來控制(允許、拒絕、監視、記錄)進出網路的訪問行為。
防火牆的核心技術有包過濾、應用代理、狀態檢測、完全內容檢測。
(2)入侵檢測技術和系統
入侵檢測可分為基於主機的HIDS和基於網路的NIDS。HIDS一般用來監視主機資訊,NIDS以其監聽到的網路資料包作為分析資料來源。
netfilter/iptables組合是目前Linux開源作業系統中普遍使用的防火牆技術解決方案,其中netfilter是Linux核心中實現的防火牆功能模組,iptables是應用態的防火牆管理工具。

3.實踐過程

(1)配置Linux作業系統平臺上的iptables,並過濾ICMP資料包使得主機不接收Ping包,設定只允許特定的IP訪問主機的某個服務而其他IP不能訪問。
1)實驗環境

虛擬機器 IP
Kali 192.168.200.5
SEEDUbuntu 192.168.200.3
MetaSploitable_Ubuntu 192.168.200.123

2)過濾ICMP資料包,使得主機Kali不接收Ping包
①在KALI上輸入如下命令iptables -A INPUT -p ICMP -j DROP如圖。-A代表增加規則,-p代表指定協議,-j代表對該規則執行的操作。

執行完上面的命令後,試著讓SEEDUbuntu pingkali,發現已經ping不通了,如圖。

2)只允許特定IP地址(如區域網中的Linux攻擊機192.168.200.3),訪問主機的某一網路服務(如FTP、HTTP、SMB),而其他的IP地址(如Windows攻擊機192. 168.200.4)無法訪問。
①首先確保kali和SEEDUbuntu可以正常telnet靶機,如圖。


②在MetaSploitable_Ubuntu上設定不接收任何包的規則。命令為iptables -P INPUT DROP,如圖。

此時兩個攻擊機telnet靶機發現一直處於trying狀態,如圖。


③在MetaSploitable_Ubuntu上設定只接受kali的telnet請求策略,如下圖。

可以看到kali可以正常telnet靶機了,如圖。

④最後,清除之前設定的規則,如圖。

(2)配置Windows作業系統平臺上的個人防火牆,並過濾ICMP資料包使得主機不接收Ping包,設定只允許特定的IP訪問主機的某個服務而其他IP不能訪問。
1)實驗環境

虛擬機器 IP
Kali 192.168.200.5
SEEDUbuntu 192.168.200.3
WinXP(靶機) 192.168.200.2

2)過濾ICMP資料包,使得主機不接收Ping包。
①開啟Kali,ping WinXP,測試可以ping通,如圖。

②開啟WinXP,點選開始--控制面板--Windows安全中心--Windows防火牆--還原為預設值(還原為預設值後ICMP的設定裡允許傳入回顯請求會被自動取消勾選),如圖。

③開啟Kali,ping WinXP,發現ping不通了。

3)只允許特定IP地址(如區域網中的Linux攻擊機192.168.200.3),訪問主機的某一網路服務(如FTP、HTTP、SMB),而其他的IP地址(如Windows攻擊機192. 168.200.4)無法訪問。
①首先確保kali和SEEDUbuntu可以正常telnet WinXP,但是輸入之後發現不能正常telnet WinXP,如圖。

②了使得kali可以正常telnet WinXP,在WinXP點選開始--執行開啟cmd,輸入services.msc,跳出服務介面,找到Telnet,發現目前狀態是已禁止,我們需要右鍵--屬性,修改啟動型別為自動或者手動,如圖。

然後,再回到列表的Telnet,右鍵--啟動,如圖。

在cmd輸入net start telnet,也顯示已啟動,表明啟動成功,如圖。

開始--控制面板--Windows防火牆--高階--網路連線設定--勾選Telnet伺服器,如圖。

再回到kali和SEEDUbuntu就可以正常telnet WinXP啦。


4)下面再WinXP設定IP安全策略來限制固定IP(kali的IP)訪問。
①建立安全策略:控制面板--管理工具--本地安全策略--IP安全策略右鍵--建立IP安全策略,進入設定嚮導,設定IP安全策略名稱為“限制固定IP遠端訪問”,在警告提示框選擇“是”,其他均保持預設點選下一步,如圖。

結果如下圖,我們建立了一個IP篩選器。

②新增阻止特定IP訪問的篩選器。
點選新增--進入安全規則嚮導--一直保持預設設定點選下一步--遇到警告點選“是”,如圖。

結果如下圖。

點選新增--自定義IP篩選器名稱為“阻止特定IP遠端訪問”--新增--進入安全規則嚮導,如圖。

點選下一步--源地址選擇“一個特定的IP地址(Kali:192.168.200.3)”--下一步--目標地址選擇“我的IP地址”--選擇協議型別“TCP”--下一步--設定IP協議埠“從任意埠”“到此埠(輸入23)”--下一步--完成。完成後,會在IP篩選列表看到新增的資訊,如下圖,再點選確定。

【注】Telnet伺服器的埠號23是開啟控制面板--Windows防火牆--Telnet伺服器--編輯--檢視埠號為23,如圖。

配置IP篩選器阻止的動作:在點確定後--選擇配置的“阻止所有IP遠端訪問”,點選下一步,如圖。

點選新增--選擇阻止--確定,得到下圖“新篩選操作(1)”,代表的是阻止。

然後選中“新篩選操作(1)”,點選下一步--完成,如圖所示,至此我們新增好了阻止特定IP訪問的篩選器。

③新增允許特定IP訪問的篩選器(跟新增阻止特定IP訪問的篩選器步驟一樣)
繼續點選新增--點選新增--進入安全規則嚮導--一直保持預設設定點選下一步--遇到警告點選“是”,如圖。

結果如下圖。

點選新增--自定義IP篩選器名稱為“允許特定IP遠端訪問”--新增--進入安全規則嚮導,如圖。

點選下一步--源地址選擇“一個特定的IP地址(SEEDUbuntu:192.168.200.3)”--下一步--目標地址選擇“我的IP地址”--選擇協議型別“TCP”--下一步--設定IP協議埠“從任意埠”“到此埠(輸入23)”--下一步--完成。完成後,會在IP篩選列表看到新增的資訊,如下圖,再點選確定。

配置IP篩選器允許的動作:在點確定後--選擇配置的“允許所有IP遠端訪問”,點選下一步。

點選新增--選擇允許--確定,得到下圖“新篩選操作(2)”,代表的是允許。

然後選中“新篩選操作(2)”,點選下一步--完成,如圖所示,至此我們新增好了允許特定IP訪問的篩選器。

④應用我們剛剛配置的兩個IP安全規則(允許特定IP遠端訪問和阻止特定IP遠端訪問)
指派此安全規則:右鍵“限制固定IP遠端訪問”——選擇“指派”,至此所有工作配置完成,如圖。


這樣被阻止訪問WinXP的Kali去telnet靶機WinXP,發現一直處於trying狀態,而被允許訪問WinXP的SEEDUbuntu去telnet靶機WinXP發現可以連通,如圖。


(3)動手實踐:Snort
使用Snort對給定pcap檔案(第4章中的解碼網路掃描任一個pcap檔案,之前的實踐已經提供了,請在雲班課中下載)進行入侵檢測,並對檢測出的攻擊進行說明。在BT4 Linux攻擊機上使用Snort,對給定的pcap檔案進行入侵檢測,獲得報警日誌。
1)在kali上用snort對listen.pcap檔案進行入侵檢測。
①輸入命令snort -r listen.pcap -c /etc/snort/snort.conf -K ascii,可以看到檢測到的資料包資訊,有TCP,ARP,主要是TCP。

②執行命令vim /var/log/snort/snort.alert.fast開啟檔案,可以發現這個攻擊是nmap發起的,當然還有很多其他的資訊:源地址、目的地址等。可以從中找到SCAN nmap XMAS的關於nmap的報警資訊。

(4)分析配置規則
分析虛擬網路攻防環境中蜜網閘道器的防火牆和IDS/IPS配置規則,說明蜜網閘道器是如何利用防火牆和入侵檢測技術完成其攻擊資料捕獲和控制需求的。
1)我們先使用su -提權,然後輸入vim /etc/init.d/rc.firewall去檢視檔案,create_chains函式定義了3個鏈,白名單、黑名單和防護名單,白名單是設定能通過的使用者,白名單以外的使用者都不能通過,黑名單是設定不能通過的使用者,防護名單是部分包能通過。

2)獲取IPTables的實際規則列表、snort和snort_line的實際執行引數
輸入iptables -L來檢視規則列表,如圖。

3)通過 vim /etc/init.d/snortd 開啟Snort指令碼檔案,可以看到監聽網絡卡和儲存配置檔案的位置。

4)輸入vim /etc/init.d/hw-snort_inline可以看到Snort_inline執行時引數,-D表示Daemon模式,-c表示讀取config檔案,-Q表示使用QUEUE模式,-l表示輸出log檔案的目錄,-t表示改變程式執行時所參考的根目錄位置,如圖。

5)防火牆、NIDS、NIPS是如何啟動
使用chkconfig --list|grep snort命令來對linux上執行的服務進行查詢,可以發現NIDS的0~6都是off,說明是需要手動啟動的,而防火牆和NIPS不全是off,是跟隨系統啟動的。

6)蜜網閘道器中的Snort規則是如何升級
使用命令vim /etc/honeywall.conf開啟配置檔案,找到update variables,可以看到其值為no,不自動更新,如圖。

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

  • 問題1:輸入命令後檢視執行內容無法翻頁。
  • 問題1解決方案:用shift+Fn+上下箭頭即可翻頁。

5.實踐總結

這次試驗在配置Windows作業系統平臺上的個人防火牆的實驗過程中遇到很多問題,做的時候感覺很複雜,但是做出來之後回顧了一下發現其實流程並不難,總體來說近幾次實驗上手越來越快了。