TIER 0: Meow
TIER 0: Meow
Virtual Machine
虚拟机 (VM) 指通过软件模拟完整计算机系统
- 可以实现环境隔离
- 模型宿主机不具备的架构
虚拟机的工作原理:在物理机器的操作系统上,以一个应用程序窗口的形式运行一个进程,类似于其他任何应用程序
组成虚拟机的关键文件包括:日志文件、NVRAM 设置文件、虚拟磁盘文件、配置文件
扩展关联:区块链【以太坊虚拟机 EVM】
Terminal
终端 terminal 提供了一个文本 I/O 环境,通常与 shell 交互
- console 控制台:对计算机进行一些底层的操作,有时同 terminal
- shell 外壳:是操作系统内核的中间层,也是命令行解释器
OpenVPN
OpenVPN 是一种开源的虚拟专用网络 (Virtual Private Network) 解决方案
-
OpenVPN 是一个开源项目 https://github.com/OpenVPN/openvpn
-
OpenVPN 相关的社区 👇
- OpenVPN 官方社区 https://forums.openvpn.net/
- OpenVPN Reddit 社区 https://www.reddit.com/r/OpenVPN/
- Stack Exchange 网络安全社区 https://security.stackexchange.com/
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 加密类型工具,防止在传输过程中容易被窃听或拦截