2020年新版TCP-IP攻击实验-实验报告x
时间:2020-10-18 12:37:23 来源:勤学考试网 本文已影响 人
中南大学
TCP/IP攻击实验
实验报告
学生姓名
学 院 信息科学与工程学院
专业班级
完成时间 2015 年11月29日
目 录
TOC \o "1-5" \h \z \o "Current Document" 实验描述 3
\o "Current Document" 实验步骤 3
\o "Current Document" 2.1环境搭建 3
\o "Current Document" 2.2实验1: ARP缓存中毒 4
\o "Current Document" 2.3实验2: ICMP重定向攻击 6
\o "Current Document" 2.4实验3: SYN洪流攻击 7
2.5 实验4:在telnet 和ssh连接上的
TCP RST攻击 10
2.6实验5:对视频流应用程序的 TCPRST
攻击 12
2.7实验6: ICMP盲目连接重置和源端关
闭攻击 12
\o "Current Document" 2.8实验7: TCP报文劫持 13
\o "Current Document" 总结 14
TCP/IP攻击实验
实验描述
【实验背景】
由于TCP/IP协议是In ternet的基础协议,所以对 TCP/IP协议的完善和改进是非常必要 的。TCP/IP协议从开始设计时候并没有考虑到现在网络上如此多的威胁 ,由此导致了许多形
形色色的攻击方法,一般如果是针对协议原理的攻击 (尤其DDOS),我们将无能为力。
TCP/IP攻击的常用原理有:
源地址欺骗(Source Address Spoofing)、IP 欺骗(IP Spoofing)和 DNS 欺骗(DNS Spoofing);
路由选择信息协议攻击 (RIP Attacks);
源路由选择欺骗 (Source Rout ing Spoofi ng);
⑷ TCP 序列号欺骗和攻击 (TCP Sequenee Number Spoofing and Attack)。
【实验目的】
基于TCP/IP协议进行攻击实验,了解TCP/IP协议的具体机制。
实验步骤
2.1环境搭建
这里我使用三台虚拟机做实验, 其中一个用于攻击; 另一个用于被攻击;第三个作为观
察者使用;把三台主机放在同一个 LAN中,其配置信息参照如下所示(实际在实验过程中
有所改动):
Mactilne 1 Machine 2 Ma亡hlne 3
192.166,0.122 1&8.0,123 1^2.1^5.0.124
TOC \o "1-5" \h \z I I I
.
LAN virtual two tit
I 石泌曲彗 1^ I
L I
I
这里我使用的是 SEED实验室已经搭建好,并且已经安装好相关的 netwox工具箱和
Wireshark工具箱的Ubu ntu系统,与此同时三台虚拟机都需要打开 FTP和Tel net服务:
使用如下命令来完成上述任务
Start the ftp server
servicevsftpd start
Start the telnet server
serviceope nbsd-i netd start
2.2实验1: ARP缓存中毒
【实验背景】
ARP缓存是ARP协议的重要的一部分。作为一个ARP协议执行结果,一旦一个在MAC 地址和IP地址之间的映射被决定,这个映射就被缓存。因此,如果影射已经存在在缓存中, 就没有必要再重复 ARP协议。然而,因为 ARP协议是无状态的,缓存可以被轻易的通过恶 意的ARP信息修改。这样的一种攻击叫做 ARP欺骗。
在这样一个攻击中,攻击者使用欺骗 ARP信息来哄骗受害者接受一个无效的 MAC-IP
映射,并且在缓存中保存这个映射。 取决于攻击者的目的不同, 这里可能出现各种类型的后
果。例如,攻击者将一个不存在的 MAC地址关联受害者的默认网关的 IP地址,通过此来
启动一个Dos攻击。
【实验内容】
当发送方B需要向接收方 C发送一个数据时,B会从自己的ARP表中通过C的IP地 址来查找相应的 C的MAC地址。如果 C的MAC地址不在B的ARP表中,B就向全网发 广播包,要求C主机返回它的 MAC地址。当B接收到C返回的MAC地址时,B就将更新 它的ARP表。同时,C主机也将B主机和它对应的 MAC地址记录到 C的ARP表中。ARP 表的更新采用牛奶原则, 也就是说,ARP表将无条件接受最后一次收到的 ARP包作为ARP 更新的数据。鉴于此,攻击者A可以利用一些工具伪造一个 ARP包,将C的IP对应的MAC 地址修改为自己的 MAC地址,并将这个数据包发送给 Bo B在更新了 ARP表之后,新的发 往C的数据包就会被发送到 Bo
查询netwox说明后得知,33号工具用于伪造 ARP包。使用命令查看该工具的详细使 用方法。
netwox 33 -- help2
Terminal
17 packets transnitted1? received, ◎黑 packet tine I6247(qs
rTt mn/flvg/nflx/ndpv - G. 19?/^ .014/ 1.457/0. ns
[11/29/2915 ?:52] seed?ubuntut-$ netMox 33 --help2
Tit 1 <*: 'jponf ftArp pnckrt
This tool sends o fake packet on the network? racb parameter should bf sfIf SHplaining.
tool n界y nefd to be run with privtlrgr in ordtr to ^poof.
Synonyms: fra^e. hptng, wcr
Synonyms: fra^e. hptng, wcr Usage: netxox 33 [-d device] [Jlp][?h Mh] [7 tp]i P*rametsrs:
■d|--device device 円|- cth sre eth
-bI--eth-dst eth
c|-电th typo uint32
-e|--arp-op uint32
P⑴
I --nrp-ethsrc eth
-g|--arp-Iptr l tp hj* arp ethdst tth
-11--drp-Ipdht tp
{-a eth] [-b eth] [-c uint32] [-e uint32] [- f etti]
device for spoof (Etho}
Ethernet sre £W!flCs29:49:4E:4P}
Ethernet dst {0:8:9:a:b:c}
Ethernet : ARP-2€i4, WAHP-=328Z1 {2対4]
ARP op : liARPREQ, I-ARPRrP, 3_RARPRtp, 4^RARPRC
ARP ethsrc {M:eC:29:49HE:49}
ARP lp£fC {?,? k?+ 0}
arp ethdst {o!aio:9:0i&}
ARP Lpdst {?.ft.0.0}
在进行攻击之前,先在三台主机上互相
在进行攻击之前,先在三台主机上互相 ping
64 bytes fron 37: 5cnp_req-7 ti.ne-1. 22 ey
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
04 bytes
f ron f rcn f ron from from r uci
lD2 + 163 + 2-44.137: icnp_req-3 ttl^64 tvte^O.938 ns
192,168.2-14.137: \cnp_rcq-? ttl■&4 ttne-1.07 ms
19Z.16B<2-14<137: Acnp rcq-W 19Z+168+ZJ4.137: Acnp req=ll 192,163.2*4.137: lCRp_req=12 192.16S.244.137: 15 匸 rwq.13
ttl-6-1 tinc-i?&7 hs ttI-61 rtne-i.ez ns ttl-64 rtne-1.34 ns tfl-64 Llne-0.915
然后使用arp - a命令查看ARP表
之后,在三台主机全部开启的情况下,攻击机 A发动攻击
Netwox 80 -e mac 地址 ” -i ip 地址”
之后,使用同样的方法,给 C主机发送ARP欺骗包。
Terminal.
inetO addr: ::1/L28 Scope:Host
UP 1 00PBACK RUNNTNG HTJ:1&43? Metrtr:1
RX packets; SB errors: B dropped overruns; & f rante:O T< p,ic kf1 st88 erp di s ; 0 dropped :S overr uns: fl ta广rlt?r:6 ccilt 1*;tons:ft txqjeu^len:B
rx bytes:ae&o (9-9 ke) tx byte^;&oee (划k&)
f11/29^2015 64:26] seedpubuntu;sudo
u&a^e: sudg ( -D level」-11 | -K | -k | -V usage: sudo -v [ -AknS] [ -□ level] qroupnane |#gtd^| [-p prompt] us^r
bvL:cmsetdng&
u&dge; mdu
u^a^e: sudo
[11/29/2015 [ll/Z9/Z01i 244.173
jtd]
|-AknS] [-D level] name | \ --u user nanejFutd]
j. -ALEHknPS] [-C f dj J.-D leveL] [-g groupndne| #gtd J [ user nam]*utd] f-g groupn^re|#gtd] [VAR=vilue] [-1j -e [ -AknS] (-C fdj [ -D LtveL] [y ubtr narc[#didJ file
:27] ieedshjbjntu! ^udo netirfox □4:z?J seed^ubjntu;sudo netwox
[graupnane|[-p prompt] [-U user
[-g groupnarc|Hqtd] (ccm^and] -p pronptJ [-u -b] [<connand>] groupnar>?|#gtd J \ - p prompt} [ -u
汕*C
EB "oe:OC:Z9:49:4#;49<, -i 192.1
2.3实验2: ICMP重定向攻击
【实验背景】
ICMP重定向被路由器用来向更新主机的路由信息,最开始只有最少的路由信息。当一 台主机接收到一个ICMP重定向信息,他将会根据接收到的信息来修改路由表。 因为缺少确
认,如果攻击者希望受害者设置它的路由信息为一个特别形式, 他们可以发送欺骗ICMP重
定向信息给受害者,并且欺骗受害者修改它的路由表。
【实验内容】
ICMP重定向信息是路由器向主机提供实时的路由信息,当一个主机收到 ICMP重定向
信息时,它就会根据这个信息来更新自己的路由表。 由于缺乏必要的合法性检查, 如果一个
黑客想要被攻击的主机修改它的路由表,黑客就会发送 ICMP重定向信息给被攻击的主机,
让该主机按照黑客的要求来修改路由表。
在三台机器上搭建的路由指令
A的路由配置指令
sudo ifconfig eth 0 *.*. 220.128 netmask 225.225 .225.0
sudo ifconfig eth1
* *
205.129
netmask
255.255 . 255.0
sudo route add
-net *.*.
220.0
/ 24 gw *.*.
220.128
sudo route add
-net *.*.
205.0
/ 24 gw *.*.
205.129
sudo sysctl
-w net.ipv4,ip_forward=
1
B的路由配置指令
su do ifconfig eth0 *.* . 205.128 netmask 255.255. 255 .0
sudo route add default gw *.* . 220.128 sudo sysctl -w net.ipv4.ip_forward=
C的路由配置指令
su do ifconfig eth0 *.* . 205.128 netmask 255.255. 255 .0
sudo route add default gw *.* . 205.129
sudo sysctl -w net.ipv4.ip_forward= 1
使用netwox86号工具可以完成这个攻击。攻击机 A指令
sudo netwox 86 -f " host *.*. 220.129" -g *.*. 220.130 -c 1 -i *.*. 220.131
-f “ hos被攻击机的IP ” g希望对方网关修改后的 IP -c类型-源IP
这个指令只有在按下 ctrl+c时才会结束,否则一直发送 ICMP包。
此时,在被攻击机 B中使用 WIRESHRK监听ethO,发现不断收到ICMP包,
K IT AlJ
i i c ■- . u r="i |=|
卜 iDash home
& Q > T A Eli Is '
Filter:
EXpressign... C ear AppU
Deitiruticn
Protocol
L?ngtb Infic
192 .IDS. 244. US
29^ Stancara qyery respond A 91,109^2^5 A yi-
0
>NS
81 standard query DS
192,168.744,255
WINS
3? Name query mb wp&D<eo>
192Ufia.244.UB
W2 Standard query response
Wiware 代;邨;3a
w
朋 Who has 192.1M.K4.2? TeU 192.1?8.244h 13E
Vmviaiire b2:ciizl'l
A?P
60 ]W. 15 日t OC:56:56:ft :fi6r3a
b rondeau
jURP
6E0 MtW has 19? 16S.J44 MJ Tell 1^2.16S . .]
vnh-are
ARP
銅 :lt:Qd (tiUE
192. MB. 244 >254
OKP
^42 DHCP Reiuest - Transaction ID 0x6c24c646
U2.1GB.244.130
OHCP
342 DHCP ACK - Transattim ID 和聽
192,166.2^,255
MBNS
92 N叭 query MB HACK1ERIWJC>
192. IBB, 255
RIHNS
9? Nwe query mb hackerph<1c>
M2.1GB.344.3M
hlBNS
92 Nare query MB HACKERPt*c)c>
2.4实验3: SYN洪流攻击
【实验背景】
SYN洪流攻击是Dos攻击的一种形式,攻击者发送许多 SYN请求给受害者的TCP端
口,但是攻击者没有完成三次握手的意向。攻击者或者使用虚假的 IP地址,或者不继续过
程。在这个攻击中,攻击者可以使受害者的用于半开连接的队列溢出, 例如,一个完成SYN,
SYN-ACK但没有收到最后的 ACK回复的连接。当这个队列满了的时候,受害者不能够在 进行更多的连接。
SYN缓存策略:SYN缓存是是对抗 SYN洪流攻击的一种防御机制。如果机器检测到 它正在被SYN洪流攻击,这种机制将会 kick in。
【实验内容】
如果一个TCP连接没有完成三次握手,它将被放入半开连接队列,而半开连接队列有 最大长度,如果连接数量达到最大容量时,新的连接就不能够被建立。 SYN洪泛攻击就是
通过未完成的 TCP请求来试图充满半开连接队列,使得正常的连接不能够被建立,达到攻 击的效果。
在这个实验中,使用telnet服务作为攻击目标,在 23号端口发起SYN洪泛攻击。
首先,尝试在主机B和C之间建立telnet连接,说明网络联通。主机B远程登录主机 C 的账户
TcrmlHifl
TtrinlrMl
▼ T9
J11/29/2015 05;nj root Kubuntu ; /hone/ 5 rird telnet 1^2 ?1GE 池 44 ?1甜 TrytrLfl 192..16B.244I ?L3导…?
coMccted to [轉Lif 刘Hhiaa.
i.5Cip>e cMracteir 1ls '*]' b
LbuntJ 12.A4.2 LTEi
■ubwntu logins
iPd^^Nordii
Helcor^ to Ubuntu 17.M ?P LTS (GMU/Linux 3, S.a-37-generic iMCi)
* Oocuncntotlofli: https.:y/hclp ^wbufitu- tg*,/
(Mew
RUifi
rrlrase ' 14. M. I LTS,! aMilablff,
de - release-upg『己血‘ t:口 upgradE to Lt?
The
thfi tMlwlduil files in /ikr/&hjire/diM/v/u^yrlght.
prog raws incluM with tfie uiHjntu tysten are free 旳nware; ejuct. ^lSitTlLt>iJtlgn t€rns Tor each p广?習「沪 are described tn ttie
Ubuntj cones with WSOLinELY NO 敗RRJ內rv』ts the exte仃亡 p&fmttted by In.
r
r
Twit*
在主机C上,通过命令 netstat —a | grep tep命令查看当前的 TCP相关端口的状态,发 现23号端口处于联通状态
0 Ttrmln?l
RX parcket&:3^@ errors 10 ?『apped;Q overruns:& frame:a rx pa<ket£il8e errors:0 dr^ppedte owe『「unsre* c&rrteriff c^lListons^e> txqu*upl#n:Q
RX bytes:43139 t43,1 KB) TX byt?5:43130 (41.1 K6)
6
e
U7.B. 0.1:3306
0.0.6
LISTEN
S
0
sAe?a.e:&ee?
o.o.e
■秋■
LISTEN
e
0
0 b 0 a 0 + 0180
e.e.e
LISTEN
9
e
1?2+1$8.244.136:53
O.C.S
LISTEN
e
e
O u 0..0:21
e.e.e
?◎:■
LISTEN
e
e
垃化?札仁射
e.e-B
uftl*
LISTEM
e
e
:22
o.o.e
.Ar*
LISTEN
e
0
127.6,8.1:A31
o.e.e
LISTEN
费
费
古「仏f羽
a.B.e
be:*
LISTEN
e
@i
:953
fi.G.e
LI STEM
1
e
19*2. LAS u244 * 13@ z 391A4
91.169.8^.144:BB
CLOSE^WALI
s
5
192+168.244,158;23
3^:42412
ESTABLlSMtO
9
9
;;;*
LISTEN
6
e
0
::;ZZ
p ?w
LISTfM
6
0
0
;:1:631
■ - ■> -A
LISTEM
6
@
0
:::31ZS
LIS-TEN
打
口
@
Ul:?53
:I r *
LISTEH
[11/29/2015 ^5:19 j rootfubuntij:/ home/seedtf netstat -na | grep tep
[11/29/2015 05:22] rootfubuntu!/hOTe/seed? I
在主机C上查看C的半开连接队列的最大长度为 128,缓冲保护开启。
Termlniil
甘
S 127-B.e.1:S3
o.e.o.o:*
LISTEN
S a.0.?wft:22
0.4.0.os*
LISTEN
S 127-O.ft.1:131
LISTEN
3
LISTEN
6
9 1Z7.BP0,1:?J
o^.e.o:*
LISTEN
1
3 192?IO呂.24斗亠丄SB:弓好LOT
CLO5E_WAIT
e
B 1^2.160^44.130:21
1与2.工呱蟲■2斗4.137:43斗丄2
ESTABLISHED
0
13 1U53
LISTEN
tcpd
0
0 :;:22
i::*
LISTEN
?
曹
0 :El;fi31
a + + ti a v- ?
LISTEN
6
3 :::31Z8
LISTEN
t■: &
9 :
■ * ? *
LISTEM
[i 1/23/261L 『口at庭tiburltiJ: /horie/seedfl
s/s£tl -a|grEp 5口kie
世rrar:
*5uccesi"
『ending key *dev ?p£『pQ「t .parpo『I CL put opr nb 杞91
error;
"Suchs* "
『ffidingj k*y "d?vepirpQrt?p^rpo『t(L?ut?pirQb^<T
error:
"success"
fading key rdew,parp0rt,|>arpM@rte^uUprobclH
error:
Success"
redding key *dev?purport:.
pd r pc r tO. an top r o be 2H
error:
*SuCceSS"
reading; key "deu1.purport,parpcrtO.autoprobes*
errors
pcrMtslon
dtnied m ke^ 1 Mt+t^v4? route e HiKh1
met ? t 口p_
_size ■ 6
Mt .vpv2! ■ tcp_syn
,;i £ s I
t Update
■ nicd on key net.ipvfr,rigmteBflush Hinted on kev "ve■匕mmarv'1
1
在主机B中使用exit命令断开与 C的tel net连接。之后在主机 A中使用netwox76号工 具发动针对主机 C23号端口的SYN攻击。
回到主机B中,尝试与主机 C进行telnet远程连接,
从上图及实验过程可以看出,虽然连接的速度很慢,但是是可以连接上的。我在主机
上开启了两个终端,同时试图进行 tel net连接。
到主机C中查看端口连接情况,如图 435和图436。发现,队列中充斥着大量半开连
接,目的端口号都是 C机的23号端口,但是源主机IP和端口却不一致, 而且端口号都是不 常用端口,可以判断出,这极有可能是一次 SYN攻击。
0 f 亠 Term Inal
0
e
192-lfifl.244.136:23
244.205 ?9?囱:212£了
SYM_RECV
0
e
241 + 25S^1.1S3:4SOM
SVN ?ECV
9
a
192.168<244.1>8£23
Z4S.SC .216,49: JJJ19
5VN RECV
0
e
197風?244?1目図:23
Z44 v 09.39,19 B: 69717
SYN RECV
e
Q
192-16B-Z44.13E:Z3
SYM^REGV
e
@
36:23
4:Z57Zfl
SYN HECV
e
0
192.1AB. 244.12B £23
24S.164.222:26111
S¥N_R£CV
0
e
192.16&.244.136:21
253,119,249.ZS0:42L45
sym_.recv
e
e
192.1BB.244.11B:23
244.151hS5dl?A:3?m
SW_AECV
&
內
192. IfiB.244,138:23
2M+185^27.9B: MB 54
SYM.RECV
e
192.1SB-2 44.1H;23
2 : 211M
S¥M_RECT
e
e
192.1&B,244.136:?^
51:14524
SYn KECV
0
e
192.1AB?24441M!Z3
S¥N_^ECV
e
0
192.1M.244<1N;23
ZSZ.lfiT. Z&BU&C
SYM^WECV
0
e
192.16B.244.136:23
Z49.144?7T.231:2Z1?9
S^RECV
e
Q
192.IBGL 244?l36:23
243.70- l&EI ?25:0: 114◎了
SVH^RECV
e
@
36:23
2+4:21929
5¥N
ft
0
192.166-244.130:23
25S.lM.4ea59:27BM
5¥H_K£CV
0
0
a&2^1M.llSA4?:S? 729
a
e
192.169.244.
3K.21^123.1B2i3A?4
SYN RECV
e
1?916&.244,13g:?B
241 + 47?12&.198319354
SVM ?ECV
1192 ? 10 导? 244.23
? 149L 9-3: 4294^
SVhf ^ECV
Update
Il9?- 13B:ZJ
253,22?.46,243:1?2B5
SYlf flECV
0
s
192.1?B>244.13BS23
2? + 217.125,287:16?5
S¥M ?ECV
2.5实验4:在tel net和ssh连接上的TCP RST攻击
【实验背景】
TCP RST攻击可以终止一个在两个受害者之间已经建立的 TCP连接。例如,如果这里
有一个在A和B之间已经建立的telnet连接,攻击者可以伪造一个 A发向B的RST包,打 破这个存在的连接。
【实验内容】
首先完成主机B与主机C的telnet连接,
在C上查看端口连接情况,如图 442,已经完成主机 B与主机C23端口的连接。
。麼* Ttrml'naL
[11/29/2015 05:11J root^ubuntu;/horie/sEed#BD
e
[11/29/2015 05:11J root^ubuntu;/horie/sEed#
B
D
e
B e
3
3
0
9
□
127.O.B.1:33B6
o.a.e^e:Bea9
0.B.O.B:BD
19£.lfle.244A38:53
3.B.氛 £:21
:S3
0.S□G.fl;22
127.0.6,1:631
f}. ft . ft. B:?3
1270.e+l:95i
192r1?S.Z44+13S:391&4
192.1£R.244d13B:Z3
:;;53
:7 :22
:;1;?31
:::312H
nets tat -nd|grep tcp
o.a.b.a:*
o.o,o,6;*
e.a.ft.H:*
0.*
f筑0:直
q.o.o.a:*
O.B.fl.?;-
0.00:*
o.fi.a.a:*
o oo:*
91,189,89.144:86
19W.163.244.137:4?414
LISTEN
LISTEN
LISTEN
LISTEN
LISTEM
Limn
LISTEN
Listen listed
LIST EH
CLOSE.frWIT
ESTABl ISHFD
LISTEN
LISTEN
LISTEN
Lisrtn
LISTEN
这时,在主机 A中通过netwox78号工具发起针对 B主机的RST攻击。
11/29/2015 €4:56] seedgubuntu:~$ sudo netwox -t H192 * 168*244*138" -p "23" l^sudo] password far seed:
The first paraneter ('-th) nust be m number
Error 10010 : this tool wasn't found
[11/^9/2015 05:Z7] beed@ubuntu:-$ budu netwox 70 -L "192,lOfl^44.13&"亠p ”23”
AC[li/29/2ei5 65:321 &eed@ubuntu:~$
[11/29/2615 C5:32] seed@ubuntu:^$
[11/29/2015 €5:32] seed^ubuntu:sudo netwox 78 -t "sudo netwox -t "192.168,224. 137"
回到B主机中,发现没有什么变化,但是当回车之后,出现连接已经被其他主机断开,
并退回到主机B的账户下
[11/29/2015 0S:37] root^ubunt□:/hone/secd#
[11/Z9/201S O5:4JJ root^ubuntu:/hone/seeds |
在主机C中查看此时的连接情况,如图 444。可以看出BC主机的23端口的连接已经
被断开,处于监听状态。
Terminal
0
打
192叫241勺
CSTABLiSIIED
畠
e
e
S t SS3
Z : : ■
LISTEN
0
e
3:122
T : : ■
LISTEN
tcje
6
tj
:;1:631
LlSTlEN
Q
e
US31ZS
R* ? ¥
LISTEN
?「幘
e
@
::1:953
T : : *
LISTEN!
[Ll/29/2aiS 9b
114]
r Dot@ubuntu:/hone/seedff
netstat -na|grep tcp
e
e
127.0.0al:3J0A
LISTEN
e
e
0.0.0,0:8080
e.e.e.o:*
LISTEN
e
e
O.0+0pO:BO
13#上上广
LISTEN
e
曾
t 1<5S.?44.118:51
a.e.e.?:*
LISTENi
0
0
0^Te.0:zi
0-0.B.0:*
LI5TIEM
0
0
:53
LISTEN
0
0
:22
LISTEN
e
0
127.0.0.Isftll
LlSTiEN
e
e
&.@.6.0:Z3
D-9.B.&:*
ILTSTIEN
e
e
127+ePe-l:953
LISTEN
1
1^2 + t6fl.244. US: 39164
91.1B9.B9.14418a
CLOSE rIAIT
tc斶
a
0
:> :53
4- E 4 A
* B +
LISTEN
tcpfi
e
e
! 1 322
w
LISTEN
tcfC
0
a
LISTEN
注意,此时主机 A的攻击并没有停止。回到主机 B中,再次尝试连接主机 C,发现最
开始是连接上了,但是还没来得及显示后续内容,连接就被中断。
[11/29/2015 85:46] seedaubuntu;*-$ Connection closed by foreign host.
[11/29/2615 日5:4E] root^ubuntu:/home^seed# ■
2.6实验5:对视频流应用程序的 TCP RST攻击
【实验背景】
同实验4。
【实验内容】
由于SEED实验室中配置的 Ubuntu没有视频流应用,故此没有完成此实验,但其实与 实验4是相同的原理。
2.7实验6: ICMP盲目连接重置和源端关闭攻击
【实验背景】
ICMP信息同样可以被用于达成连接重置攻击。为了达到这个目的,攻击者发送一条显 示“硬错误”的ICMP的错误信息给TCP连接两端的任意一方。连接将会被立即中断,因 为在RFC1122中主机在接收到这样一个 TCMP错误包时,应当立即中断相关的连接。
RFC1122定义“硬错误”为一个目的不可达且协议无效、端口无效、标志位缺失和 DF位设
置的ICMP错误信息
ICMP源端关闭信息被拥塞路由器用于告知 TCP发送者减缓发送包的速度。攻击者可以
制定这样的信息来实施对 TCP发送者的拒绝服务攻击。
【实验内容】
实验中使用的是实验 2中的拓扑结构及IP地址。
首先在B和C见建立tel net连接:
A是攻击机,A试图伪造一个ICMP错误信息的包,发送给B或C(实验中发送给了 B), 来终止BC见的连接。
r Terminal
interrupt; 19- addressrejcZMe
Link L*0*pb撫fk
irwt addrsl27.0il?l Hask:255?*.*>?0
tneto addr: :scape:Host
UP LUOPBACK RUNN1NPG MTU: 1643& rtetrlC:!
N% packets:a^ trrarssfl droppedowerrunsifl frapbeze
* packet er dr 0 overruns
collistcris.:? txqu讯
rx bytes:8?& (s.o o) tx bvtes:(&,e ks)
(11/29/2015 86: 39] seedfiuibuntu:-5 sudo sysctl net.ipv4-lp_f?rward-1
[*udb] d fer i
net?Ip#嗎.Tp.forwgcd - 1
(ii/Z9peis"96:43] seedouburitu:-% netwox B2 -d EtH旷 -f "host 192.16S.Z44.138 a d tdp M「t: 23*
Errar : not supported
hint: errn* ■ i ■ dpe『Alton wt permitted
hint: e th &: Vou dan't have jper fiissiowi oo not perrvttted)
(ll/2$/2eiS M:S4] seed^iubuntu:-$ mdo
3B ”d tep part 23"
aC[11/?9/?&15 06;59) 询iMWT
[11/29>/2?15 90:59]
111/29/2815 S6:55J
[ii/2?/2?is ea:s?]
[11/29/2S15 e&:59] {11/29^015 S5:59]
11 Jt amri ten- 口nr+
to capture on tIwt device {sc-EJcet: Op?rat
seed@ubuntu:
5<Ndi^ubuhio:-$
seedpwbuntuz-S sudo
WtWOK 92 d "eth0r f 1^2.168.24^.
接下来,在C主机中查看端口连接信息,如图 4.5.1,发现连接并没有终止
?雪* Ttrmlnal
6
& e.fl,0.6:86
a.e.o.a:*
IT5TFN
tcp
0
? 192. MO. 244.138; 53
LISTEN
ECp
e
B乩日+日一日:2¥
LISTEN
0
& 117.^.0,1:53
LISTEN
e
o e.e.a.&:22
e.e.e.a:*
listen
tcp
0
listen
t匚p
B
s e.e.&.s:2i
LISTEN
t * n
e
B :913
e.e.o.B:*
LISTEW
1
91+1&9+89,144:09
CLOSE_HAIT
tcp
e
0 15)2.168.24^. 138:2J
192.16B.244.13 7:4Z4H
LSIABL1SHED
tc| 6
0
o ::?
LISTEN
L \6
0
S ;::22
:u*
LISTEN
在B机中查看wireshark抓取的ethO的流量,如图4.5.2,发现ICMP错误信息包 B收
到了。
出现这种情况的原因可能是在高版本的ubuntu
出现这种情况的原因可能是在高版本的
ubuntu中已经制订了一些策略来防止这些攻
击。
2.8实验7: TCP报文劫持
【实验背景】
会话劫持利用了 TCP/IP工作原理来设计攻击。TCP使用端到端的连接,即 TCP用(源 IP,源TCP端口号,目的IP,目的TCP端号)来唯一标识每一条已经建立连接的 TCP链路。
另外,TCP在进行数据传输时,TCP报文首部的两个字段序号(seq)和确认序号(ackseq) 非常重要。序号(seq)和确认序号(ackseq)是与所携带TCP数据净荷(payload)的多少 有数值上的关系:序号字段(seq)指出了本报文中传送的数据在发送主机所要传送的整个 数据流中的顺序号,而确认序号字段( ackseq)指出了发送本报文的主机希望接收的对方主
机中下一个八位组的顺序号。因此,对于一台主机来说,其收发的两个相临 TCP报文之间
的序号和确认序号的关系为:它所要发出的报文中的 seq值应等于它所刚收到的报文中的
ackseq的值,而它所要发送报文中 ackseq的值应为它所收到报文中 seq的值加上该报文中所
发送的TCP净荷的长度。
【实验内容】
2号机Telnet到3号机,实验在1号机上劫持2号机到3号机上的Telnet报文。
FKer
ExpreiMOFL..
OfAr '■
N&, Tim*
Sourct
MsbnAlkm
Protocol L首怦h Info
H1.U8.2Z4.1
TEUHO
Tilnit hli ?
7
Iff l.lfiJfl'&B
igi 1
W.Vfiin.fM 3
TCP
fc6 于34Z > THwt [1
11 ?. 10144
1?rUH.n4 J
1 El RET
1(6 TeVnet Cw帀■?-
1
12 iMmtt
竹2?T6I? 2M.1
TCP
a 1飢M > ggt
[
13 i.imu
1O.16t.2N.I
lU.IW.fid.l
ILlftlEF
14& TaLfwt Ddta
u?」郎幅
1?.W8.111.1
1C*
U > ilAM
L
fElBET
M Tflflrt Dvtv …
16 ? JW44
WET
钟 TiiVnet &12 ■.?■>
IT ? JIM677
f£ tclnnt ? SM19
[
is tJUir*
wi.ita.izi.i
IEIMEF
H TeLnet D^la ■一
w uum
fELKET
詢 ttiwr D?ra,-,
J
TEllET
K TrtMt Mt …
rrw
mi W£? -il J ■
jrp
r
OH VEF<E 估却 bi 他 jp
陌如tm captured
bits)
? rriar 11? fifi- S|rtM
J EtMf 1I:4 Si1 L:
Z diftvu^Zu 5T: j--*I (S3: SB :2?:5r:d^:£fi. 3^1:
C±jfaL.^Cu
L6z5ke5
M;27:c^t57:ei]
■ lutet net h-vtKvl
i^e^lgn 4. Src; (192.UNJ. lid). (Ht;
192. Ul. 1.11b
* rrAfiuittlfin £*■和el PratM^I, frart : 184J9 CIH4JQ1. Ckf 配rt: ttlinet f SSL bq: JnS,. Ackj T乩 Lia: f
总结
通过这一次内容丰富并且工作量巨大的实验,我对基于 TCP/IP的攻击有了更加深刻甚
至可以说是比较新的认识,对它们各自的机制、攻击特点、相互之间可能存在的联系以及它 们差别所在等等细节问题有了新的看法、 认识,也有了一些专属于我们小组自己的解决方案。
这次实验,让我至少意识到了以下这样一个事实: TCP/IP协议在设计之初仅考虑了成
本和实现功能,并没有过多考虑安全因素。因此 TCP/IP协议栈中提供了大量的起关键作用
的信息和指令,但是这些信息和指令的执行缺乏认证机制, 能够方便地伪造。这也就为如此
M M fb H! 441 84 @? 86II T! K 14 ? 17 2d ftI? 71 O k N B> |1 |J
M M fb H! 441 84 @? 86
II T! K 14 ? 17 2d ft
I? 71 O k N B> |1 |J