20199313 2019-2020-2 《網絡攻防實踐》第五週做業

20199313 2019-2020-2 《網絡攻防實踐》第五週做業


本博客屬於課程:《網絡攻防實踐》
本次做業:《第五週做業》
我在這個課程的目標:掌握知識與技能,加強能力和本領,提升悟性和水平。

1、知識點梳理與總結

上週回顧:
上週咱們學習了TCP/IP各層的網絡安全基礎知識,以及網絡空間的常識,咱們在本身搭建的屬於本身的虛擬網絡中進行各類知識、技巧的學習。
同時,咱們上週對嗅探器作了全方位的學習。
接下來咱們就要開始針對重要協議的攻擊展開學習。web

2、網絡拓補結構

本次實驗使用的網絡拓撲結構如圖:

3、ARP緩存欺騙攻擊

1.ARP通信協議過程

因爲局域網的網絡流通不是根據IP地址進行,而是按照MAC地址進行傳輸、計算機是根據mac來識別一臺機器。
區域網內A要向主機B發送報文,會查詢本地的ARP緩存表,找到B的IP地址對應的MAC地址後,就會進行數據傳輸。
若是未找到,則A廣播一個ARP請求報文(攜帶主機B的IP地址),網上全部主機包括B都收到ARP請求,但只有主機B識別本身的IP地址,因而向A主機發回一個ARP響應報文。
其中就包含有B的MAC地址,A接收到B的應答後,就會更新本地的ARP緩存。接着使用這個MAC地址發送數據(由網卡附加MAC地址)windows

2.實踐過程

首先查看一下本身攻擊機的IP和mac地址,若是ifconfig命令中沒有顯示HWADDR字樣的mac地址,則能夠用nmcli device show eth0 命令來查看mac地址(其中eth0則是你的網卡編號)
在虛擬機中,經過fping命令,fping -g 192.168.220.1/24查看當前局域網還存在那些主機,以肯定要攻擊的主機的ip地址,咱們發現一共四臺主機在線(ubantu、theseed、Metasploitable、用戶主機),本次咱們使用ubantu來篡改theseed和Measploitable的ARP表來達到雙向監聽的效果。(其實咱們能夠在局域網內任意選擇兩個主機的IP來作ARP欺騙)
因爲咱們對局網內的主機進行了檢測,因此咱們如今的ARP表應該多的一塌糊塗,這時候咱們用組合命令來清除一下ARP表:
arp -n|awk '/^[1-9]/{system("arp -d "$1)}' 注意這條命令須要root權限
而後咱們用ping命令來檢測和其餘兩臺主機的連通性,順便獲取一下他們的MAC信息,此時的ARP表就十分清爽

緩存


如何進行ARP欺騙不被發現:
開啓端口轉發:echo 1 >/proc/sys/net/ipv4/ip_forward
關閉端口轉發:echo 0 >/proc/sys/net/ipv4/ip_forward
查看端口轉發是否成功:cat /proc/sys/net/ipv4/ip_forward 若是顯示1則表示開啓成功,顯示0則開啓失敗
開啓IP轉發後 流量會通過kali的主機然後再去到目標因此這時開啓arpspoof 那麼目標就不會斷網,由於流量經過了kali主機那麼咱們就能夠攔截相關數據。
使用netwox工具僞造tcp報文,利用netwox的80工具: 80 : Periodically send ARP replies,客戶端(須要ip地址與MAC地址)與服務端(須要ip地址與MAC地址)和攻擊機(須要ip地址與MAC地址) 在同一局域網內, 攻擊機使用命令來向另外一臺主機發送tcp報文,來修改靶機的ARP表:netwox 80 -e "攻擊機MAC地址" -i "服務端ip地址"
這條命令被廣播以後,其餘虛擬機關於靶機的IP對應mac地址的ARP表都被修改爲了攻擊機的mac地址(圖一),咱們接下來要作的是同時修改靶機關於網關的地址,就能夠作到雙向監聽(圖二)



安全

4、ICMP重定向攻擊

ICMP重定向報文是ICMP控制報文中的一種。在特定的狀況下,當路由器檢測到一臺機器使用非優化路由的時候,它會向該主機發送一個ICMP重定向報文,請求主機改變路由。路由器也會把初始數據報向它的目的地轉發。 ICMP雖然不是路由協議,可是有時它也能夠指導數據包的流向(使數據流向正確的網關)。ICMP協議經過ICMP重定向數據包(類型五、代碼0:網絡重定向)達到這個目的,原理上和APR重定向很類似。服務器

使用netwox工具僞造ICMP重定向報文,利用netwox的86工具 86 : Sniff and send ICMP4/ICMP6 redirect。使用命令:netwox 86 -f "host 192.168.220.5" -g 192.168.220.4 -i 192.168.220.1
其中-f是靶機的host,-g 是指定新的網關地址(攻擊機IP);-i是當前網關地址;也即攻擊者冒充當前網關,通知受害者修改本身的網關IP。
在圖中咱們能夠看到,自己應該發往網關的報文被攻擊機以網關的身份重定向到咱們的攻擊機,在此咱們能夠獲取靶機所發出的全部報文。
cookie

5、SYN洪水攻擊

SYN Flood攻擊
Dos(Denial of Service)拒絕服務攻擊是指在特定攻擊發生後,被攻擊的對象不能及時提供應有的服務。從廣義上說,任何致使服務器不能正常提供服務的攻擊都是拒絕服務攻擊。
SYN Flood是當前最流行的拒絕服務攻擊之一,這是一種利用TCP協議缺陷,發送大量的僞造的TCP鏈接請求,從而使得被攻擊方資源耗盡(CPU滿負荷或內存不足)的攻擊方式。
TCP協議是基於鏈接的,也就是說,爲了在服務端和客戶端之間傳送TCP數據,必須先創建一個虛擬電路,也就是TCP鏈接。
創建TCP鏈接的標準過程是這樣的:

第一步,請求端(客戶端)發送一個包含SYN標誌的TCP報文,SYN即同步(Synchronize),同步報文會指明客戶端使用的端口以及TCP鏈接的初始序號;
第二步,服務器在收到客戶端的SYN報文後,將返回一個SYN+ACK的報文,表示客戶端的請求被接受,同時TCP序號被加1,ACK即確認(Acknowledgement);
第三步,客戶端也返回一個確認報文ACK給服務器端,一樣TCP序列號被加1,到此一個TCP鏈接完成。
以上的鏈接過程在TCP協議中被稱爲三次握手。
問題就出在TCP鏈接的三次握手中,假設一個用戶向服務器發送了SYN報文後忽然死機或掉線,那麼服務器在發出SYN+ACK應答報文後是沒法收到客戶端的ACK報文的(第三次握手沒法完成),這種狀況下服務器端通常會重試(再次發送SYN+ACK給客戶端)並等待一段時間後丟棄這個未完成的鏈接,這段時間的長度咱們稱爲SYN超時,通常來講這個時間是分鐘的數量級(大約爲30秒-2分鐘);一個用戶出現異常致使服務器的一個線程等待1分鐘並非什麼很大的問題,但若是有一個惡意的攻擊者大量模擬這種狀況,服務器端將爲了維護一個很是大的半鏈接列表而消耗很是多的資源。實際上若是服務器的TCP/IP棧不夠強大,最後的結果每每是堆棧溢出崩潰——即便服務器端的系統足夠強大,服務器端也將忙於處理攻擊者僞造的TCP鏈接請求而無暇理睬客戶的正常請求(畢竟客戶端的正常請求比率很是之小),此時從正常客戶的角度看來,服務器失去響應,這種狀況咱們稱做:服務器端受到了SYN Flood攻擊(SYN洪水攻擊)。網絡

使用netwox工具僞造ICMP重定向報文,利用netwox的76工具76 : Synflood 。使用命令:netwox 76 -i 192.168.220.64 -p 80
用法:netwox 76 -i ip -p port [-s spoofip]
參數:
-i | --dst-ip ip 目標IP地址
-p | --dst-port port 目標端口號
-s | --spoofip spoofip IP欺騙初始化類型
(這裏咱們也用ubantu用cpp實現了syn拒絕服務攻擊,附圖在後文)
使用命令:netwox 76 -i 192.168.220.64 -p 80
能夠看到,咱們的靶機windows xp已經卡死了(cpu佔用100%),臨死前的wireshark捕獲到了大量的tcp報文

併發

防護措施:
SYN cookie是抵抗SYN-Flooding的防護機制.
防護原理簡介:
在TCP服務器收到TCP SYN包並返回TCP SYN+ACK包時,不分配一個專門的數據區,
而是根據這個SYN包計算出一個cookie值.
在收到TCP ACK包時,TCP服務器在根據那個cookie值檢查這個TCP ACK包的合法性.
若是合法,再分配專門的數據區進行處理將來的TCP鏈接.tcp

6、TCP_RST攻擊

使用netwox的78號工具對靶機進行TCP RST攻擊,強行斷開靶機的tcp連接。利用netwox的76工具78 : Reset every TCP packet netwox 。使用命令:netwox 78 -i 192.168.220.64
咱們使用上週的talent鏈接紫丁香社區,此時咱們的主機在和服務器之間不停的進行tcp報文的通信,若是咱們用TCP_RST,則會使連接馬上斷開ide

7、TCP會話劫持攻擊(bouns攻擊)

方法零:依據個人理解,咱們只須要使用前述ARP欺騙或ICMP欺騙使得服務器和客戶端之間的通訊被咱們的攻擊機劫持,在此就不過多贅述有關ARP和ICMP欺騙的過程。欺騙完成後結合方法三進行會話劫持。
方法一:在seed上使用telnet登陸msfadmin,總顯示找不到連接,我回頭再研究一下,T.T


方法二:使用netwox的40號工具構造一個TCP數據包,來達到TCP會話劫持的效果
咱們用wireshark來檢測靶機和服務器之間的tcp會話信息如圖,咱們看到了源端口51268和通訊端口23(telnet)以及發送的數據字符l
劫持命令以下:(須要配合方法一使用)
netwox 40 --ip4-dontfrag --ip4-ttl 64 --ip4-protocol 6 --ip4-src 192.168.220.5 --ip4-dst 192.168.220.7 --tcp-src 51268 --tcp-dst 23 --tcp-seqnum 55 --tcp-acknum 102 --tcp-ack --tcp-psh --tcp-window 128 --tcp-data "6c"
其中參數的意義以下:
attacker觀察數據包,依次設置參數
IP4 tos :無需設置
IP4 id :無需設置,由於報文會設置爲不容許分段
IP4 dontfrag :1(不容許分段,參考報文1)
IP4 offsetfrag :0(參考報文1)
IP4 ttl :64(參考報文1)
IP4 protocol :6(參考報文1)
IP4 src :48222(參考報文1)
IP4 dst :23(參考報文1,telnet服務默認端口)
IPv4 options :無需設置(參考報文1)
TCP src :192.168.175.140
TCP dst :192.168.175.141
TCP seqnum :1137345078(參考報文2)
TCP acknum :2543750827(參考報文2)
TCP ack :1
TCP psh :1(表示有data數據傳輸)
TCP window :128(筆者隨意設置的)
`tcp-data :"6c"(6c是l的16進制下字符l的Ascii碼)
在第四張圖中,無論我怎麼按鍵盤,個人seed都不會有反應(緣由在第五張圖,產生了ack風暴)
能夠看到,我門成功劫持了會話,而且和服務器創建了通訊




8、附錄(netwox功能表)

1:顯示網絡配置 2:顯示調試信息 3:顯示有關IP地址或主機名的信息 4:顯示有關以太網地址的信息 5:獲取IP列表中計算機的以太網地址 6:顯示如何訪問IP地址 7:嗅 8:嗅探並顯示打開的端口 9:嗅探和顯示以太網地址 10:嗅探和顯示網絡統計信息 11:嗅探並驗證校驗和 12:顯示要用於netbox參數的值 13:爲每一個設備獲取嗅探和欺騙的DLT類型 14:僞造唱片 15:顯示記錄的內容 16:轉換記錄 17:從新計算記錄中數據包的校驗和 18:從新組合記錄的IP數據包,並從新排序TCP流 19:從記錄中提取一系列數據包 20:從記錄中搜索數據包中的字符串 21:轉換數字 22:轉換字符串 23:顯示ASCII表 24:轉換IP地址範圍 25:測試目錄是否安全 26:轉儲文件 27:計算文件的MD5 28:將二進制文件轉換爲可讀和可編輯的文件 29:將可讀和可編輯的文件轉換爲二進制文件 30:將文件從unix轉換爲dos 31:將文件從dos轉換爲unix 32:欺騙以太網數據包 33:欺騙EthernetArp包 34:欺騙以太網4數據包 35:欺騙以太網4 udp數據包 36:欺騙以太網4 TCP數據包 37:欺騙以太網4 ICMP4數據包 38:欺騙Ip4包 39:欺騙Ip4Udp數據包 40:欺騙Ip4Tcp數據包 41:欺騙Ip4Icmp4數據包 42:包樣本的欺騙:片斷 43:包樣本欺騙:片斷,ip4opt:noop 44:數據包樣本欺騙:片斷,ip4opt:rr 45:數據包樣本欺騙:片斷,ip4opt:lsrr 46:數據包樣本欺騙:片斷,ip4opt:ts 47:數據包樣本欺騙:片斷,ip4opt:ipts 48:數據包樣本欺騙:片斷,ip4opt:ippts 49:Ping ICMP 50:Ping ICMP(EthIP欺騙) 51:Ping TCP 52:Ping TCP(EthIp欺騙) 53:Ping-UDP 54:Ping-UDP(EthIp欺騙) 55:平ARP 56:Ping ARP(EthIp欺騙) 57:跟蹤路由ICMP 58:Traceroute ICMP(EthIP欺騙) 59:跟蹤路由TCP 60:Traceroute TCP(EthIp欺騙) 61:Traceroute UDP 62:Traceroute UDP(EthIp欺騙) 63:指定IP協議上的Traceroute 64:指定IP協議上的Traceroute(EthIp欺騙) 65:掃描ICMP 66:掃描ICMP(EthIP欺騙) 67:掃描TCP 68:掃描TCP(EthIp欺騙) 69:掃描UDP 70:掃描UDP(EthIp欺騙) 71:掃描ARP 72:掃描ARP(EthIp欺騙) 73:模擬多臺計算機(arp和ping)的存在 74:用隨機碎片淹沒宿主 75:使用大量以太網數據包填充交換機表 76:綜合洪水 77:檢查seqnum是否可預測 78:重置每一個TCP數據包 79:確認每一個TCP SYN 80:按期發送ARP回覆 81:發送ICMP4時間戳 82:嗅探併發送沒法到達的ICMP4/ICMP6目標 83:超過嗅探和發送ICMP4/ICMP6時間 84:嗅探和發送ICMP4/ICMP6參數問題 85:嗅探併發送ICMP4源淬火 86:嗅探併發送ICMP4/ICMP6重定向 87:TCP客戶端 88:UDP客戶端 89:TCP服務器 90:UDP服務器 91:TCP服務器多客戶端 92:UDP服務器多客戶端 93:TCP遠程管理服務器 94:TCP遠程管理客戶端(exec) 95:TCP遠程管理客戶端(獲取文件) 96:TCP遠程管理客戶端(put文件) 97:系統日誌客戶端 98:用syslog消息淹沒主機 99:TELNET客戶端 100:TELNET客戶端執行一個或多個命令 101:暴力telnet客戶端 102:查詢DNS服務器 103:獲取綁定DNS服務器的版本 104:DNS服務器老是回答相同的值 105:嗅探併發送DNS答案 106:發送電子郵件 107:發佈新聞組消息 108:列出服務器上可用的新聞組 109:下載一條或多條新聞組郵件 110:以太網網橋限制流 111:FTP列出目錄 112:FTP客戶端:獲取文件 113:FTP客戶端:放置文件 114:FTP客戶端:刪除文件 115:FTP client:遞歸獲取目錄 116:FTP client:遞歸放置目錄 117:FTP客戶端:遞歸刪除目錄 118:HTTP獲取 119:HTTP頭 120:HTTP帖子 121:HTTP輸入 122:HTTP刪除 123:HTTP跟蹤 124:HTTP選項 125:HTTP服務器 126:HTTP遠程管理服務器 127:使用異或加密/解密文件 128:將文件分紅小塊 129:從新組合文件塊 130:暴力ftp客戶端 131:暴力http客戶端(站點密碼) 132:強制http客戶端(代理密碼) 133:轉換url/uri 134:在HMTL文件中獲取url/uri 135:將HMTL文件中的url/uri轉換爲絕對url 136:Web下載(http://。。。或ftp://…) 137:建立工具138的示例配置文件 138:WebSpider(使用137工具建立的配置文件) 139:命令行上的WebSpider(徹底遞歸) 140:欺騙以太網6數據包 141:欺騙以太網P6UDP數據包 142:欺騙以太網P6TCP數據包 143:欺騙以太網P6ICMP6數據包 144:欺騙Ip6數據包 145:欺騙Ip6Udp數據包 146:欺騙Ip6Tcp數據包 147:欺騙Ip6Icmp6數據包 148:Ping ICMP6鄰居發現 149:Ping ICMP6鄰居發現(EthIp欺騙) 150:掃描ICMP6鄰居發現 151:掃描ICMP6鄰居發現(EthIp欺騙) 152:交互式IRC客戶端 153:IRC客戶端列表頻道 154:IRC客戶端偵聽頻道 155:網絡性能測量:TCP服務器 156:網絡性能測量:TCP客戶端 157:網絡性能度量:UDP服務器 158:網絡性能度量:UDP客戶端 159:SNMP獲取 160:SNMP漫遊 161:SNMP陷阱 162:SNMP Trap2 163:SNMP通知 164:SNMP集 165:TFTP客戶端:獲取文件 166:TFTP客戶端:放置文件 167:TFTP服務器 168:FTP服務器 169:顯示簡單的網絡配置,易於解析 170:TELNET服務器 171:DHCP客戶端 172:新聞組的列表文章範圍 173:下載一條或多條新聞組郵件的概述 174:FTP客戶端:獲取文件並檢查其MD5 175:Web下載(http://。。。或ftp://…)並檢查其MD5 176:TFTP客戶端:獲取一個文件並檢查其MD5 177:檢查SMTP服務器是否啓動 178:檢查IRC服務器是否啓動 179:DHCP客戶端請求通知 180:SNTP客戶端獲取時間 181:SNTP服務器 182:獲取web文件的大小(http://。。。或ftp://…) 183:TCP中繼 184:UDP中繼 185:TCP多客戶端中繼 186:毫秒睡眠 187:顯示日期和時間 188:系統日誌服務器 189:SMTP服務器 190:煮咖啡 191:生成密碼(英語, 法語、西班牙語) 192:包樣本欺騙:片斷,ip4opt:ssrr 193:IDENT client請求有關打開會話的信息 194:IDENT client建立會話並請求其信息 195:標識服務器 196:誰是客戶 197:誰是客戶端猜想服務器 198:SMB/CIFS客戶端:列出共享 199:SMB/CIFS客戶端:建立目錄 200:SMB/CIFS客戶端:刪除目錄 201:SMB/CIFS客戶端:重命名目錄 202:SMB/CIFS client:列出目錄的內容 203:SMB/CIFS客戶端:刪除文件 204:SMB/CIFS客戶端:重命名文件 205:SMB/CIFS客戶端:獲取文件 206:SMB/CIFS客戶端:放置文件 207:SMB/CIFS客戶端:遞歸獲取目錄 208:SMB/CIFS客戶端:遞歸地放置目錄 209:SMB/CIFS客戶端:遞歸刪除目錄 210:命令行上的WebSpider(保持在同一目錄中) 211:網絡蜘蛛:將本地下載的文件名轉換爲其原始url 212:Web spider:將url轉換爲其本地下載的文件名 213:顯示IP地址列表 214:Traceroute發現:網絡拓撲圖 215:Traceroute發現(EthIp欺騙) 216:嗶聲 217:SMB/CIFS服務器 218:netbox內部驗證套件 219:計算文件的加密哈希(md五、sha等) 220:將二進制文件轉換爲base64編碼的文件 221:將base64編碼的文件轉換爲二進制文件 222:在HMTL文件中,禁止指向本地url的連接

相關文章
相關標籤/搜索