TIER 0: Meow

Virtual Machine

虚拟机 (VM) 指通过软件模拟完整计算机系统

  • 可以实现环境隔离
  • 模型宿主机不具备的架构

虚拟机的工作原理:在物理机器的操作系统上,以一个应用程序窗口的形式运行一个进程,类似于其他任何应用程序

组成虚拟机的关键文件包括:日志文件、NVRAM 设置文件、虚拟磁盘文件、配置文件

扩展关联:区块链【以太坊虚拟机 EVM】

Terminal

终端 terminal 提供了一个文本 I/O 环境,通常与 shell 交互

  • console 控制台:对计算机进行一些底层的操作,有时同 terminal
  • shell 外壳:是操作系统内核的中间层,也是命令行解释器

OpenVPN

OpenVPN 是一种开源的虚拟专用网络 (Virtual Private Network) 解决方案

OpenVPN 的主要原理和使用的算法:

  • 隧道建立:

    OpenVPN 使用基于 传输层的协议(如 UDP 或 TCP)在客户端和服务器之间建立通信隧道,通常使用 1194 端口。

  • 身份验证:

    在建立连接之前,OpenVPN 需要进行身份验证以确保连接的安全性。它支持多种身份验证方法,包括预共享密钥(PSK)、用户名/密码、证书和双因素身份验证等。

  • 密钥交换:

    OpenVPN 使用 公钥基础设施 (PKI) 来进行密钥交换。在连接建立过程中,客户端和服务器会交换数字证书和密钥,用于身份验证和加密通信。这通常使用基于证书的加密算法,如 RSA 或 Elliptic Curve Cryptography (ECC) 等加密算法。

  • 数据加密:

    一旦连接建立并且身份验证完成,OpenVPN 使用 对称加密算法 来加密数据传输。它支持多种对称加密算法,包括 AES (Advanced Encryption Standard)、3DES (Triple Data Encryption Standard) 和 Blowfish 等。

  • 数据完整性:

    为了确保数据的完整性,OpenVPN 使用 消息认证码 (Message Authentication Code,MAC) 来对数据进行校验。常用的 MAC 算法包括 HMAC-SHA1 和 HMAC-SHA256 进行。

tunnel interface

隧道接口是一种虚拟接口,用于在网络中创建逻辑上的隧道,以便将数据封装在另一个网络协议的包装中进行传输。

PING

PING 是一种网络工具和协议,用于测试和诊断网络连接性:

  • 连通性测试:PING 用于测试两台主机之间的连接是否畅通。
  • 延迟测试:PING 还可以用于测试两台主机之间的延迟【往返时间,即 Round Trip Time,RTT】

PING 工作使用 Internet Control Message Protocol (ICMP) 协议,下面是 ICMP 协议的基本结构,由固定的报头和不同类型的消息组成:

字段 长度(字节) 描述
Type 1 指示消息类型的编码
Code 1 提供与消息类型相关的更多详细信息
Checksum 2 用于校验完整性
Data 可变 根据消息类型和代码的不同而变化,包含附加的数据和选项

ICMP 协议详细资料:RFC 792 文档,它是 ICMP 协议的初始规范,定义了 ICMP 协议的基本结构、消息类型和代码,以及相关的数据格式和处理规则。

Nmap

Nmap(Network Mapper)是一个流行的网络探测和安全评估工具,作用:

  • 端口扫描:Nmap 可以扫描目标主机上的开放端口,以确定哪些端口正在监听和响应连接请求。
  • 操作系统侦测:Nmap 可以通过分析目标主机的网络行为和响应,尝试确定主机运行的操作系统类型和版本。
  • 服务和应用程序版本探测:Nmap 可以识别目标主机上运行的具体服务和应用程序的版本信息。
  • 网络映射和拓扑分析:Nmap提供了用于绘制目标网络拓扑图和绘制主机之间的连接关系的功能。

Telnet

Telnet 是一种用于远程登录和管理网络设备的协议和工具:

  • Telnet 协议属于 OSI 模型中的应用层,基于 协议,默认 TCP/23 端口
  • Telnet 协议传输的数据是明文的,没有加密保护

在某些系统上,默认情况下,root 用户可能允许使用空密码进行 Telnet 登录

尽管 Telnet 在过去被广泛使用,但由于其明文传输和安全性问题,现代网络环境中更常用的是 SSH 作为安全远程登录协议和工具。

总结

在 Meow 中的缺陷主要是 弱凭证 Weak Credentials 问题,最终 flag 获取就是通过直接用 Telnet 登录 root 用户,修复建议:

  • 没有对 root 进行配置:应该更改为满足强密码或定期更改弱密码,使用登录次数限制防止爆破
  • 不应该使用 Telnet 工具:建议改用 SSH 加密类型工具,防止在传输过程中容易被窃听或拦截

TIER 0: Meow的更多相关文章

  1. Hack The Box( Starting Point )

    Hack The Box [Starting Point] 初始点 -- 了解渗透测试的基础知识. 这一章节对于一个渗透小白来说,可以快速的成长.以下将提供详细的解题思路,与实操步骤. TIER 0 ...

  2. 2000条你应知的WPF小姿势 基础篇<1-7>

    在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师,对C#和WPF有着极深的热情.最为出色的是他维护了两个博客:2,000Things You Should Know ...

  3. 「Ionic」设置开发环境

    轉載請一定註明地址:http://www.cnblogs.com/surge/p/5983024.html 謝謝! 濤叔是在mac環境下進行的,涉及android環境的配置不保證成功. 少废话,跟着濤 ...

  4. Windows Live Write 日志客户端

    下载地址 下载地址:http://wl.dlservice.microsoft.com/download/E/4/9/E494934D-C33E-486A-AB1A-82248C800922/zh-c ...

  5. ssd可以用作redo 盘吗?

                                               ssd可以用作redo 盘吗? 1.ssd有写磨损,而且ssd的写性能也不是非常好,ssd只是随机读特别好,因为 ...

  6. bzoj 4871: [Shoi2017]摧毁“树状图” [树形DP]

    4871: [Shoi2017]摧毁"树状图" 题意:一颗无向树,选两条边不重复的路径,删去选择的点和路径剩下一些cc,求最多cc数. update 5.1 : 刚刚发现bzoj上 ...

  7. [No0000129]WPF(1/7)开始教程[译]

    概要 在我使用了半年多 WPF 后,是时候写点关于 WPF 基础方面的东西了.我发表了一系列针对具体问题的文章.现在是到了让大家明白为什么说WPF是一款在界面开发上带来革命的产品了. 本文针对初级-中 ...

  8. karma安装

    Last login: Sat Jun :: on ttys000 ➜ ~ cd /Users/wangyizhe/Projects/work/smartcmp/services/new-yacmp/ ...

  9. OpenStack_Swift源代码分析——Ring的rebalance算法源代码具体分析

    1 Command类中的rebalnace方法 在上篇文章中解说了,创建Ring已经为Ring加入设备.在加入设备后须要对Ring进行平衡,平衡 swift-ring-builder object.b ...

  10. 杂项-Grunt:grunt build 打包和常见错误

    ylbtech-杂项-Grunt:grunt build 打包和常见错误 1. 安装.打包返回顶部 1. npm WARN deprecated coffee-script@: CoffeeScrip ...

随机推荐

  1. 使用Redis实现短信登陆

    使用Redis实现发送验证码:验证码登陆.注册:登陆校验拦截.登陆状态刷新等一系列问题. 验证码发送和验证登陆注册 思路流程 整体的思路以及流程如题: 代码实现 实体类 User实体类 @Data @ ...

  2. C# 数独 解法

    按照人的思维来做的. MyPos 就是 数组 行 列值. public class CalcShuDu { public int[][] IArrSd; public int IBlankCount; ...

  3. 【WPF】 BasedOn的用法

    BasedOn 用于样式的继承. 这里的已经继承了一个样式 此时,我们想在Resource中让他附加新的样式,但是这样不成功 修改如下: 去掉了之前的样式选择 我们使用BasedOn让其叠加样式

  4. 【web】自定义协议Protocol URL

    URL Protocol(自定义协议)可以让web页面调用本地exe程序,这个神奇的功能是怎么实现的呢? URL ProtocolURL Protocol,没错就是标题里所说的自定义协议.这玩意儿大家 ...

  5. MySQL学习笔记-多表查询(下)

    多表查询(下) 一. 联合查询 联合查询:将多次查询结果合并,形成新的查询结果集 select {字段列表} from {表A} ... union [all] select {字段列表} from ...

  6. react表单处理 受控组件

    将state与表单项中的value值绑定在一起,有state的值来控制表单元素的值,称为受控组件. 绑定步骤: 在state中添加一个状态,作为表单元素的value值 给表单元素绑定change事件, ...

  7. SD-WAN中二层组网与三层组网的区别

    前言 随着企业网络需求的不断增长和变化,SD-WAN作为一种现代网络技术,为企业提供了更灵活.高效的网络解决方案.在SD-WAN中,二层组网和三层组网是两种常见的部署模型,它们有着各自的特点和适用场景 ...

  8. .NET8操作Mysql,Pomelo.EntityFrameworkCore.MySql版本目前最高只有7.0解决办法

    Pomelo.EntityFrameworkCore.MySql7.0是不支持.NET8的,但现在Pomelo.EntityFrameworkCore.MySql的最新版本只有7.0 因为 Pomel ...

  9. Linux 提权-MySQL UDF

    本文通过 Google 翻译 MySQL User Defined Functions – Linux Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词 ...

  10. 03-CSS初步介绍

    01 CSS编写规则 1.1 内联样式 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...