这个作业属于哪个课程 | 《网络攻防实践》 |
这个作业的要求在哪里 | 《网络攻防实践》第四周作业 |
这个作业在哪个具体方面帮助我实现目标 | 学习网络嗅探与协议分析 |
作业正文.... | 见正文 |
其他参考文献 | 见参考文献 |
一、实践内容
1.网络嗅探
- 定义:是一种利用计算机网路接口截获目的地为其他计算机的数据报文,已监听数据流中所包含的用户账户密码或私密信息等的常用窃听技术。
- 以太网工作原理:采用载波侦听/冲突检测技术避免共享链路上的通信冲突,使用广播机制发送数据帧。当网卡处于混杂模式下,能够接收一切通过它连接共享通信媒介的数据帧。
- 共享式网络使用集线器连接,网络拓扑基于总线方式,物理上是广播机制;交换式网络使用交换机连接,所有数据帧通过交换机进行转发。
- 交换式网络常见网络嗅探技术:MAC地址洪泛攻击、MAC欺骗、ARP欺骗。
- 类UNIX平台网络嗅探器软件:libpcap抓包开发库、tcpdump、wireshark
- Windows平台网络嗅探软件:SnifferPro、wireshark、Buttsniffer、NetMon、Network Associates Sniffer等
- 检测:在同一主机上,可以通过检查网卡是否运行在混杂模式下,来发现正在监听的嗅探器。也可以基于混杂模式下操作系统和协议栈的不同特性,来检测出网络中其他主机上的嗅探器。
- 防范:
- 采用安全的网络拓扑,尽量将共享式网络升级为交换式网络,合理进行网络分段
- 用静态ARP或者MAC-端口映射表代替动态机制
- 重点防范网关、路由器和交换机等网络数据传输集中区域
- 避免使用明文传输口令或敏感信息的网络协议
2.网络协议分析
- 定义:指对网络上传输的二进制格式数据包进行解析, 以恢复出各层网络协议伈息以及传输内容的技术方法。
- 原理:“剥洋葱”
二、实践过程
实践一:使用 tcpdump 开源软件对在本机上访问 www.tianya.cn 网站过程进行嗅探, 回答问题:你在访问 www.tianya.cn 网站首页时, 浏览器将访问多少个 Web 服务器?他们的 IP 地址都 是什么?
在终端输入sudo tcpdump src 192.168.200.2 and tcp dst port 80
。
访问的Web服务器如下:
IP | IP地址查询 | IP反查询域名 |
---|---|---|
221.182.218.229 | 海南省海口市 移动 | www.tianya.cn |
221.182.218.244 | 海南省海口市 移动 | static.tianya.cn |
221.182.218.238 | 海南省海口市 移动 | passport.tianya.cn |
221.182.218.151 | 海南省海口市 移动 | dol.tianya.cn |
72.21.202.25 | 美国弗吉尼亚阿什本 亚马逊云 | cloudfront-labs.amazonaws.com |
124.225.214.214 | 海南省海口市 电信 | collect.tianya.cn |
221.182.218.174 | 海南省海口市 移动 | 801.tianya.cn |
实践二:使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
你所登录的BBS服务器的IP地址与端口各是什么?
TELNET协议是如何向服务器传送你输入的用户名及登录口令?
如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
打开wireshark开始捕获,命令提示符中输入telnet bbs.fudan.edu.cn
访问复旦大学BBS
注册登录
wireshark中输入ip.dst==202.120.225.9 and telnet
过滤
可以发现用户名chaoluu和密码apollo是明文传递的。
实践三:
1.攻击主机的IP地址是什么?
2.网络扫描的目标IP地址是什么?
3.本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
4.你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
5.在蜜罐主机上哪些端口被发现是开放的?
6.攻击主机的操作系统是什么?
1.用wireshark将云班课中的pcap文件打开,选择菜单栏的统计->会话,点击IPv4选项。通过172.31.4.178 和 172.31.4.188 之间有大量网络数据包,可以初步判断攻击机的IP是172.31.4.178,网络扫描目标的IP是172.31.4.188。
2.将listen.pcap复制到kali虚拟机中,在终端中输入sudo apt-get update
命令更新APT库,输入sudo apt-get install snort
命令安装snort,输入sudo chmod 777 /etc/snort/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格式的文件中读取数据包)。可以看到攻击方使用了nmap。
3.每次扫描前nmap会通过arp更新目标MAC地址,所以首先过滤arp,可以看出共进行4次nmap扫描,第一次为5、6,第二次为7、8,两次之间没有数据包,所以第一次扫描为使用nmap -sP命令进行的主机扫描。
4.过滤条件改为tcp.port == 57738 and tcp.flags.syn == 1 and tcp.flags.ack == 0
,表示tcp端口57738发送tcp请求但无回应,从过滤结果上看,第二次扫描基本囊括了靶机上的所有协议和服务,判断是使用namp -O进行的操作系统类型扫描。
5.第三次扫描的端口数,往返包大致为12W,考虑到靶机多数端口都处于关闭状态,整体数据流应为([SYN]->[SYN, ACK])大小为2,故大致扫描了6w个端口。nmap默认只能扫描1000个端口,所以第三次扫描的参数应该是nmap -sS来人为指定扫描端口的数量。
6.过滤条件改为tcp.port == 23
,发现在第四次扫描的时候出现了telnet连接;更改过滤条件为tcp.port == 22
,发现第四次扫描出现了ssh连接,判断第四次扫描为使用nmap -sV进行的安装服务扫描。
7.筛选条件为tcp.flags.syn == 1 and tcp.flags.ack == 1
,可以得知,开放端口有:21、22、23、25、53、80、139、445、3306、5432、8009、8180。
8.终端输入sudo apt-get install p0f
安装p0f,输入sudo p0f -r listen.pcap
探测。得知版本为linux 2.6.x。
三、学习中遇到的问题及解决
- 问题1:电脑摔了之后,虚拟机网络有时连得上,有时连不上,做作业要看天意。
- 问题1解决方案:无
四、实践总结
在网络嗅探和网络协议分析中获得了经验。
参考资料
无
来源:https://www.cnblogs.com/chaolu/p/12559353.html