20199318 2019-2020-2 《网络攻防实践》第四周作业
1.知识点梳理与总结
1.1网络嗅探
网络嗅探:一种黑客常用的窃听技术,利用计算机IDE网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息等。嗅探捕获的数据报文是经过封包处理之后二进制数据,结合网络协议分析技术恢复出TCP/IP协议栈上各层网络协议的内容,以及实际发送的应用层信息。
1.1.1网络嗅探器的原理与实现
(1)以太网以帧为单位传播数据,当站点发送数据,通过协议栈进行应用数据TCP/IP封包,并在数据链路层加上帧头和帧尾,发送到共享通信介质上,其中帧头包括发送源的MAC地址和目标MAC地址,当网络接口设备,通常是网卡在正常驱动程序下,只会接受目标MAC地址与网卡自身MAC地址相匹配的数据帧,或目标MAC地址是广播地址。当网卡处于混杂模式,能够接受一切通过它连接共享通信媒介的数据帧。
(2)以太网部署方式
以太网在部署有线局域网时,根据部署方式分为共享式网络与交换式网络。
共享式网络主要使用集线器连接,其网络拓扑是基于总线方式,物理上是广播的。
交互式则主要使用交换机组建,数据帧通过交换机进行数据转发,交换机内存中保存有“MAC地址-端口映射表”。
可以采用以下技术手段使得本不应到达的数据包到达本地,实现嗅探。
MAC地址泛洪攻击
MAC欺骗
ARP欺骗
(3)类UNIX平台的网络嗅探技术实现
主要通过内核态的BPF包嗅探与过滤机制和用户态的libpcap抓包工具库相配合,为类UNIX平台上的应用程序提供标准的网络嗅探接口。
1.1.2网络嗅探器软件
(1)类UNIX平台网路嗅探器软件
libpcap抓包开发库、tcpdump以及wireshark嗅探器软件
(2)Windows平台网路嗅探器软件
tcpdump嗅探器、windump、wireshark、SnifferPro
1.1.3 网络嗅探的监测与防范
(1)网络嗅探的监测:
检查网卡是否运行在混杂模式下;根据混杂模式下操作系统和协议栈的不同特性,检测网络中其他主机的嗅探器
(2)防范:
- 采用安全的网络拓扑,尽量用交换式网络
- 重视网络数据传输的集中位置点的安全防范,如网关、路由器和交换机等
- 用静态ARP或者MAC端口映射表代替动态机制
- 避免使用明文传输口令或敏感信息的网络协议
1.2网络协议分析
1.2.1 网络协议分析技术原理.
网络协议分析是指对网络上传输的二进制格式数据包进行解析,以恢复出各层网络协议信息以及传输内容的技术方法。
网络协议分析的典型过程如下:
(1)首先网络嗅探得到的原始数据是在链路层传输的二进制数据包,大多数情况下是以太网数据帧;
(2)对以太网数据帧进行结构分析,定位出帧头各字段结构,根据帧头的Type字段确定网络层协议类型,大多数情况下是IP协议(0800),并提取数据帧中包含的网络层数据内容。
(3)进一步对IP数据包进行分析,如果设置了分片位,则进行IP分片重组,根据IP协议头中的Protocol字段,确定传输层协议类型,通常情况下是TCP(6)或者UDP(I7),并提取IP数据包中的传输层数据内容;
(4)继续根据TCP或UDP的目标端口确定具体的应用层协议,如http、ftp、telnet等协议数据包,并对TCP或者UDP数据包进行拼接重组,得到应用层特定协议的应用交互内容;
(5)依据相应的应用层协议对数据进行整合恢复,得到实际传输的数据。
网络协议分析技术实现: Tcpdump, Wireshark和Snort
Snort中的网络协议分析处理过程如下:
- 解析以太网数据帧
- 解析IP数据包
- 解析TCP数据包
2.实践过程
2.1使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:你在访问www.tianyaxn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
对linuxh攻击机进行网络嗅探:
打开Linux攻击机的游览器并输入网址:www.tianya.cn.观察出现3个web服务器,IP分别为:117.18.237.29,221.182.218.229,221.182.218.244。其中221.182.218.229是www.tianya.cn所对应的IP地址:
2.2任务:使用Wireshark开源软件对在本机上以telnet方式登录BBS进行嗅探与协议分
析,回答如下问题并给出操作过程:
(1)你所登录的BBS服务器的IP地址与端口各是什么?
(2)telnet协议是如何向服务器传送你输入的用户名及登录口令的?
(3)如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
答:(1)将物理机上的telnet打开,在控制面板,程序,打开或关闭windows功能里
2.我所登陆的BBS服务器的网址为:http://www.newsmth.net/,打开wireshark,并在主机上进行telnet连接:telnet bbs.newsmth.net
IP地址为:120.92.212.76,端口为:23
(2)根据下图所示,发送内容的长度为1,Data:s,这说明telnet协议是由本地一个字符逐次明文传送到服务器的,并且每传送一个字符,服务器都要发出一个确认。
(3)以下为我的用户名:sml20199318的部分截取过程:
3.课后作业
取证分析实践——解码网络扫描
问题:
- 攻击主机的IP地址是什么?
- 网络扫描的目标IP地址是什么?
- 本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
- 你所分析的日志文件中,攻击者使用了哪种扫描方法,扫描的目标端口是什么,并描述其工作原理。
- 在蜜罐主机上发现哪些端口是开放的?
- 额外奖励问题:攻击主机的操作系统是什么?
答:下载云班课上分享的listen.pcap,用wireshark打开待分析的二进制记录文件,使用菜单栏中“统计”下的“对话”选项,选择IPV4得到如下图:
从上图中可以看出在172.31.4.178和172.31.4.188之间有大量的双向网络数据包,因此可以初步断定两者为攻击机IP和目标主机IP。
再选择过滤TCP数据包,查看会话数据包内容,所有的请求数据包则是从172.31.4.178发起,所以响应数据包均是从172.31.4.188发出,可以确定172.31.4.178是攻击主机,172.31.4.188是被扫描的目标主机。
(1)攻击主机的IP地址是172.31.4.178
(2)网络扫描目标的IP地址是172.31.4.188
(3)通过snort工具解析wireshark的pcap文件,可以得出通过nmap工具对端口进行了扫描
(4)由于是模拟实验,扫描机和目标机在同一网段,Nmap也可以对该类目标采用arp协议进行探测,可以直接在广播域内广播arp request报文,如果收到arp response报文即为活跃。可以得到目标主机mac地址。
由于已经确定了这些扫描是由nmap所发起的,而nmap在发起端口扫描之前总是先通过Ping扫描和针对80端口的探测确定目标主机是否活跃。
通过过滤器搜索icmp,可以定位ICMP协议对应的Ping扫描,实现两次Ping扫描。
在数据包中存在大量SYN请求包,这是攻击机57738端口向目标主机进行的TCP SYN扫描,目的是用于扫描目标主机的端口是否活跃,如果活跃则目标主机会反馈一个SYN|ACK包,攻击机端口会立刻发送一个RST包关闭这个链接,目标端口不活跃则会反馈RST|ACK包,指令可能为
nmap -sS -p XXX端口 172.31.4.188
(5)tcp.flags.syn == 1 and tcp.flags.ack == 1可以过滤出SYN | ACK的数据包,即为目标主机反馈扫描机的端口活跃信息。可以确定21,22,23,25,53,80,139,445,3306,3632,5432,8009,8180这几个端口是活跃的。
(6)p0f是一款被动探测工具,能够通过捕获并分析目标主机发出的数据包来对主机上的操作系统进行鉴别,即使是在系统上装有性能良好的防火墙的情况下也没有问题。目前最新版本为3.09b。同时p0f在网络分析方面功能强大,可以用它来分析NAT、负载均衡、应用代理等。p0f是万能的被动操作系统指纹工具。p0f对于网络攻击非常有用,它利用SYN数据包实现操作系统被动检测技术,能够正确地识别目标系统类型。和其他扫描软件不同,它不向目标系统发送任何的数据,只是被动地接受来自目标系统的数据进行分析。因此,一个很大的优点是:几乎无法被检测到,而且p0f是专门系统识别工具,其指纹数据库非常详尽,更新也比较快,特别适合于安装在网关中。
通过p0f /home/kali/listen.pcap可以查询到攻击主机的操作系统为linux 2.6.x
攻防对抗实践
攻击方用nmap扫描(达到特定目的),防守方用tcpdump嗅探,用Wireshark分析,并分析出攻击方的扫描目的以及每次使用的nmap命令。撰写实验报告。
答:运用kali 当防守方,IP地址为192.168.200.6,用linux靶机当攻击方,IP地址为192.168.200.125,用tcpdump截获攻击机和目标机之间的通信tcpdump host 192.168.200.6 and 192.168.200.125
根据上述分析方法可得进行了一次扫描,扫描命令为nmap -sS 192.168.200.6,端口扫描
验证:
4.遇到的问题
-
问题一:在登陆BBS服务器时出现不能连接的情况
-
问题一解决方法:重新更换一个BBS服务器
4.学习感悟、思考
- 这次实验我学习了wireshark是如何使用的,同时也学到了一下w网络嗅探的原理。
- 万事开头难,只要坚持做,一定会有收获
- 遇到不明白的问题,一定要自己去查阅资料,这样会有很深的印象。