信息安全实验整理1

SECFND实验整理:

0.比较WindowsipconfigLinuxifconfig区别:

clip_image001[6]

clip_image002[5]

1.     WindowsMAC地址用-分割,Linux下用:分割。

2.     Linux下将环回端口打出,windows下也有相同环回地址概念,但不显示。127.0.0.1指系统本身

3.     Linux下的DNS显示在/etc/resolv.conf文件中

clip_image003[5]

4.     Linux下的默认网关信息可通过netstat -r 显示

clip_image004[5]

5.     Windows下查看arp

clip_image005[5]

6.     arp-d 命令可以删除表项

clip_image006[5]

7.     Linux下查看arp

clip_image007[5]

8.     windowsping linux主机

clip_image008[6]

9.     抓包结果:开头两个是ARP包交换,后跟8ICMP echo request & reply 对。

前两个ARP包中,第一个帧的源MACwindowsMAC 0A:06:0A:0A:0A 目的MAC 是广播MAC地址ff:ff:ff:ff:ff:ff,所有NIC都会处理发送到广播MAC的帧。ARP请求查找ip地址10.10.6.11MAC,拥有该IPNIC都会响应,提供MAC地址。通过第二个包ARP reply(单播)源地址是Linuxmac 0A:06:0B:0B:0B:0BWindows主机收到响应后更新ARP cache

clip_image010[6]

10.  8个包是ICMP echo request/reply ICMP是工作在IP层上的三层协议,可被攻击者滥用,并被用作攻击向量学习目标网络拓扑。

11.  8ICMP回复完成后,Linux主机又请求Windows主机的MAC,如下图所示,在第一次ARP交换中Linux收到Windows来的ARP请求,已经刷新了ARP Cache,但不知对错,以此次交换进行ARP核对,即保持ARP Cache,防止ARP Cache中条目的老化。

clip_image012[5]

12.  观察前一组ARP交换的以太网帧头,其中目的MACff:ff:ff:ff:ff:ff,即48个二进制1,是广播MACNIC只处理目的地址是自身mac或广播mac的帧,但组播流量和混杂NIC例外。6Byte目的MAC6ByteMAC2Byte类型字段表示帧封装了什么载荷。这个字段用于从这个层指向下一个层次。0x0806表示下一层封装的是ARP载荷。IEEE 802.3逐渐成为以太网的主流标准,IEEE为了兼容Ethernet,边同时用这个字段表示长度和类型。当这个字段的数字小于等于十六进制数0x0600时,表示长度;大于0x0600,表示类型。

clip_image014[5]

Ethertype

以太网帧封装的协议

0x0800

IPv4

0x86DD

IPv6

0x0806

ARP

0x8035

RARP

0x8100

DOT1Q

0x88CC

LLDP

0x8809

LACP

0x888E

802.1X

13.  观察下一个ARP回复帧,它是一个单播帧,因为收到ARP请求后目标系统会将其中的IPMAC对应关系存入ARP缓存,使用这个源MAC来回复请求的系统。在这个帧中Wireshark检测到了FCS的问题,校 验的范围包括除前导校验和两部分外帧中的其他字段。首尾标志不参与帧校验序列FCS的计算。

如果接受者计算的叫研制和收到的帧FCS字段不匹配,则假设为出错,丢弃帧。一般帧校验功能下放到NIC的硬件,如果NIC硬件确定帧是正确的,它才将其发送到上一层堆栈中,并包含一个空的帧校验序列。因此这不是一个真实的FCS问题。抓包工具可能轻微扭曲事实,因此必须仔细配置抓包硬件,防止扭曲包内容。如NIC硬件包括TCP分段和UDP分段功能下放,这样分散到多个包的TCPUDP段可能显示成一个包。

clip_image016[5]

同步字段(Preamble

7个连续的01010101字节,10M以太网中用来进行时钟同步

起始标记字段(Start Frame Delimiter

固定的标志字10101011,表示同步字段结束,一帧数据开始

目标MAC地址字段(Destination Address6B

目标主机的MAC地址

MAC地址字段(Source Address6B

发送数据的主机的MAC地址。

帧长度/类型字段(Length/Type2B

这个字段的数字小于等于十六进制数0x0600时,表示长度;大于0x0600,表示类型。“长度”是指从本字段以后的本数据帧的字节数。“类型”则表示接收主机上层协议是谁。

数据字段(Data46~1500B

数据区最小46个字节,最大1500个字节。如果不够这个字节数的数据,则需要填充。

帧校验字段(FCS4B

接收主机将重新计算的CRC校验值与FCS中发送主机存放的CRC结果相比较,如果不相等,则表明此帧数据已经在传输过程中损坏。

一个802.3帧的长度最小是64字节,最长是1518字节。

14.  研究IP包头,汇总信息显示的是源IP和目IP两个字段,展开IP包头字段

clip_image018[5]

clip_image020[5]

区分服务字段DSCP

保证服务质量,0表示尽力而为,应用要求Qos比如VOIP需要用到DSCP将自己与其他应用区分。

总长度

是指包括IP头的总包长。如上图中60Bytes,表示Payload40Bytes。这里存在着漏洞,有些IP协议栈若收到长度字段值与真实包长度不同时,会导致系统崩溃。

标识符

正常情况下IP ID随着包增长1,可见下一个10.0.6.10发到10.10.6.11IP ID0X76BE

Flags

Fragment offset

控制分段,MTU=1500bytes,如果包载荷大于1500,则当载荷下到IP层是IP层会执行数据分段。

TTL

生存时间防止路由环路中的包消耗路径中所有可用带宽。当TTL递减到0,则数据包会被抛弃。

协议

指向IP所封装的上层协议,本例中1表示ICMP

[]

WireShark提供的元数据,不包含在IP头中。

IP协议号整理:

ICMP

1

IGMP

2

TCP

6

UDP

17

OSPF

89

EIGRP

88

RIP

17(UDP端口520)

BGP

6(TCP端口179)

 

15.  研究ICMP头部和数据,如下图中,类型8表示是echo request

clip_image022[5]

TYPE

NAME

CODE

0

Echo Reply

0

3

Destination Unreachable

0:Network Unreachable

1:Host Unreachable

2:Protocol Unreachable

3:Port Unreachable

4:Fragmentation needed and Don’t Fragment was set.

5

Redirect

0:Redirect for Network

1:Redirect for the Host

8

Echo Request

0

11

Time Exceeded

0:Time to Live Exceeded

1:Fragment reassembly time exceeded

ICMP TYPE3 CODE4是至关重要的,用于路径MTU检测,查询到可以发送过多跳路径的最大包大小。

刚才在IP头中看到的payload载荷大小是40Bytes,可见ICMP头长度8字节,ICMP载荷共32字节。

字母被用作ICMP echo request是正常的,且echo reply应该发回相同的数据。如果请求和回复中的字母序列不同,就值得怀疑了。可能ICMP被利用,以提供CnC通信和数据泄漏的隧道。

16.  首先删除网关的ARP表项,接着打开抓包,访问网页inside-srv.abc.private/pictures

clip_image024[5]

17.  分析抓包结果:

clip_image026[5] clip_image028[5]

10.10.4.20DNS服务器,必须通过网关10.10.6.1才能访问。下图Windows获取到了网关的mac0a:07:0a:0a:04:02。然后10.10.6.10就向10.10.4.20DNS请求。请求的内容是inside-srv.abc.private

clip_image030[5]

可查看UDP报文头部,包含源、目端口号,53代表DNS请求的标准监听端口。客户一般用高号码随机端口作为源端口。TCP/UDP 五元组用来标记当前会话:a 5-tuple is the combination of a transport protocol, a source IP address, a source port, a destination IP address, and a destination port.

clip_image032[6]

DNS记录

描述

A

主机记录,映射主机名到IPv4地址。

AAAA

映射主机名到IPv6地址

CNAME

将域名指向一个域名,实现与被指向域名相同的访问效果

MX

电子邮箱服务,将指向邮件服务器地址

NS

域名解析服务器记录,指定某个域名服务器来解析子域名

TXT

任意填写,可为空

PTR

A记录的逆向记录,将IP反向解析为域名。请求中提供IP,期待回复主机名。

在域名查询记录中请求的是A类型记录inside-srv.abc.private

18.  查看域名响应的详细信息:Query字段重复了请求信息,Answer字段提供响应,将inside-srv.abc.private映射到IP地址10.10.4.20TTL字段表示客户可以缓存此映射的最长时间604800秒是一周时间。保证下次不会重复请求域名,可以用ipconfig /flushdns命令刷新缓存。

clip_image034[6]

19.  查看TCP连接,图中同样是用五元组TCP,10.10.6.10190810.10.4.2080来标记一个会话的,80,8080,8443,8000,8008都是HTTP的服务端口号,443HTTPS的。

下图是TCP三次握手,第一个包是SYN,表示开始连接ISN=0;第二个是SYN ACK, 此时10.10.4.20也发来ISN=0,并确认了10.10.6.10ISNACK=1,随后第三个包是ACK10.10.6.10确认10.10.4.20ISN

clip_image036[5]

20.  查看SYN ACK包,在IP头可见源、目IP,在TCP头相应的可以查看到TCP源、目端口。Wireshark显示相对序号ISN和确认号ACK,实际的序号不是0而是0x371edd16ISN应该是随机的。早期TCP/IP协议栈使用可预测的序号,让已经绑定的TCP会话被劫持。序号和确认号用于提供可靠性,他们计数交互的字节数。ACK号表示期待对端发来下一个序号,如下图中0xa94e1a43。当没收到ACK是发送者重传,接收者也可以通过发送 最后一个收到字节的ACK 来要求重传。

clip_image038[5]clip_image040[5]

21.  下图是TCP四次握手关闭连接:本例中10.10.6.10首先发FIN10.10.4.2010.10.4.20确认了FIN后关闭去向连接,同时也发FIN10.10.6.10,最后10.10.6.10发回ACK结束回向连接。

clip_image042[5]

22.  然后观察HTTP头部:

UserAgent:告诉服务器客户端访问者浏览器了类型。

Accept:通告服务器客户端可以接收的媒体类型。

Accept-Encoding:告诉服务器,客户浏览器可以处理的其他的编码。Gzipdeflate提供压缩,减少网络带宽需求。

clip_image044[5]

HTTP请求方式

描述

GET

从指定源获取数据

HEAD

要一个Get请求响应,但不要回复体。

POST

对指定资源产生数据

PUT

对指定资源更新数据

DELETE

删除指定资源

 

23.  查看回复报文,服务器返回了代码302,找到了请求的资源。

Server:声明了web服务器的类型

Content-Encoding:服务器从客户机编码方案中选择的一个,选了gzip

Content-Length:声明满足请求需要传送的数据量,20BytesGzip编码的数据必须解码后才能阅读。

clip_image046[6]

响应代码

描述

100

Continue

200

OK

301

Moved Permanently

302

Found

307

Temporarily Moved

401

Unauthorized (Authentication Required)

403

Forbidden

404

Not Found

407

Proxy Authentication Required

500

Internal Server Error

 

24.  然后10.10.6.10解析对/请求得到的20字节的响应体,发现指向/home/index.php,因此转而请求/home/index.php

clip_image048[5]

25.  由于所回复的HTML文档中引用了style.css,因此客户端又请求了css文件,注意Content-Typetext/css,由gzip编码。HTML中也引用了router32.ico响应头中Content-Typevnd.microsoft.icon,但没有Content-Encoding,表示未压缩。

clip_image050[5]

clip_image052[5]

clip_image054[5]

26.  Firefox访问并提供主页inside-srv.abc.private需要多次TCP会话来完成这个事务。通过Statistic->Conversations,再选择TCP tab页面可以看到10.10.6.10 10.10.4.20间的多个会话。可见,在10.10.4.20端,端口号一直是80,因为这是HTTP监听端口,而10.10.6.10端的端口号一直变化,一般每次递增1.许多连接是并行活动的,它们的开始时间几乎只有1/1000秒的差距,但持续时间差不多都有5秒。所有会话都由5元组唯一区分的。

clip_image056[5]

clip_image058[6]

 

 

posted @ 2017-09-30 10:49  Ю詺菛╀時代  阅读(335)  评论(0编辑  收藏  举报