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. Java静态变量在静态方法内部无法改变值

    一.如何解决"Java静态变量在静态方法内部无法改变值"的问题 在Java中,静态变量(也称为类变量)属于类本身,而不是类的任何特定实例.它们可以在没有创建类的实例的情况下访问和修 ...

  2. 异构数据源同步之数据同步 → datax 再改造,开始触及源码

    开心一刻 其实追女生,没那么复杂 只要你花心思,花时间,陪她聊天,带她吃好吃的,耍好玩的,买好看的 慢慢你就会发现什么叫做 打水漂 不说了,我要去陪她看电影了 前情回顾 异构数据源同步之数据同步 → ...

  3. tkinter滚动条

    from tkinter import * import requests window = Tk() window.geometry('1000x600+300+100') window.title ...

  4. golang import 导入的四种方式

    1 标准导入: import "package_name" 2 导入别名: import ( alias "package_name" ) 3 匿名导入: _ ...

  5. 分享下最近基于Avalonia UI和MAUI写跨平台时间管理工具的体验

    起因 几个月前,我在寻找一款时间管理软件,类似番茄时钟的工具,但是希望可以自定义时间. 需要自定义的场景 做雅思阅读,3篇文件需要严格控制时间分配,需要一个灵活的计时器 定期提醒,每30分钟需要喝水或 ...

  6. kettle从入门到精通 第三十四课 kettle 错误处理

    1.我们在平常写应用程序的时候,需要主动捕获异常或者错误,不然程序有可能异常退出.同样kettle 也支持异常或者错误处理,下图展示的是在批量插入数据的时候捕获异常,如唯一健冲突,死锁等,并将错误信息 ...

  7. springboot和springmvc区别:

    spring boot只是一个配置工具,整合工具,辅助工具.springmvc是框架,项目中实际运行的代码Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但 ...

  8. 哈啰面试:说说Dubbo运行原理?

    Dubbo 是一款高性能.轻量级的开源 RPC(远程过程调用)框架,主要用于构建分布式服务和微服务架构.那 Dubbo 又是如何运行的呢?让我们一起来看. 1.核心组件 要说 Dubbo 运行流程就不 ...

  9. NLP与深度学习(三)Seq2Seq模型与Attention机制

    1.   Attention与Transformer模型 Attention机制与Transformer模型,以及基于Transformer模型的预训练模型BERT的出现,对NLP领域产生了变革性提升 ...

  10. fseek在 fopen 带有'a'模式下不起作用

    关于 fseek 在 追加写模式的注意事项 结论:fseek在 fopen 带有'a'模式的文件指针偏移不起作用. int main(int argc, char *argv[]) { FILE * ...