20212923 2021-2022-2 《网络攻防实践》第三次作业

20212923 2021-2022-2 《网络攻防实践》第三次作业

实践三:网络嗅探与协议分析

课程:《网络攻防实践》

班级: 2129

姓名: 王文彬

学号:20212923

实验教师:王志强

实验日期:2022年03月31日

必修/选修: 选修

一.实践内容

1. 实践要求介绍

  • 要求
    • 动手实践tcpdump
      • 使用tcpdump队在本机上访问www.tianya.cn 网站过程进行嗅探;
      • 回答问题(1)访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?
      • 回答问题(2)访问www.tianya.cn网站首页时,他们的IP地址都是什么?
    • 动手实践Wireshark
      • 使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析;
      • 回答问题(1)你所登录的BBS服务器的IP地址与端口各是什么?
      • 回答问题(2)TELNET协议是如何向服务器传送你输入的用户名及登录口令?
      • 回答问题(3)如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
    • 取证分析实践,解码网络扫描器
      • 攻击主机对IP地址是什么?
      • 网络扫描的目标IP是什么?
      • 本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
      • 你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
      • 在蜜罐主机上哪些端口被发现是开放的?
      • 攻击主机的操作系统是什么?

2. 实践内容

动手实践tcpdump

  • 实践过程
    • 一、首先我们来一起了解一下tcpdump是什么软件?
    • tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
    • 二、当我们在kali环境中,在命令行内输入sudo tcpdump -n src 192.168.1.104 and tcp port 80 and "tcp[13]&18=2"命令后,我们可以在kali自带的浏览器中访问天涯社区www.tianya.cn的首页后,可以利用tcpdump的功能嗅探到如下图的内容。
    • 三、我们可以在截图中看到在访问首页时它的web服务器大致个数,其中ip有124.225.206.22124.225.135.230111.206.209.249124.225.214.206等。

tcpdump -n :是指定将每个监听到数据包中的域名转换成IP地址后显示,不把网络地址转换成名字;
tcp port :是指在端口80的tcp包;
tcp[13]&18=2 :是指一个TCP头,拥有20个字节的数据,除非选项。图表中第一行显示的八位位组, 0 - 3 ,第二行显示了八位位组4 - 7等与0开始计数,相关的TCP控制位都包含在字节13,2是指syn;
例如:tcpdump -i eth2 tcp[13]==2 or tcp[13]==18 and port 80 and host 10.10.10.10指的是抓取10.10.10.10:80的syn、synack包

动手实践wireshark

  • 实践过程
    • 一、实践要求我们使用telnet对方式登录BBS进行嗅探与协议分析,我们选择使用复旦大学社区进行实践;
    • 二、我们在命令行下输入luit -encoding gbk telnet bbs.fudan.edu.cn进入登录界面后,同时打开wireshark进行抓包。

    • 三、当我们首先使用lawwbla账号进行访问时,我们使用Wireshark进行抓包后,追踪tcp流可以分别看到(1)IP地址为202.120.225.9,端口号为23,同时我们查看telnet包内容后可以看到我们所传送的用户名以及口令;


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

  • 实践过程

    • 一、在学习这一部分之前,我们先了解一下关于snort系统;
    • Snort是一个强大的清量级的网络入侵检测系统。它具有实时数据流量分析和日志Ip网络数据包的能力,能够进行协议分析,对内容搜索/匹配。它能够检测各种不同的攻击方式,对攻击进行实时警报。此外,Snort具有很好的扩展性和可移植性。还有,这个软件遵循公用许可GPL,所以只要遵守GPL任何组织和个人都可以自由使用。
    • 本次实验我们主要采用snort软件对云班课中的listen.cap进行分析;
    • 在kali中,安装 snort 工具sudo apt-get install snort
      给予所有权限:sudo chmod 777 /etc/snort/snort.conf
      进入 pcap 包所在目录后,执行sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap,得到如下结果:我们可以观察发现本次案例中是使用了nmap发起的端口扫描。

  • 二、首先我们可以在追踪ICMP流进行发现,如下图所示,可以看到两组ICMPrequest包和ICMPreplay包,说明使用了主机扫描,并且确定了目标主机是活跃的;

  • 三、以arp作为过滤条件,攻击机在广播域中广播arp request报文,寻找目标IP地址为172.31.4.188的主机的MAC地址,如下图

  • 四、以tcp作为过滤条件,可以看到在数据包中存在大量SYN请求包,说明攻击机的57738端口向目标主机发起了TCP SYN扫描,以确定目标主机的哪些端口开放,开放的端口则回复 SYN|ACK数据包,不活跃的端口则回复RST|ACK数据包,如下;

  • 五、输入过滤条件:tcp.flags.syn == 1 and tcp.flags.ack == 1,则可以过滤出所有的SYN|ACK的数据包,即可得到所有的开放端口,如下:

  • 六、开放的端口有:21(ftp),22(ssh),23(telnet),25(smtp),53(domain),80(http),139(ssn),445(microsoft-ds),3306(mysql),5432(postgresql),8009,8180;

  • 七、输入过滤条件tcp.port==80,可以查看到攻击机在最后对靶机进行http连接,确认http连接是否连通。

  • 八、我们通过使用P0f工具对cap包进行,首先输入sudo apt-get install p0f安装p0f工具
    再进入 listen.pcap 包所在目录后输入命令sudo p0f -r listen.pcap,得到如下检测结果:DNS2

    • 分析可知,攻击主机的操作系统是Linux 2.6.x。
  • 综上所述,攻击机我们可以判断为172.31.4.178,靶机为172.31.4.188;

  1. 攻击机使用广播地址对靶机进行询问,尝试进行发现靶机是否活跃在线;
  2. 攻击机紧接着对靶机端口1进行探测靶机OS;
  3. 攻击机发送大量请求包,对靶机进行端口扫描,查看靶机有哪些端口是开放的;
  4. 攻击机进行http链接测试,确认链接是否正常。

二、 实验过程中遇到的问题和解决过程

1. 不理解snort软件的用法

  • 在经过资料查找整理后发现,snort属于一个轻量级入侵检测系统,能够帮助我们深入理解网络攻防博弈直接的联系,同时也提供给我们用户很多工具使用。

三、感想

此次实验,学习到了很多工具的使用,同时在分析最后listen.pcap包中,结合上一节课的知识,更加深入了nmap的用法与嗅探之间对联系,从攻击者和靶机不同角度感受了不同的体验。

四、参考文献

嗅探器模式和数据包记录模式

Snort入侵检测系统分析

tcpdump参数解析及使用详解

tcpdump -i eth tcp[13] == 2 原理

抓包参数tcp[13]详解

抓包工具tcpdump的常见用法

posted @ 2022-04-01 10:50  lalalaouye  阅读(90)  评论(0编辑  收藏  举报