20212923 2021-2022-2 《网络攻防实践》第三次作业
20212923 2021-2022-2 《网络攻防实践》第三次作业
实践三:网络嗅探与协议分析
课程:《网络攻防实践》
班级: 2129
姓名: 王文彬
学号:20212923
实验教师:王志强
实验日期:2022年03月31日
必修/选修: 选修
一.实践内容
1. 实践要求介绍
- 要求
- 动手实践tcpdump
- 使用tcpdump队在本机上访问
www.tianya.cn
网站过程进行嗅探; - 回答问题(1)访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?
- 回答问题(2)访问www.tianya.cn网站首页时,他们的IP地址都是什么?
- 使用tcpdump队在本机上访问
- 动手实践Wireshark
- 使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析;
- 回答问题(1)你所登录的BBS服务器的IP地址与端口各是什么?
- 回答问题(2)TELNET协议是如何向服务器传送你输入的用户名及登录口令?
- 回答问题(3)如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
- 取证分析实践,解码网络扫描器
- 攻击主机对IP地址是什么?
- 网络扫描的目标IP是什么?
- 本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
- 你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
- 在蜜罐主机上哪些端口被发现是开放的?
- 攻击主机的操作系统是什么?
- 动手实践tcpdump
2. 实践内容
动手实践tcpdump
- 实践过程
- 一、首先我们来一起了解一下tcpdump是什么软件?
- tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
- 二、当我们在kali环境中,在命令行内输入
sudo tcpdump -n src 192.168.1.104 and tcp port 80 and "tcp[13]&18=2"
命令后,我们可以在kali自带的浏览器中访问天涯社区www.tianya.cn
的首页后,可以利用tcpdump的功能嗅探到如下图的内容。 - 三、我们可以在截图中看到在访问首页时它的web服务器大致个数,其中ip有
124.225.206.22
、124.225.135.230
、111.206.209.249
、124.225.214.206
等。
tcpdump -n :是指定将每个监听到数据包中的域名转换成IP地址后显示,不把网络地址转换成名字;
tcp port :是指在端口80的tcp包;
tcp[13]&18=2 :是指一个TCP头,拥有20个字节的数据,除非选项。图表中第一行显示的八位位组, 0 - 3 ,第二行显示了八位位组4 - 7等与0开始计数,相关的TCP控制位都包含在字节13,2是指syn;
例如:tcpdump -i eth2 tcp[13]==2 or tcp[13]==18 and port 80 and host 10.10.10.10指的是抓取10.10.10.10:80的syn、synack包
动手实践wireshark
- 实践过程
- 一、实践要求我们使用telnet对方式登录BBS进行嗅探与协议分析,我们选择使用复旦大学社区进行实践;
- 二、我们在命令行下输入
luit -encoding gbk telnet bbs.fudan.edu.cn
进入登录界面后,同时打开wireshark进行抓包。
- 三、当我们首先使用
lawwbla
账号进行访问时,我们使用Wireshark进行抓包后,追踪tcp流可以分别看到(1)IP地址为202.120.225.9,端口号为23,同时我们查看telnet包内容后可以看到我们所传送的用户名以及口令;
取证分析实践,解码网络扫描器
-
实践过程
- 一、在学习这一部分之前,我们先了解一下关于snort系统;
- Snort是一个强大的清量级的网络入侵检测系统。它具有实时数据流量分析和日志Ip网络数据包的能力,能够进行协议分析,对内容搜索/匹配。它能够检测各种不同的攻击方式,对攻击进行实时警报。此外,Snort具有很好的扩展性和可移植性。还有,这个软件遵循公用许可GPL,所以只要遵守GPL任何组织和个人都可以自由使用。
- 本次实验我们主要采用snort软件对云班课中的listen.cap进行分析;
- 在kali中,安装 snort 工具
sudo apt-get install snort
给予所有权限:sudo chmod 777 /etc/snort/snort.conf
进入 pcap 包所在目录后,执行sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap
,得到如下结果:我们可以观察发现本次案例中是使用了nmap发起的端口扫描。
-
二、首先我们可以在追踪ICMP流进行发现,如下图所示,可以看到两组ICMPrequest包和ICMPreplay包,说明使用了主机扫描,并且确定了目标主机是活跃的;
-
三、以arp作为过滤条件,攻击机在广播域中广播arp request报文,寻找目标IP地址为172.31.4.188的主机的MAC地址,如下图
-
四、以tcp作为过滤条件,可以看到在数据包中存在大量SYN请求包,说明攻击机的57738端口向目标主机发起了TCP SYN扫描,以确定目标主机的哪些端口开放,开放的端口则回复 SYN|ACK数据包,不活跃的端口则回复RST|ACK数据包,如下;
-
五、输入过滤条件:tcp.flags.syn == 1 and tcp.flags.ack == 1,则可以过滤出所有的SYN|ACK的数据包,即可得到所有的开放端口,如下:
-
六、开放的端口有:21(ftp),22(ssh),23(telnet),25(smtp),53(domain),80(http),139(ssn),445(microsoft-ds),3306(mysql),5432(postgresql),8009,8180;
-
七、输入过滤条件tcp.port==80,可以查看到攻击机在最后对靶机进行http连接,确认http连接是否连通。
-
八、我们通过使用P0f工具对cap包进行,首先输入
sudo apt-get install
p0f安装p0f工具
再进入 listen.pcap 包所在目录后输入命令sudo p0f -r listen.pcap
,得到如下检测结果:- 分析可知,攻击主机的操作系统是Linux 2.6.x。
- 分析可知,攻击主机的操作系统是Linux 2.6.x。
-
综上所述,攻击机我们可以判断为172.31.4.178,靶机为172.31.4.188;
- 攻击机使用广播地址对靶机进行询问,尝试进行发现靶机是否活跃在线;
- 攻击机紧接着对靶机端口1进行探测靶机OS;
- 攻击机发送大量请求包,对靶机进行端口扫描,查看靶机有哪些端口是开放的;
- 攻击机进行http链接测试,确认链接是否正常。
二、 实验过程中遇到的问题和解决过程
1. 不理解snort软件的用法
- 在经过资料查找整理后发现,snort属于一个轻量级入侵检测系统,能够帮助我们深入理解网络攻防博弈直接的联系,同时也提供给我们用户很多工具使用。
三、感想
此次实验,学习到了很多工具的使用,同时在分析最后listen.pcap包中,结合上一节课的知识,更加深入了nmap的用法与嗅探之间对联系,从攻击者和靶机不同角度感受了不同的体验。