20211912 2021-2022-2 《网络攻防实践》第三周作业
20211912 2021-2022-2 《网络攻防实践》第三周作业
1 知识点梳理与总结
1.1 网络嗅探
-
概念:网络嗅探是指利用计算机的网络接口截获其它计算机的数据报文的一种手段
-
意义:网络嗅探需要用到网络嗅探器,其最早是为网络管理人员配备的工具,有了嗅探器网络管理员可以随时掌握网络的实际情况,查找网络漏洞和检测网络性能,当网络性能急剧下降的时候,可以通过嗅探器分析网络流量,找出网络阻塞的来源;同时,嗅探器也是很多程序人员在编写网络程序时抓包测试的工具;但任何东西都有它的两面性,在黑客的手中,嗅探器就变成了一个黑客利器,如利用ARP欺骗手段,很多攻击方式都要涉及到arp欺骗,如会话劫持和ip欺骗
-
防范:采用安全的网络拓扑,尽量将共享式网络升级为交换式网络;重视网络数据传输的集中位置点的安全防范,如网关、路由器和交换机;避免使用明文传输口令或敏感信息的网络协议
1.2 网络协议分析
-
概念:网络协议分析是指对网络上传输的二进制格式数据包进行解析,以恢复出各层网络协议信息以及传输内容的技术方法
-
实现:对TCP/IP协议栈中基本网络协议的分析技术实现较简单,并且在开源的网络嗅探器软件如Tepdump、Wireshark、Snort等都有相应的源码实现
1.3 实践内容
2 动手实践tcpdump
-
在Kail上访问www.tianya.cn网站
-
终端输入sudo tcpdump src 192.168.200.4 and tcp dst port 80,成功得到浏览器访问的Web服务器的IP地址
-
经过整理,得到的IP地址分别是124.225.65.173、124.225.214.214、124.225.206.22、124.225.135.230、124.225.214.206
-
通过nslookup tianya.cn命令查看tianya.cn对应的IP地址
3 动手实践Wireshark
-
在WindowsXP中打开Telnet Client功能
-
打开Wireshark
-
命令行输入telnet bbs.fudan.edu.cn进入论坛,注册并登陆
-
在Wireshark的过滤器内输入telnet,发现论坛的IP地址是202.120.225.9,端口号是23
-
同时可以发现向服务器传送输入的用户名及登录口令时,是一个字符一个字符以明文的形式传递的
-
并且可以通过追踪TCP流看到用户名和密码
4 取证分析实践,解码网络扫描器(listen.cap)
- 通过以下命令更新、安装、配置、使用snort
sudo apt-get update // 更新APT库
sudo apt-get install snort // 安装snort
sudo chmod 777 /etc/snort/snort.conf // 给予snort.conf可读可写可执行权限
snort -A console -q -u snort -c /etc/snort/snort.conf -r ~/listen.pcap // -A开启报警模式,-q不显示状态报告,,-u为初始化后改变snort的UID,-c为使用后面的配置文件,进入IDS模式,-r从pcap格式的文件中读取数据包
-
可以看到攻击者的IP地址是172.31.4.178,扫描的目标IP地址是172.31.4.188,是用nmap工具进行扫描的
-
通过Wireshark打开listen.pcap文件,在过滤器内输入arp,可以看到共进行4次nmap扫描
-
可以看到攻击机第一次扫描和第二次扫描间没有数据包,则第一次扫描是探测目标IP是否活跃,对应的指令为nmap -sP
-
再看第二次扫描的末尾数据包,发现有大量的TCP协议、ICMP协议、UDP协议数据,并使用了大量构造的标志位,以触发不同的响应包,从而判断是对目标主机的操作系统的探测,对应的指令为nmap -O
-
第三次扫描ARP后均是TCP协议数据包,并且数据量庞大,可以看到在数据包中存在大量SYN请求包,在过滤器内输入tcp
-
可以看出序号9、10、13对应的数据包是一组半开放扫描,即对目标主机进行尝试性的连接(攻击机的57738号端口对目标主机的3306号端口发送SYN数据包,目标主机的3306号端口开放,返回一个TCP SYN&ACK数据包,然后攻击机发送一个RST数据包停止建立连接,这是典型的半开放扫描);下面也是类似,分别监测出目标主机的23号、80号、139号端口开放,但目标主机的955号端口在收到攻击机发送的SYN数据包后,返回一个TCP RST&ACK数据包,说明该端口是关闭的;对应的指令为nmap -sS -p 1-65535
-
第四次扫描ARP后有TCP协议数据包,还有HTTP、TELNET、SMB应用层协议数据包,在过滤器内输入tcp.port == 22
-
发现建立了ssh连接,这是为了探测靶机的网络服务,对应的指令为namp -sV
-
在过滤器内输入tcp.flags.syn == 1 and tcp.flags.ack == 1,可以看到目标主机的开放端口有:21 22 23 25 53 80 139 445 3306 3632 5432 8009 8180
-
在Kali终端输入sudo apt-get install p0f安装p0f,再输入p0f -r listen.pcap进行探测,发现版本是Linux 2.6.X
5 学习中遇到的问题及解决
-
问题1:snort安装失败
-
问题1解决方案:Kali更换源,终端输入sudo apt-get update更新后再进行安装
-
问题2:telnet指令失败
-
问题2解决方案:开启Telnet Client服务
-
问题3:wireshark不显示端口号
-
问题3解决方案:百度进行设置
6 学习感悟、思考
- 通过本次实践,让我复习了网络嗅探与协议分析的相关知识,对wireshark的使用更加熟悉
7 参考资料
- Linux常用命令
- WindowsXP开启Telnet Client服务的方法
- Wireshark设置显示端口号
- [网络攻防技术与实践(诸葛建伟编著)]