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. MySQL中drop/truncate/delete的区别

    1.Delete语句执行删除的过程是每次从表中删除一行,并且同时将删除操作作为事务记录在日志中保存以便进行进行回滚操作(只删除表数据). delete是DML,执行delete操作时,每次从表中删除一 ...

  2. 安装centos7模板机[lvm版]

    1. 安装centos 7模板机 准备好centos7的镜像 下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/ 安装centos 自定义硬件: ...

  3. js 生成pdf

    最简洁的代码 <script src="js/html2canvas.min.js" type="text/javascript" charset=&qu ...

  4. js 判断闰年

    首先,我们需要了解闰年的判断方式 1.能被4整除 2.并且不能被100整除 3.或者被400整除的 其次我们再来回顾下函数封装的知识,所谓的函数封装就是将一段函数封装成一个工具,有人用到了拿过来就可以 ...

  5. 设定cookie 获取cookie数据的转换

    1,cookie必须是键值对形式的               键名=数值               而且必须是 字符串格式               document.cookie = 'nam ...

  6. 错误 CS1617 Invalid option '7.3' for /langversion; must be ISO-1, ISO-2, Default or an integer in range 1 to 6.

    严重性 代码 说明 项目 文件 行 禁止显示状态错误 CS1617 Invalid option '7.3' for /langversion; must be ISO-1, ISO-2, Defau ...

  7. Vue2复习

    Vue2 插值.指令.动态属性.表达式.v-html 插值:{{ data }} 指令 & 动态属性:例子(:id="xxx") 表达式:可以用于赋值,写在{{}}里面 v ...

  8. 3. Elasticsearch 索引基本操作

    引言 上一篇教大家安装了Elasticsearch-head插件和kibana可视化分析工具,今天就教大家在kibana的dev-tool里的控制台中如何操作索引 基础概念 索引(index) 索引( ...

  9. json 对象属性的输出顺序测试,fastJson 有序,jackson,gson无序(需代码中人工按约定来编码)接口数据签名规则

    json 对象属性的输出顺序测试,fastJson 有序,jackson,gson无序(需代码中人工按约定来编码)接口数据签名规则 fastJson会根据对象的字段的首字母来排序.而jackson,g ...

  10. 开启PHP-GD库

    话不多说,上教程 环境 CentOS7 1. 安装php-gd yum install php-gd 2. 定位gd.so位置 rpm -qal | grep gd.so #第一行即是 3. 定位配置 ...