【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

相关文章

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.

使用Nginx配置文件服务器方式

《使用Nginx配置文件服务器方式》:本文主要介绍使用Nginx配置文件服务器方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 为什么选择 Nginx 作为文件服务器?2. 环境准备3. 配置 Nginx 文件服务器4. 将文件放入服务器目录5. 启动 N

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.