20199124 2019-2020-2 《网络攻防实践》第4周作业
本次作业属于哪个课程 | 《网络攻防实践》 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10518 |
我在这个课程的目标是 | 学习网络嗅探与网络协议分析的原理、实现以及相关软件的使用 |
这个作业在哪个具体方面帮助我实现目标 | 动手实践网络嗅探,网络协议分析 |
作业正文 | 见下文1、2、3、4部分 |
其他参考文献 | 无 |
1.实践内容
本周主要学习《网络攻防技术与实践》第四章网络嗅探与协议分析,网络嗅探监听正在传输的数据包,协议分析解析出其中的敏感信息。
1.网络嗅探
网络嗅探是一种窃听技术。攻击者使用网络嗅探截获传输的数据,防御者使用网络嗅探捕获与分析网络的流量信息,以便找出所关心网络中潜在的问题,加以解决。由此可见网络嗅探是一本双刃剑。
监听对象:以太网(监听工具tcpdump等),Wi-Fi(监听工具Kismet等)
原理:以监听以太网为例,以太网是共享信道的,网络上的站点使用在信道上的广播机制来发送自己的数据,这就意味着计算机能够接收到在共享媒介上发送给其他计算机的信息。网卡驱动程序支持一种混杂模式(Promiscuous Mode),处于该模式下的网卡能够接收一切通过它连接共享通信媒介的数据帧,而不管该数据帧是否是传给它的。
以太网的部署方式为共享式网络与交换式网络。在共享式网络下,集线器先接收到数据,然后再把它所接收到的数据发送到所有接口,这就意味着信息会发送给每一个与集线器连接的主机。在交换式网络下,交换机会目标MAC地址,将数据发送到指定接口。由此看来交换式比共享式更安全一些。
技术实现:在类UNIX平台上,主要通过内核态的BPF和用户态的libpcap抓包工具库实现;
在Windows平台上,属于通过内核态的NPF和与libpcap兼容的抓包接口WinPcap。
软件工具:UNIX平台,libpcap,tcpdump,wireshark
Windows平台,tcpdump
2.网络协议分析
网络嗅探获取的是原始的二进制报文数据,若想获取其中机密信息需要使用网络协议分析。
原理:计算机传输数据前会对数据包进行封装工作,封装TCP或UDP协议包头、IP协议包头和链路层协议包头。计算机接受数据则会一层层剥去这些包头,网络协议分析就类似于解封。
技术实现:Tcpdump、Wireshark和Snort等都有相应的源码实现。一般步骤就是:解析以太网数据帧、解析IP数据包、解析TCP报文。
软件工具:Wireshark
2.实践过程
·tcpdump
·使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题: 你在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
打开虚拟机终端,提权,输入一下命令
tcpdump -i eth0 -s 0 -w a.cap
-i 指定捕获哪个网卡的网络数据包;eth0 网卡;-s 0 抓取全部;-w a.cap 抓取内容放在a.cap文件中。
回车运行后,去浏览器打开wwwtianya.cn。回到终端按Ctrl+C,停止抓包。可以从图中看到抓到313个包。
输入一下命令查看a.cap文件
tcpdump -r a.cap
由于我一开始抓包的范围实在时太大了,导致看全部数据包根本无法分辨。所以我们要有筛选的查看。输入以下命令,查看源地址为本机IP(192.168.190.7)、端口为80的数据包。“-n"表示不解析域名。
tcpdump -n src 192.168.190.7 and tcp dsn 80 -r a.cap
筛选查看可知,出现的IP有124.225.65.154,124.225.135.230,218.77.130.200,106.120.159.126,
到WhoisSoft网站上查询域名tianya.cn,得到其IP地址为:124.225.65.124。
在抓包的时候也可以筛选抓包,直接设置查找源地址为192.168.190.7,端口为80 的数据包。命令如下
tcpdump -n src 192.168.190.7 and tcp dst port 80 -w a.cap
tcpdump的使用多种多样这里附上了两个tcpdump命令详解连接
www.splaybow.com/post/linux-tcpdump.html
htttps://blog.csdn.net/wind0513/article/details/5419621
·Wireshark
使用Wireshark开源软件对在本机上以telnet方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
(1) 你所登录的BBS服务器的IP地址与端口各是什么?
(2) telnet协议是如何向服务器传送你输入的用户名及登录口令的?
(3) 如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
Telnet是位于OSI模型的第7层--应用层上的一种协议,是一个通过创建虚拟终端提供连接到远程主机终端仿真的TCP/IP协议。这一协议需要通过用户名和口令进行认证,是Internet远程登陆服务的标准协议。
Telnet是一个明文传送协议,它将用户的所有内容,包括用户名和密码都明文在互联网上传送,具有一定的安全隐患,所以我们才能利用网络协议分析得到用户名、口令等私密信息。
首先打开在”启动或关闭Windows功能“中打开telnet。
打开WireShark,筛选协议为telnet,开始抓包。连接bbs.fudan.edu.cn。有下图可见WireShark与BBS服务器同时显示IP为:202.120.225.9。
输入new,进行注册,然后重新连接bbs.fudan.edu.cn,输入账户与密码进行登录,下图为登录进入服务器之后的界面。
我们返回WireShark,暂停抓包,开始分析以及获取的数据包。
首先获取我们的用户名,wireshark的info列显示Telnet Data,说明这是主机与服务器之间传输的数据包。点击这一行,可以在wiershark的中间界面看到数据包的内容。在最后一行显示这Data:l。这是我的用户名的第一个字符。
接着往下查看可以指定用户名的第2、3、4个字符为:uya
这样一直往下分析,可知得到我的用户名为luyaoluyao。
接着我们来获取密码,如下图所示,密码第1-3位是“121”,第2-4位是“3”。
我们这样一步一步分析下去可知密码位121314。
·取证分析实践,解码网络扫描
- 攻击主机的IP地址是什么?
- 网络扫描的目标IP地址是什么?
- 本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
- 你所分析的日志文件中,攻击者使用了哪种扫描方法,扫描的目标端口是什么,并描述其工作原理。
- 在蜜罐主机上发现哪些端口是开放的?
- 额外奖励问题:攻击主机的操作系统是什么?
Kali 一时无法连接网络,没有下载lisren.pcap,在自己的电脑上使用SEED作为攻击方使用nmap进行网络扫描,kali作为防守房使用wireshark抓包并进行分析和tcpdump嗅探。
由Wireshark统计分析可知,攻击方IP:192.168.190.6,防守方IP:192.168.190.7。
下图为攻击方进行第一次扫描时wireshark捕获的数据包,发现只是在询问192.168.190.7,并没有其他工作。防守方回应了192.168.190.7 is at (mac地址),说明这个IP是活跃的,这时候攻击方是使用了nmap -sP 192.168.190.7
攻击方进行的第二次扫描,也是先询问192.168.190.7。但确认了防守方IP活跃之后又开始建立TCP协议,但是仔细观察这些TCP协议都是没有完成的,攻击机发送SYN包,靶机回应了一个RST/ACK包,就没有后续了,有甚至只是攻击方在发送SYN包,防守方都没有回应。。攻击方并不像与防守放真的建立TCP协议,而是通过此种方法扫描有多少TCP端口是活跃的。所以攻击方使用的是
nmap -sS 192.168.190.7
3.学习中遇到的问题及解决
问题一:打开了telnet功能,依然出现telnet不是内部或外部命令
解决方法1:https://blog.csdn.net/m0_37860933/article/details/80466254
解决方法2:telnet.exe存放在了Window/System32中,在该目录下运行telnet命令就不会出现这种状况了。输入cd /Windows/System32,在运行telnet命令,
问题二:kali无法上网
解决方案:网上有无数个贴子来解决这个问题,我也使用了很多,例如修改interfaces文件内容,修改NetworkManager文件,但这些方法有时管用有时不管用,今天能连上网明天又不能了,感觉我的kali就是看心情决定能不能上网。
问题三:无法定位snort软件包
这个问题现在还没有解决,再网上求助解决方法是看到要先更新一下系统(apt-get update),但我更新了之后依然无法定位。
于是又更换了更新源,尝试了清华大学与中科大的更新源,依然无法解决。希望有这方面经验的小伙伴更够分享一下解决方案。
4.实践总结
这次实践让我命令了学习原理的重要性,不清楚原理学到的只是一句命令,没法举一反三。计算机弱鸡的我以后还是要加油啊。