20199329 2019-2020-2 《网络攻防实践》第四周作业
《网络攻防实践》第四周作业
一、前言
- 这个作业属于哪个课程:https://edu.cnblogs.com/campus/besti/19attackdefense
- 这个作业的要求在哪里:https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10518
- 我在这个课程的目标是:学习网络攻防相关知识,提升专业技能
- 这个作业在哪个具体方面帮助我实现目标:学习了网络嗅探与协议分析的相关技术手段
二、知识点总结
1.网络嗅探
- 网络嗅探:一种黑客常用的窃听技术,利用计算机IDE网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息等。嗅探捕获的数据报文是经过封包处理之后二进制数据,结合网络协议分析技术恢复出TCP/IP协议栈上各层网络协议的内容,以及实际发送的应用层信息。
- 以太网:是美国电气及电子工程师学会制定的有线网络协议标准,802.3协议,共享通信信道,采用了载波侦听/冲突检测技术(CSMA/CD)避免共享连路上的通信冲突。网络中的站点在信道上的广播机制来发送自己的数据,计算机能够接收到在共享媒介上发送给其他计算机的信息。以太网中数据传播以帧为单位进行,网络接口设备通常是一个拥有48位MAC地址的网卡,以太网帧头中包括发送源的MAC地址与目标MAC地址,发送到共享通信介质上。网卡的驱动程序只接受目标MAC地址与自身MAC地址相匹配的数据帧,再由其产生中断信号通过CPU,由操作系统根据设置的网卡中断程序地址调用驱动程序接收数据,放入信号堆栈中让操作系统进行性反向的拆包处理,并将解包后的数据交给响应的应用程序。
- 混杂模式:接受一切通过它连接共享通信媒介的数据帧,嗅探以太网的流量。
- 以太网部署方式:共享式网络(集线器Hub,接收到数据后发送到所有接口),交换式网络(交换机,可以检查映射表每一个收到的数据帧并发给指定端口,如果没有则会广播到所有端口,拥有该MAC地址的网卡会做出应答,避免了网络广播风暴)。
- MAC地址洪泛攻击:向交换机发送大量含有虚构MAC地址和IP地址的数据包,致使交换机的MAC地址-端口映射表溢出无法处理,开始类似集线器的工作方式。
- MAC欺骗:让交换机相信攻击者主机的MAC地址就是目标主机的MAC地址,也就是假冒所要监听的主机网卡,攻击者通过将源MAC地址伪造成目标地址的源MAC地址,并将这样的数据包通过交换机发送出去。
三、实验内容
1.网络嗅探
-
网络嗅探:一种被动式非干扰性的攻击手段,具有很高隐蔽性。
-
类UNIX平台的网络嗅探技术:主要通过内核态的BPF和用户态的libpcap抓包工具库
-
Windows平台的网络嗅探实现技术:与BPF模块兼容的NPF,libpcap库相兼容的标准抓包接口WinPcap
-
嗅探软件:能够进行网络嗅探的软件。
-
类UNIX平台的网络嗅探器:libpcap抓包开发库:libpcap是unix/linux平台下的网络数据包捕获函数包,提供了系统独立的用户级别网络数据包捕获接口,Libpcap可以在绝大多数类unix平台下工作。
-
tcpdump嗅探器:提供命令行模式,支持使用BFP语法的过滤条件进行网络上数据包的选择性嗅探,然后进行TCP/IP协议栈的协议分析,并以每行一个数据包捕获内容的方式呈现嗅探结果。
-
wireshark嗅探器:当前类UNIX平台下最好的基于图形界面的嗅探软件,在Windows平台上也有其已知版本。
-
其他嗅探软件:开源网络入侵检测系统Snort,dsniff,sniffit,linux_sniffer
-
Windows平台的网络嗅探器:NPF/winpcap/windump,wireshark也有Windows版本,其他还有Buttsniffer,NetMon,Network Associates Sniffer
tcpdump的使用操作实验
靶机浏览器进入www.baidu.com
攻击机上嗅探情况,靶机从80端口与目标IP地址建立HTTP协议会话。
动手操作:tcpdump:使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:你在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
对本机IP进行网络嗅探
在浏览器访问网站后,出现4个Web服务器,IP分别为203.208.41.88/72.21.202.25/117.18.237.29/221.182.218.229
其中221.182.218.229是www.tianya.cn对应的IP地址
2.网络协议分析技术
网络协议分析:指对网络上传输的二进制格式数据包进行解析,以恢复出各层网络协议信息以及传输内容的技术方法,类似于数据包的解压过程。
网络协议分析的典型过程:
- 网络嗅探得到原始数据,即链路层传输的二进制数据包;
- 对数据帧进行结构分析,定位帧头个字段结构,根据帧头的Type字段确定网络层协议类型,IP协议为0800,并提取数据帧中包含的网络层数据内容;
- 进一步对IP数据包进行分析,根据分片位进行重组,根据IP协议头中Protocol字段确定传输层协议类型;
- 根据TCP或UDP的目标端口确定具体的应用层协议;
- 根据应用层协议对数据进行整合恢复,得到实际传输的数据。
动手操作:Wireshark:使用Wireshark开源软件对在本机上以talnet方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
1.你所登录的BBS服务器的IP地址与端口各是什么?
我所登录的BBS为:http://www.newsmth.net/
用telnet bbs.newsmth.net连接社区论坛,同时通过wireshark抓捕网络包
在wireshark上的菜单栏搜索框中搜索telnet即可从数据包中筛选出Protocol为TELNET的数据包。
IP地址为:120.92.212.76 端口为:23
2.telnet协议是如何向服务器传送你输入的用户名及登录口令的?
根据捕获的数据包,可以看到用户名和登录口令是由本地一个字符逐次明文传送到服务器,并由服务器返回确认信息。
3.如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
我的用户名是zhuxingfan,如下图所示成功获取
四、实践作业
1.取证分析实践——解码网络扫描
首先下载云班课上分享的listen.pcap,用wireshark打开待分析的二进制记录文件,使用菜单栏中Statistics(统计)下的Conversation(会话),选择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地址是什么?答:攻击主机的IP地址是172.31.4.178
2.网络扫描的目标IP地址是什么?答:网络扫描目标的IP地址是172.31.4.188
3.本次案例中是使用了那个扫描工具发起这些端口扫描?你是如何确定的?答:首先执行sudo apt-get update和sudo apt-get install pip,然后参考snort和websnort安装通过snort工具解析wireshark的pcap文件,可以得出通过nmap工具对端口进行了扫描
4.你所分析的日志文件中,攻击者使用了哪种扫描方法,扫描的目标端口是什么,并描述工作原理。
通过查找arp response报文可以得到目标主机mac地址。
通过过滤器搜索icmp,可以定位ICMP协议对应的Ping扫描,实现两次Ping扫描。
在数据包中存在大量SYN请求包,目的是用于扫描目标主机的端口是否活跃,如果活跃则目标主机会反馈一个SYN|ACK包,攻击机端口会立刻发送一个RST包关闭这个链接,目标端口不活跃则会反馈RST|ACK包
5.在蜜罐主机上发现那些端口是开放的?
可以确定21,22,23,25,53,80,139,445,3306,3632,5432,8009,8180这几个端口是活跃的。
6.额外奖励问题:攻击主机的操作系统是什么?
- 输入 sudo p0f -r listen.pcap 探测,得知版本为linux 2.6.x。
2.攻防对抗实践
攻击方用nmap扫描(达到特地目的),防守方用tcpdump嗅探,用Wireshark分析,并分析出攻击方的扫描目的以及每次使用的nmap命令。
- kali为攻击方,IP地址为192.168.200.2 ,seedubuntu为防守方,IP地址为192.168.200.5。
- 在seedubuntu上利用指令 tcpdump -i ens33 -w /home/seed/test.pcap监听并且保存文件为test.pcap。
- 在kali主机上用nmap进行攻击,依次包括 -sP,-sT,-sS,-O,-sV攻击。
- 利用Wireshark进行分析查看
1.哪些端口是开放的?
通过过滤器的 tcp.flags.syn == 1 and tcp.flags.ack == 1 可查看靶机的开放端口只有139号。
2.攻击者使用了哪种扫描方法?
通过查看ARP数据包推测攻击方的命令:nmap -sp 192.168.200.5
ARP适用范围多限于内网,通过互联网进行地址扫描一般基于Ping请求。如果IP存在,则返回Ping reply。
五、学习中遇到的问题及解决
- snort和p0f软件安装时出错。查找原因发现是网络问题。先将kali改为桥接模式,并且换源,从而成功安装。安装后再换回局域网。
- 生成pcap文件时出错。查找原因是网卡名称有误,在seedubuntu中利用ifconfig查看本机的网卡名称是ens33,把命令里面的网卡名称替换成本机网卡名ens33 ,问题解决。
六、学习感想和体会
本次主要学习了网络嗅探与协议分析的相关技术手段,用到了tcpdump和snort这些软件,同时通过wireshark对不同数据包进行分析。自我感觉对工具使用有所了解了,但原理部分还一知半解,需要进一步消化吸收,不能做纯工具党。
2020 年 3月 25日