• 20199316 2019-2020-2 《网络攻防实践》第4周作业


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

    1.实践内容

    1.网络嗅探

    网络嗅探是一种黑客常用的窃听技术,与传统的电话窃听在电话线路上对特定号码的通话内容进行监听类似,网络嗅探利用计算机网络的接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息等。实现网络嗅探技术的工具称为网络嗅探器,嗅探器捕获的数据报文是经过封包处理之后的二进制数据,因此通常会结合网络协议分析技术来解析嗅探到的网络数据,这样才能恢复出TCP/IP协议栈上各层网络协议的内容,以及实际发送的应用层信息。
    类UNIX平台上的网络嗅探软件一般都是基于标准接口BPF与libpcap,最常用的包括libpcap抓包开发库、tcpdump以及wireshark嗅探器软件。

    2.网络协议分析

    网络协议分析是网络嗅探器的进一步解析与理解捕获数据包必需的技术手段。如前所述,网络嗅探截获的是在通过封包过程组装的二进制格式原始报文内容,为了获取其中包含的信息,就需要根据TCP/IP协议栈的协议规范,重新还原出数据包在各个协议层上的协议格式及其内容,以及在应用层传输的实际数据。
    对TCP/IP协议栈中基本网络协议的分析技术实现比较简单,并且在开源的网络嗅探器软件如Tcpdump、Wireshark和Snort等都有相应的源码实现。

    2.实践过程

    动手实践: tcpdump

    使用 tcpdump 开源软件对在本机上访问 www.tianya.cn 网站过程进行嗅探, 回答问题:你在访问 www.tianya.cn 网站首页时, 浏览器将访问多少个 Web 服务器?他们的 IP 地址都 是什么?
    在terminal中输入:sudo tcpdump src 192.168.200.2 and tcp dst port 80

    • 经嗅探发现访问了IP 221.182.218.238
    • 查看了一下天涯的ip地址:

    动手实践: Wireshark

    任务:使用Wireshark开源软件对在本机上以telnet方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:(1)你所登录的BBS服务器的IP地址与端口各是什么?(2)telnet协议是如何向服务器传送你输入的用户名及登录口令的?(3)如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?

    • 打开cmd输入命令行telnet bbs.fudan.edu.cn进入界面如下图,发现其IP为202.120.225.9

    • 通过wireshark抓包发现端口号为23
    • 跟踪后获得用户名和密码

    取证分析实践:解码网络扫描

    下载云班课上分享的listen.pcap,用wireshark打开待分析的二进制记录文件,使用菜单栏中Statistics(统计)下的Conversation(会话),选择IPV4得到如下图:

    从上图可以看出,172.31.4.178和172.31.4.188之间发送了大量的数据包,可以初步确定攻击在这两个ip之间。

    进一步从tcp数据包的分析可以看出172.31.4.188基本发送的都是ack确认包,可以推测出此ip为目标主机,而另一个IP地址172.31.4.178为攻击主机的ip。
    1.攻击主机的IP地址是什么?
    攻击主机的IP地址是172.31.4.178

    2.网络扫描的目标IP地址是什么?
    网络扫描目标的IP地址是172.31.4.188

    3.本次案例中是使用了那个扫描工具发起这些端口扫描?你是如何确定的?
    通过snort工具输入 sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r /home/kali/listen.pcap解析wireshark的pcap文件,可以得出通过nmap工具对端口进行了扫描

    4.你所分析的日志文件中,攻击者使用了哪种扫描方法,扫描的目标端口是什么,并描述工作原理。
    由于是模拟实验,扫描机和目标机在同一网段,Nmap也可以对该类目标采用arp协议进行探测,可以直接在广播域内广播arp request报文,如果收到arp response报文即为活跃。可以得到目标主机mac地址。

    而nmap在发起端口扫描之前总是先通过Ping扫描和针对80端口的探测确定目标主机是否活跃。通过过滤器搜索icmp,可以定位ICMP协议对应的Ping扫描。

    在数据包中存在大量SYN请求包,这是攻击机57738端口向目标主机进行的TCP SYN扫描,目的是用于扫描目标主机的端口是否活跃,如果活跃则目标主机会反馈一个SYN|ACK包,攻击机端口会立刻发送一个RST包关闭这个链接,目标端口不活跃则会反馈RST|ACK包。

    5.在蜜罐主机上发现那些端口是开放的?
    tcp.flags.syn == 1 and tcp.flags.ack == 1可以过滤出SYN | ACK的数据包,即为目标主机反馈扫描机的端口活跃信息。可以确定21,22,23,25,53,80,139,445,3306,3632,5432,8009,8180这几个端口是活跃的。

    6.系统的版本。经查询发现不同操作系统的ttl是不一样的linux的ttl是64,点击telnet下面的详细信息可以看到ttl=64因此靶机使用的操作系统应该是linux

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

    • 问题1:很多的大学的BBS,像水林、饮水思源、木棉等,都没有提供注册。

    • 问题1解决方案:最后看了其他同学的博客发现复旦大学的可以,所以选择了复旦大学的bbs。

    • 问题2:: Unable to locate package snort

    • 问题2解决方案:见博客:https://blog.csdn.net/magic_ninja/article/details/87981662

    4.实践总结

    本次实验主要包括网络嗅探与协议分析的相关技术,网络嗅探主要用到了tcpdump和snort这些软件,而协议分析主要通过wireshark对不同数据包进行分析,进而推测出一些网络扫描和连接的行为,对于协议分析这方面,唯一的感触就是“纸上得来终觉浅”,以前对此的了解绝大部分只能体现在会做题上面,真正运用与实践才发现自己掌握的并不是很好,还需要多努力去学习。

    参考资料

  • 相关阅读:
    Spring AOP入门基础-继承、装饰者,代理的选择
    Java Ajax入门
    Servlet Config和Context入门
    MapReduce的Shuffle理解
    Servlet Response常用方法
    Servlet Request常用方法
    HDFS中block设置128M的原因
    【Java】java获取json中某个字段
    【Java】字符串转json
    【Linux】shell脚本参数传递
  • 原文地址:https://www.cnblogs.com/destiny-love/p/12552187.html
Copyright © 2020-2023  润新知