【THM】Protocols and Servers 2(协议和服务器 2

2024-04-05 05:04

本文主要是介绍【THM】Protocols and Servers 2(协议和服务器 2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

介绍

协议和服务器房间涵盖了许多协议:

  • 远程登录
  • HTTP协议
  • 文件传输协议
  • 邮件传输协议
  • POP3
  • IMAP

实现这些协议的服务器会受到不同类型的攻击。仅举几例,请考虑:

  1. 嗅探攻击(网络数据包捕获)
  2. 中间人 ( MITM ) 攻击
  3. 密码攻击(身份验证攻击)
  4. 漏洞

从安全的角度来看,我们始终需要思考我们的目标是保护什么;考虑安全三元组:机密性、完整性和可用性 ( CIA )。保密是指使通信内容可供预期各方访问。完整性是指确保发送的任何数据在到达目的地时都是准确、一致和完整的。最后,可用性是指我们需要时能够访问服务。不同的政党对这三者的侧重点有所不同。例如,保密性是情报机构的最高优先级。网上银行将最注重交易的完整性。对于任何通过投放广告赚钱的平台来说,可用性是最重要的。

知道我们正在保护机密性、完整性和可用性 ( CIA ),攻击的目的是造成披露、更改和破坏 ( DAD )。下图反映了这一点。

这些攻击直接影响系统的安全。例如,网络数据包捕获违反机密性并导致信息泄露。成功的密码攻击也可能导致信息泄露。另一方面,中间人 ( MITM ) 攻击会破坏系统的完整性,因为它可以更改通信的数据。我们将在这个房间重点关注这三种攻击,因为这些攻击是协议设计和服务器实现不可或缺的一部分。

漏洞的范围更广,被利用的漏洞对目标系统的影响也不同。例如,利用拒绝服务(DoS)漏洞可能会影响系统的可用性,而利用远程代码执行(RCE)漏洞可能会导致更严重的损害。值得注意的是,漏洞本身就会产生风险;仅当漏洞被利用时才会造成损害。我们不会在这个房间讨论漏洞,因为他们有自己的模块,漏洞研究。

该会议室将重点讨论如何升级或替换协议以防止泄露和更改,即保护传输数据的机密性和完整性。我们将推荐涵盖其他主题的其他模块。

此外,我们引入Hydra来查找弱密码。

嗅探攻击

嗅探攻击是指利用网络抓包工具来收集目标的信息。当协议以明文方式通信时,第三方可以捕获交换的数据进行分析。如果数据在传输过程中未加密,则简单的网络数据包捕获可能会泄露信息,例如私人消息的内容和登录凭据。

只要用户具有适当的权限( Linux上的 root 权限和 MS Windows 上的管理员权限),就可以使用以太网 (802.3) 网卡进行嗅探攻击。有许多程序可用于捕获网络数据包。我们考虑以下几点:

  1. Tcpdump是一个免费的开源命令行界面 ( CLI ) 程序,已被移植到许多操作系统上。
  2. Wireshark是一款免费的开源图形用户界面 (GUI) 程序,适用于多种操作系统,包括Linux、macOS 和 MS Windows。
  3. Tshark 是Wireshark 的CLI替代品。

有几种专门的工具可以捕获密码甚至完整的消息;然而,这仍然可以通过 Tcpdump 和 Wireshark 来实现,但需要付出一些额外的努力。

考虑一个用户使用POP3检查他的电子邮件。首先,我们将使用 Tcpdump 尝试捕获用户名和密码。在下面的终端输出中,我们使用了命令sudo tcpdump port 110 -A。在解释此命令之前,我们应该提到此攻击需要访问网络流量,例如通过窃听器或具有端口镜像的交换机。或者,如果我们发起成功的中间人 ( MITM ) 攻击,我们就可以访问交换的流量。

我们需要sudo因为数据包捕获需要 root 权限。我们希望将捕获和显示的数据包数量限制为与POP3服务器交换的数据包数量。我们知道POP3使用端口 110,因此我们使用port 110.最后,我们希望以 ASCII 格式显示捕获的数据包的内容,因此我们添加了-A.

pentester@TryHackMe$ sudo tcpdump port 110 -A

[...]

09:05:15.132861 IP 10.20.30.1.58386 > 10.20.30.148.pop3: Flags [P.], seq 1:13, ack 19, win 502, options [nop,nop,TS val 423360697 ecr 3958275530], length 12

E..@.V@.@.g.

...

......n......"............

.;....}.USER frank

09:05:15.133465 IP 10.20.30.148.pop3 > 10.20.30.1.58386: Flags [.], ack 13, win 510, options [nop,nop,TS val 3958280553 ecr 423360697], length 0

E..4..@.@.O~

...

....n....".........?P.....

...i.;..

09:05:15.133610 IP 10.20.30.148.pop3 > 10.20.30.1.58386: Flags [P.], seq 19:43, ack 13, win 510, options [nop,nop,TS val 3958280553 ecr 423360697], length 24

E..L..@.@.Oe

...

....n....".........<-.....

...i.;..+OK Password required.

09:05:15.133660 IP 10.20.30.1.58386 > 10.20.30.148.pop3: Flags [.], ack 43, win 502, options [nop,nop,TS val 423360698 ecr 3958280553], length 0

E..4.W@.@.g.

...

......n......".....??.....

.;.....i

09:05:22.852695 IP 10.20.30.1.58386 > 10.20.30.148.pop3: Flags [P.], seq 13:28, ack 43, win 502, options [nop,nop,TS val 423368417 ecr 3958280553], length 15

E..C.X@.@.g.

...

......n......".....6......

.<.....iPASS D2xc9CgD

[...]

在上面的终端输出中,我们删除了不重要的数据包,以帮助您更好地关注重要的数据包。特别是,用户名和密码均在各自的数据包中发送。第一个数据包明确显示“USER Frank”,而最后一个数据包则显示密码“PASS D2xc9CgD”。

我们也可以使用 Wireshark 来达到相同的结果。在下面的 Wireshark 窗口中,我们可以看到我们已pop在筛选字段中输入。现在我们已经过滤了我们感兴趣的流量,我们可以看到用户名和密码被捕获。

这篇关于【THM】Protocols and Servers 2(协议和服务器 2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/877680

相关文章

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

NFS实现多服务器文件的共享的方法步骤

《NFS实现多服务器文件的共享的方法步骤》NFS允许网络中的计算机之间共享资源,客户端可以透明地读写远端NFS服务器上的文件,本文就来介绍一下NFS实现多服务器文件的共享的方法步骤,感兴趣的可以了解一... 目录一、简介二、部署1、准备1、服务端和客户端:安装nfs-utils2、服务端:创建共享目录3、服

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

Python如何实现 HTTP echo 服务器

《Python如何实现HTTPecho服务器》本文介绍了如何使用Python实现一个简单的HTTPecho服务器,该服务器支持GET和POST请求,并返回JSON格式的响应,GET请求返回请求路... 一个用来做测试的简单的 HTTP echo 服务器。from http.server import HT

如何安装 Ubuntu 24.04 LTS 桌面版或服务器? Ubuntu安装指南

《如何安装Ubuntu24.04LTS桌面版或服务器?Ubuntu安装指南》对于我们程序员来说,有一个好用的操作系统、好的编程环境也是很重要,如何安装Ubuntu24.04LTS桌面... Ubuntu 24.04 LTS,代号 Noble NumBAT,于 2024 年 4 月 25 日正式发布,引入了众

如何提高Redis服务器的最大打开文件数限制

《如何提高Redis服务器的最大打开文件数限制》文章讨论了如何提高Redis服务器的最大打开文件数限制,以支持高并发服务,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录如何提高Redis服务器的最大打开文件数限制问题诊断解决步骤1. 修改系统级别的限制2. 为Redis进程特别设置限制

Java如何接收并解析HL7协议数据

《Java如何接收并解析HL7协议数据》文章主要介绍了HL7协议及其在医疗行业中的应用,详细描述了如何配置环境、接收和解析数据,以及与前端进行交互的实现方法,文章还分享了使用7Edit工具进行调试的经... 目录一、前言二、正文1、环境配置2、数据接收:HL7Monitor3、数据解析:HL7Busines

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r