20199126 2019-2020-3 《网络攻防实践》第4周作业

前言

这个作业属于哪个课程:https://edu.cnblogs.com/campus/besti/19attackdefense
这个作业的要求在哪里:https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10518
我在这个课程的目标是:学习网络攻防技术相关知识,掌握相关技能。
这个作业在哪个具体方面帮助我实现目标 :初步学习网络嗅探技术与协议分析。

1.实践内容

1.1网络嗅探技术

  • 网络嗅探技术概述
    • 网络嗅探技术定义:一种黑客常用的窃听技术,利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息等。
    • 网络嗅探技术与工具分类:按照所监听的链路层网络进行分类,有线局域网与无线局域网;按照实现形式分为软件嗅探器和硬件嗅探器。
  • 原理与实现
    • 以太网是共享信道的。在以太网的共享通信媒介中,网络上的站点使用在信道上的广播机制来发送自己的数据,则计算机能够接受到在共享媒介上发送给其他计算机的信息。
    • 网卡驱动程序支持一种混杂模式(Promiscuous Mode),能够接收一切通过它连接共享通信媒介的数据帧。
    • 共享式网络使用集线器(Hub)连接,集线器将收到的数据发送到所以接口;交换式网络中,交换机通过“MAC地址-端口映射表”转发数据帧至目标MAC地址。
    • 针对纯交换式网络攻击:MAC地址洪泛攻击、MAC欺骗、ARP欺骗。
    • 类UNIX平台的网络嗅探技术主要通过内核态的BPF和用户态的libpcap抓包工具库实现;通过增加一个驱动程序如NPF来访问内核网卡驱动中捕获的数据包。
  • 网络嗅探器软件:类UNIX平台有libpcap抓包开发库、tcpdump嗅探器软件、wireshark嗅探器软件等等;Windows平台也有tcpdump。
  • 网络嗅探的防范措施:采用安全的网络拓扑、用静态ARP或MAC-端口映射表代替动态机制、重视网关路由器交换机等的安全防范、避免使用明文传输重要信息的网络协议。

1.2 网络协议分析

  • 网络协议分析技术原理:计算机通过网络传输数据时,根据不同网络层的协议对数据包进行逐层封装,发送到目标地址时再根据协议对报文进行逐层拆封,最终得到数据包。封装实际操作就是在数据流的头或尾加上一定的字段信息。所以网络嗅探对网络中的数据帧进行结构分析,定位出各字段结构,提取数据内容。例如通常IP报文格式如下:

  • 网络分析工具wireshark:可以通过过滤器设置过滤条件,表达式参考tcpdump相关命令

    • tcp port 80:表示只捕获80端口的TCP协议数据包。
    • ip.dst == 127.0.0.1 :目的地址为127.0.0.1
    • ip.src == 0.0.0.0:原地址为0.0.0.0
    • http.request.method=="POST":http模式过滤POST包

2.实践过程

2.1 tcpdump

实践内容:使用tcpdump对本机上访问www.tianya.cn网站过程进行嗅探

首先要确定来源地址,即本机地址,如我的是192.168.200.7。并且http使用80端口,可以设置过滤条件。控制台命令为tcpdump src 192.168.200.7 and tcp dst post 80

tcpdump返回了嗅探到的各种信息,然后我们想知道哪些是tiianya.cn的服务器地址,使用nslookup查询tianya.cn的IP地址如下:

对比tcpdump返回信息发现有221.182.218.244221.182.218.174两个服务器地址。

2.2 wireshark

实践内容:使用wireshark对在本机上以Telnet方式登录BBS进行嗅探与协议分析,回答:(1)所登录的BBS的IP地址与端口各是什么(2)Telnet是如何项服务器传送用户名及密码的(3)如何利用wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令

首先我选择了清华大学的水木社区,其BBS地址为bbs.newsmth.net。使用Telnet登录telnet bbs.newsmth.net,结果如下:

乱码问题没有解决,也不是重点,不赘述。用nslookup查得IP地址为120.92.212.76。同时,BBS使用端口23

在wireshark设置过滤条件ip.dst == 120.92.212.76用于监听本机发送到对方服务器的信息,其中包括用户名及密码。

可以看到上图telnet协议传输了f,而我的用户名为fuhara,查看使用Telnet协议的数据流,可以发现如下:








其中还包括了我输入错误进行删除的操作。

同理:密码也使用明文传输,将过滤器设置为ip.addr == 192.168.200.7,查看发给对方服务器以及对方服务器返回可以看到如下信息:


明文传输给服务器后,服务器返回用来表示的*号。

以上,可以看出Telnet是用明文传输用户输入的用户名及密码的。

2.3 解码网络扫描

使用网络入侵检测器-snort捕获扫描的流量并存入网络日志文件中,对日志文件进行分析,回答问题:(1)攻击主机的IP地址是什么?(2)网络扫描的目标IP地址是什么?(3)本次案例中是使用了哪个扫描工具发起这些端口扫描?如何确定?(4)你所分析的日志文件中,攻击者使用了哪种扫描方法,扫描的目标端口是什么,并描述其工作原理。(5)在蜜罐主机上发现哪些端口是开放的?(6)攻击主机的操作系统是什么

首先,安装snort,本来想在kali上装,但是一直失败。就搞了个 exe文件装WinXPattacker上了

使用控制台输入snort -l C:/Snort/log,然后使用攻击机对靶机进行扫描。

开始运行程序,在结束后snort会将日志文件保存到指定位置

用wireshark读入进行分析

在snort工作期间,我使用kali对执行了nmap -sS 192.168.200.125,kali地址为192.168.200.2

通过分析日志文件对以上操作进行验证。

首先确定攻击机与靶机的IP地址,主机A要对主机B通信时,需要通过ARP确定目标MAC地址,所以我们对过滤器添加条件arp。如下:

可以看到日志中仅有192.168.200.125广播询问192.168.200.2,可以简单确定攻击机与靶机。

知道了两个IP地址后和用过滤器过滤到与两个地址相关的通信

确定是否由nmap发起的扫描可以借用可视化websnort进行分析可得,由于无法安装websnort不能进行展示;或者使用snort自带的配置文件文件snort.conf相关设置进行扫描分析。

可以看到上图中的SCAN nmap XMAS,确定为nmap发起的扫描。

分析nmap采用的扫描方法,如下图对其中一个端口的扫描:

应答过程为[SYN]->[SYN,ACK]->[RST],为半开扫描。其中[SYN,ACK]=[0,1]说明端口打开,统计得有80,21,111,3306,23,53,25,139,5900,445,22,8009,512,1099端口开放。

3.学习中遇到的问题及解决

  • 问题1:wireshark无法再Windows8.1上使用
  • 问题1解决方案:原因是ncap无法正确安装,查了不少解决办法,换了几个版本都没有效果,放弃,在虚拟机上安装wireshark。
  • 问题2:kali无法安装snort
  • 问题2解决方案:下载exe版本,在WinXPattacker上安装

4.实践总结

很多教材上说明的软件版本已经有了很大改动,实验时需要结合实际进行配置。

参考资料

posted on 2020-03-26 08:55  符原  阅读(226)  评论(0编辑  收藏  举报