1.实验内容
一、网络嗅探
- 定义
网络嗅探是一种黑客常用的窃听技术,利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息等。 - 网络嗅探器
实现网络嗅探技术的工具称为网络嗅探器。嗅探器捕获的数据报文是经过封包处理之后的二进制数据,因此通常会结合网络协议分析技术来解析嗅探到的网络数据,这样才能恢复出TCP/IP协议栈上各层网络协议的内容,以及事件发送的应用层信息。 - 网络嗅探器的原理和实现
1.以太网工作原理:以太网采用了CSMA/CD技术,由于使用了广播机制,所有与网络连接的工作站都可以看到网络上传递的数据。网卡是网络中主机接收发送数据的硬件设备。网卡完成收发数据包的工作。网卡对于数据的接收有四种模式:
(1)广播模式:该模式下的网卡能够接收网络中的广播数据。
(2)组播模式:该模式下的网卡能够接收组播数据。
(3)直接模式:只有匹配目的MAC地址的。网卡才能接收该数据。
(4)混杂模式:无论其目的MAC地址是什么,网卡都能够接收一切监听到的数据。
2.网络监听的原理:
(1)利用以太网的特性把网卡置为混杂模式状态的工具,一旦网卡设置为这种模式,它就能接收经过它的每一个信息包。
(2)共享式网络嗅探:使用集线器连接,集线器上任意一台主机都能够嗅探整个集线器上的全部网络流量。
(3)交互式网络嗅探:通过MAC地址映射表来发送数据。通常有以下三种方式实现嗅探:MAC地址泛洪攻击、MAC欺骗、ARP欺骗
二、Telnet协议
Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议。Telnet协议的目的是提供一个相对通用的,双向的,面向八位字节的通信方法,允许界面终端设备和面向终端的过程能通过一个标准过程进行互相交互。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。
2.实验过程
任务一:动手实践tcpdump:使用tcpdump开源软件对在本机上访问www.besti.edu.cn网站过程进行嗅探,回答问题:你在访问www.besti.edu.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
1.打开kali,键入sudo su进行提权后使用ifconfig命令查看本机IP地址:
2.使用tcpdump对本机向外的通信进行抓包,然后在浏览器中访问www.besti.edu.cn。终端输入sudo tcpdump -n src 192.168.200.4and tcp port 80 查到浏览器访问的Web服务器的IP地址如下:
任务二:动手实践Wireshark:使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
- Q:1你所登录的BBS服务器的IP地址与端口各是什么?
2.TELNET协议是如何向服务器传送你输入的用户名及登录口令?
3.如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
输入luit -encoding gbk telnet bbs.fozztexx.com,访问bbs服务器:
Q1:你所登录的BBS服务器的IP地址与端口各是什么?
A1:在wireshark的过滤器直接输入 telnet ,即可过滤显示telnet相关的数据包,通过查看wireshark里面可知BBS服务器IP地址为50.79.157.209,端口号为23。
Q2:TELNET协议是如何向服务器传送你输入的用户名及登录口令?
A2:如下列图,发现这里传递用户名和密码时,是一个字符一个字符传递的。
这是账户的数据包获取:
密码的获取也是明文单字符,可知telnet是明文传输非常的不安全。
Q3:如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
通过追踪TCP流。右键点击该连接的任意数据包,然后选择“Follow” > “TCP Stream”,了解通信的细节和内容。
任务三:取证分析实践,解码网络扫描器
- Q:1.攻击主机的IP地址是什么?
2.网络扫描的目标IP地址是什么?
3.本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
4.你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
5.在蜜罐主机上哪些端口被发现是开放的?
6.攻击主机的操作系统是什么?
打开下载好的 listen.pcap,选择菜单栏中的统计->会话,再点击IPv4,可以看到 172.31.4.178 和 172.31.4.188 之间有大量的双向的网络数据包,因此可初步确定这两个是攻击主机IP和网络扫描的目标主机IP。
Q1:攻击主机的IP地址是什么?
A1:攻击主机IP地址是:172.31.4.178
Q2:网络扫描的目标IP地址是什么?
A2:网络扫描的目标IP地址是172.31.4.188
安装snort。将listen.pcap拷贝到ubuntu虚拟机中。
输入命令sudo apt-get update 更新APT库和sudo apt-get install snort安装snort。重开终端,再输入如图命令:
Q3:本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
A3:本次攻击是使用nmap发起的,如图。
Q4:你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
A4:
kali中使用wireshark打开listen.pcap。
第一次扫描:扫描前nmap会通过arp更新目标MAC地址,所以使用wirshark扫描arp包,可以看到有4次交互。
可以看出攻击机第一次nmap扫描和第二次nmap扫描之间没有数据包,则第一次nmap扫描为探测目标IP是否活跃,指令是nmap -sp IP地址。
第二次扫描:tcp过滤,观察第二次扫描的末尾数据包,发现有大量的TCP协议、ICMP协议、UDP协议数据,并使用了大量构造的标志位,以触发不同的响应包。指令是nmap -O。
第三次扫描:含有大量SYN标志和端口,判断是对端口的扫描,扫描命令namp -sS -p 1-65535。
第四次扫描:以tcp.port==80作为筛选条件,判断http连接是否开启,可能是-sV服务探测或者-A全局扫描,具体进一步查找,SYN标志的半开扫描,建立连接,可以确定nmap -sV。
Q5:在蜜罐主机上哪些端口被发现是开放的?
A5:输入命令tcp.flags.syn == 1 and tcp.flags.ack == 1可以筛选出哪些端口是活跃的,如图有23、80、25、22、53、445等等。
使用p0f工具,p0f是一款被动探测工具,能够通过捕获并分析目标主机发出的数据包来对主机上的操作系统进行鉴别,即使是在系统上装有性能良好的防火墙的情况下也没有问题。
Q6:攻击主机的操作系统是什么?
A6:终端先输入 sudo apt-get install p0f安装p0f
进入listen.pcap目录:
再输入 sudo p0f -r listen.pcap 探测,得知版本为linux 2.6.x。
3.学习中遇到的问题及解决
- 问题1:虚拟机游览器无法进入。
- 问题1解决方案:改网络配置,重启。
- 问题2:kali无法安装snort。
- 问题2解决方案:在Ubuntu中安装,步骤见实验过程。
4.学习感悟、思考
学习wireshark抓取数据包,并分析端口、ip地址等一系列数据信息。了解网络嗅探、网络嗅探器的定义和原理。 snort的安装过于繁琐,在Ubuntu虚拟机中才得以安装。