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

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

1.知识点梳理与总结

1.1 网络嗅探

  • 定义:

网络嗅探是一种黑客常用的窃听技术。与传统的电话窃听相类似,网络嗅探利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息等。实现网络嗅探技术的工具称为网络嗅探器。嗅探器捕获的数据报文是经过封包处理之后的二进制数据。因此,通常会结合网络协议分析技术来解析嗅探到的网络数据,这样才能恢复出TCP/IP协议栈上各层网络协议的内容。以及实际发送的应用程序信息。

  • 原理与实现:

以太网工作原理介绍:以太网通过使用CSMA/CD协议的共享通信信道进行消息传输。以太网中的数据以帧为单位,将上层的数据包装配上帧头和帧尾,通过MAC地址匹配数据包的目标。当网卡处于混杂模式下,能够接受一切通过它连接的以太网络的数据帧。

  • 网络嗅探软件:

类Unix平台下的嗅探软件:libpcap、tcpdump、wireshark和dsniff、sniffit等等。

windows平台下的嗅探软件:wireshark、snifferPro等等。

  • 防范措施:

采用安全的网络拓扑,对网络进行合理分段;通过在重要的主机或网关上设置静态的ARP对应表,以及在交换机上设置静态的MAC-端口映射表,能够防止利用MAC地址欺骗、ARP欺骗等手段进行嗅探的手法;重视网络数据传输的集中位置点的安全防范;避免使用明文传输口令或敏感信息的网络协议。

1.2 网络协议分析

  • 原理:对网络上传输的二进制数据包进行解析,以恢复出各层网络协议信息以及传输内容的技术方法。
  • 技术实现:在开源的软件如tcpdump、wireshark、snort中都有相应源码实现。
  • wireshark:主要作用是捕获网络数据包,对数据包进行协议分析以尽可能地显示详细的情况,并以更容易被理解的格式呈现给用户。

2.实践过程

2.1 动手实践tcpdump

使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:你在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
先查一下自己的IP,我的IP地址是192.168.200.64
然后在kali虚拟机上终端输入tcpdump src 192.168.200.64 and tcp dst port 80 and tcp[13] & 18=2,浏览器访问www.tianya.cn,tcpdump嗅探到的数据包如下:

可以看出系统访问了4个web服务器,IP地址分别是:124.225.206.22;124.225.69.77;124.225.135.230;124.225.214.214。
nslookup查看www.tianya.cn的IP地址

2.2 动手实践Wireshark

使用reshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
a. 你所登录的BBS服务器的IP地址与端口各是什么?
在终端,执行luit -encoding gbk telnet bbs.fudan.edu.cn访问bbs.fudan.edu.cn




接着回到wireshark界面,找到telnet进行分析

找到IP地址为:202.120.225.9,端口为23

b. TELNET协议是如何向服务器传送你输入的用户名及登录口令?
Telnet远程登录服务分为以下4个过程:
1)本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的Ip地址或域名;
2)将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据报;
3)将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;
4)本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。
Telnet是远程登录程序,它由运行在用户的本地计算机上的Telnet客户程序和运行在要登录的远程计算机上的Telnet服务器程序所组成。
Telnet的作用就是让用户以模拟终端的方式,登录到Internet的某台主机上。一旦连接成功,这些个人计算机就好像是远程计算机的一个终端,可以像使用自己的计算机一样输入命令,运行远程计算机中的程序。

c. 如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
选择一个数据包右键进行TCP流跟踪,获取到登录用户名和密码

2.3 取证分析实践,解码网络扫描器(listen.cap)

a. 主机的IP地址是什么?
攻击机IP:172.31.4.178
b. 网络扫描的目标IP地址是什么?
靶机IP:172.31.4.188
c. 本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
用snort分析listen.pcap可知扫描工具为nmap
使用kali虚拟机环境,先下载老师提供的listen.pcap并复制到文件夹下
安装snort
进入root权限执行

apt-get install snort
update-rc.d snort disable
chmod 777 /etc/snort/snort.conf
snort sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap
其中:
-A 设置报警模式
-q 安静模式,不显示标志和状态报告
-u 初始化后改变Snort的UID
-c 使用配置文件,这会使得snort进入IDS模式,并从中读取运行的配置信息
-r 从pcap格式的文件中读取数据包


可以得出通过nmap工具对端口进行了扫描
d. 你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
用wireshark打开listen.pcap文件

1)搜索arp过滤,发现攻击机和靶机有4组数据包,故推测共进行了4次扫描。

2)搜索icmp过滤发现有数据包交互,说明进行了nmap -sP 172.31.4.188.

3)搜索tcp过滤有大量进行了TCP SYN扫描,攻击机向靶机发送带[SYN]标志的请求包,靶机返回一个[SYN/ACK]确认连接,主机再发送一个[RST]断开连接,表名该端口开放。故推测攻击机进行了nmap -sS 172.31.4.188 扫描。

4)由于不同端口对应不同的服务,参考常用端口号及对应服务,以53号端口进行过滤tcp.port==53,发现,除了建立TCP的半开连接,建立了dns连接,这是为了探测靶机的网络服务,猜测攻击机对靶机进行了-sV的版本扫描。

5)对多路复用的1号端口进行过滤,发现建立了发送了大量的标志位,以触发大量响应包,进而可探测出靶机的操作系统。推测使用的nmap -o 进行操作系统探测。

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

f. 攻击主机的操作系统是什么?
在kali中输入apt-get install p0f 安装,之后利用命令p0f -r /home/kali/Desktop/listen.pcap, 探测到攻击机的操作系统为:linux 2.6.x
-p0f工具是一款被动探测工具,能够通过捕获并分析目标主机发出的数据包来对主机上的操作系统进行鉴别,即使是在系统上装有性能良好的防火墙的情况下也没有问题。

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

  • 问题1:nmap命令不熟悉
  • 问题1解决方案:多学多思考。

4.学习感悟、思考等

视频中学长讲攻击机攻击靶机那里得多听几遍,感觉自己理解得还是太表面。

posted @ 2022-03-28 21:03  20212808刘家兴  阅读(24)  评论(0编辑  收藏  举报