20199120 2019-2020-2 《网络攻防实践》第4周作业
20199120 2019-2020-2 《网络攻防实践》第4周作业
1.前言
作业 | 答案 |
---|---|
这个作业属于哪个课程 | 网络攻防实践 |
这个作业的要求在哪里 | 第四次作业 网络嗅探与协议分析 |
我在这个课程的目标是 | 学习、提高网络攻防的本领 |
这个作业在哪个具体方面帮助我实现目标 | 实施网络嗅探,解析网络传输的敏感信息 |
2.本章知识点总结
2.1 网络嗅探
2.1.1 网络嗅探技术概述
- 网络嗅探技术定义:利用计算机的网络接口截获目的地为其他计算机的数据报文(二进制数据),以监听数据流中所包含的用户账户密码或私密信息。
- 网络嗅探的危害与作用:防御方利用网络嗅探找出关心网络中潜在的问题并解决;攻击者可以获得机密信息、底层网络协议信息,有助于中间人攻击。
- 网络嗅探技术与工具分类:可以分为有线局域网和无线局域网;也可以分为软件嗅探器和硬件嗅探器
2.1.2网络嗅探实现的原理
- 以太网工作原理介绍:以太网通过使用CSMA/CD协议的共享通信信道进行消息传输。以太网中的数据以帧为单位,将上层的数据包装配上帧头和帧尾,通过MAC地址匹配数据包的目标。当网卡处于混杂模式下,能够接受一切通过它连接的以太网络的数据帧。
- 共享式网络和交换式网络:通过集线器进行连接的网络称为共享式网络,其网络拓扑呈总线的形式,这种连接方式导致同一集线器上的任一主机的数据包将发送到每一台主机;通过交换机连接的网络称之为交换式网络,在交换机中存在“MAC地址-端口映射表”,与交换机相连的任意主机的数据包将定向发送到特定的网卡。
- 交换式网络中的网络嗅探技术:MAC地址洪泛攻击、MAC欺骗、ARP欺骗
- 不同平台网络嗅探技术实现:类UNIX平台下,用户态的libpcap与内核态的BPF和过滤机制进行配合,共同提供UNIX平台的网络嗅探接口;windows平台下,通过与libpcap相容的WinPcap进行抓取。
2.1.3 网络嗅探软件
- 类Unix平台下的嗅探软件:libpcap、tcpdump、wireshark和dsniff、sniffit等
- windows平台下的嗅探软件:wireshark、snifferPro等
2.1.3 网络嗅探检测与防范
- 网络嗅探的检测:网络嗅探是一种被动的攻击手段,较为难以检测。可以通过探测网卡是否处于混杂模式来进行检测,或者通过构建MAC地址不合法但是IP地址有效的ICMP Echo请求进行测试网卡是否处于混杂状态。
- 网络嗅探的防范措施:使用更加安全的网络拓扑,严格隔离各个以太网;使用静态ARP和“MAC-端口映射表”;重视网络安全中集中位置点的安全防范; 避免使用明文传输口令或敏感信息的网络协议。
2.2 网络协议分析
- 网络协议分析的典型过程的步骤
- 网络嗅探得到的原始数据是在链路层传输的二进制数据包。
- 对帧结构进行分析,得到帧头各字段结构,根据帧头字段确定网络层的协议类型,并提取包含网络层数据的内容。
- 进一步对IP数据包进行分析,确定传输层协议类型,提取传输层数据内容。
- 根据TCP或UDP目标端口确定确定具体的应用层协议,得到应用层特定协议的应用交互内容。
- 依据相应应用层协议对数据进行整合恢复,得到实际传输数据。
- 网络协议分析工具Wireshark
3.实践过程
作业一:动手实践tcpdump
使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:你在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
打开天涯网站
查看本机IP为 192.168.0.111
使用命令 sudo tcpdump src 172.16.6.112 and tcp dst port 80
可以看到访问了7个web服务器,IP地址分别为
IP地址 | 位置 |
---|---|
124.225.214.206 | 中国 海南省 海口市 电信 |
124.225.135.230 | 中国 海南省 海口市 电信 |
124.225.65.154 | 中国 海南省 海口市 电信 |
124.225.214.214 | 中国 海南省 海口市 电信 |
124.225.65.170 | 中国 海南省 海口市 电信 |
217.77.130.200 | 荷兰 南荷兰省 鹿特丹 |
52.94.234.174 | 美国 弗吉尼亚州 阿什本 |
通过nslookup tianya.cn命令查看www.tianya.cn对应的IP地址,验证我们tcpdump的正确性。
作业二:动手实践Wireshark
使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
1.你所登录的BBS服务器的IP地址与端口各是什么?
2.TELNET协议是如何向服务器传送你输入的用户名及登录口令?
3.如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
首先打开在”启动或关闭Windows功能“中打开telnet。
打开Wirshark,使用windows进行telnet登录,win+R打开运行,输入cmd,启动控制台,输入:telnet bbs.fudan.edu.cn
得到IP地址为:
此时打开wireshark,筛选telnet协议,出现如下所示数据包,其中202.120.225.9即为复旦大学BBS的ip地址,使用端口为23号端口。
然后选择分析TCP跟踪流,选择发送方和接收方,可以得到我用的用户名和登录口令
可以看到telnet是明文传输,是十分不安全的。
Telnet远程登录服务分为以下4个过程:
- 本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的Ip地址或域名
- 将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式 传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据包
- 将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果
- 最后,本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。
作业三:取证分析实践,解码网络扫描器
任务:人为构造的到一台蜜罐主机的5次不同类型的端口扫描。网络入侵检测器-snort捕获每次扫描的流量并存入tcpdump格式二进制网络日志文件中
问题:
(1) 攻击主机的IP地址是什么?
(2) 网络扫描的目标IP地址是什么?
(3) 本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
(4) 你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理?
(5) 蜜罐主机上哪些端口被发现是开放的?
(6) 攻击主机的操作系统是什么?
- 下载老师提供的 pcap 包,使用 Wireshark 打开进行统计,可以发现 172.31.4.188 与 172.31.4.178流量很大,猜测这就是攻击机与靶机地址
一直是172.31.4.178创建一个连接,172.31.4.188返回接受到的数据。
可知172.31.4.178是攻击机,,172.31.4.188是靶机
- 将listen.pacp文件移到kali里,使用snort对二进制记录文件进行入侵检测。首先通过
sudo apt-get install
snort安装snort,并给予snort.conf可读可写可执行权限sudo chmod 777 /etc/snort/snort.conf
,运行指令sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap
查询,通过snort可以看出是采用namp发起的扫描。
- 在Wireshark中筛选ARP,我们可以从最前面的序号看到,找到了四次
who has 172.31.4.188?tell172.31.4.178
,从而判定四次扫描。第一次扫描在5和6之后,紧接着又是一次arp,第一个和第二次之间并没有数据包。所以第一次扫描的目的仅仅是确认主机活跃,所用的命令应该是nmap -sP
- 接下来筛选
tcp.port == 57738 and tcp.flags.syn == 1 and tcp.flags.ack == 0
,表示tcp 端口 57738 发送 tcp 请求但无回应。此次扫描基本包括了靶机上的所有协议和服务,所以猜测是进行了namp -O
扫描靶机上安装的操作系统。
- 第三次扫描大致的往返包是 12W,大致扫描了 6W 个端口。nmap 默认只能扫描 1000 个端口,因此可以猜测第三次扫描应该是用命令
nmap -sS
人为指定端口数量
- 筛选
tcp.port == 23
(23 为 telnet 端口)过滤文件数据。发现攻击机对靶机进行 4 次扫描过程。在第一、二、三次扫描都只是建立了连接就结束了,但在第四次扫描的时候出现了 telnet 连接,所以猜测第四次 nmap 扫描使用了命令nmap -sV
探测靶机上开放的网络服务。
- 确定端口:筛选
tcp.flags.syn == 1 and tcp.flags.ack == 1
,可以得到端口有:21、22、23、25、53、80、139、445、3306、5432、8009、8180
- 确定操作系统,首先安装p0f:
sudo apt-get install
。使用sudo p0f -r listen.pcap
命令探测。
可知系统为 Linux 2.6.x
4.实践总结
wireshark使用的不够熟悉,许多命令还是参考同学的博客。计算机网络很多知识都忘了,需要慢慢的捡起来。