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 加密类型工具,防止在传输过程中容易被窃听或拦截
TIER 0: Meow的更多相关文章
- Hack The Box( Starting Point )
Hack The Box [Starting Point] 初始点 -- 了解渗透测试的基础知识. 这一章节对于一个渗透小白来说,可以快速的成长.以下将提供详细的解题思路,与实操步骤. TIER 0 ...
- 2000条你应知的WPF小姿势 基础篇<1-7>
在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师,对C#和WPF有着极深的热情.最为出色的是他维护了两个博客:2,000Things You Should Know ...
- 「Ionic」设置开发环境
轉載請一定註明地址:http://www.cnblogs.com/surge/p/5983024.html 謝謝! 濤叔是在mac環境下進行的,涉及android環境的配置不保證成功. 少废话,跟着濤 ...
- Windows Live Write 日志客户端
下载地址 下载地址:http://wl.dlservice.microsoft.com/download/E/4/9/E494934D-C33E-486A-AB1A-82248C800922/zh-c ...
- ssd可以用作redo 盘吗?
ssd可以用作redo 盘吗? 1.ssd有写磨损,而且ssd的写性能也不是非常好,ssd只是随机读特别好,因为 ...
- bzoj 4871: [Shoi2017]摧毁“树状图” [树形DP]
4871: [Shoi2017]摧毁"树状图" 题意:一颗无向树,选两条边不重复的路径,删去选择的点和路径剩下一些cc,求最多cc数. update 5.1 : 刚刚发现bzoj上 ...
- [No0000129]WPF(1/7)开始教程[译]
概要 在我使用了半年多 WPF 后,是时候写点关于 WPF 基础方面的东西了.我发表了一系列针对具体问题的文章.现在是到了让大家明白为什么说WPF是一款在界面开发上带来革命的产品了. 本文针对初级-中 ...
- karma安装
Last login: Sat Jun :: on ttys000 ➜ ~ cd /Users/wangyizhe/Projects/work/smartcmp/services/new-yacmp/ ...
- OpenStack_Swift源代码分析——Ring的rebalance算法源代码具体分析
1 Command类中的rebalnace方法 在上篇文章中解说了,创建Ring已经为Ring加入设备.在加入设备后须要对Ring进行平衡,平衡 swift-ring-builder object.b ...
- 杂项-Grunt:grunt build 打包和常见错误
ylbtech-杂项-Grunt:grunt build 打包和常见错误 1. 安装.打包返回顶部 1. npm WARN deprecated coffee-script@: CoffeeScrip ...
随机推荐
- c++ RTTI Runtime Type Identification 运行阶段类型识别
NoVirtualBase* NvirBase = new NovirtualDerivd(); NvirBase->print(); // auto nd1 = dynamic_cast< ...
- Android 12(S) MultiMedia Learning(七)NuPlayer GenericSource
本节来看一下NuPlayer Source中的GenericSource,GenericSource主要是用来播放本地视频的,接下来着重来看以下5个方法: prepare,start,pause,se ...
- 用Python脚本迁移MongoDB数据到金仓-kingbase数据库
1.首先需要明确MongoDB与kingbase的对应关系,collection相当于table,filed相当于字段,根据这个对应关系创建表: 此次迁移的MongoDB里的数据字段是:_id(自动生 ...
- minos 2.3 中断虚拟化——GICv2 管理
首发公号:Rand_cs 硬件肯定需要软件配合,这一节就来实战 GICv2 首先准备好 GICv2 手册:https://developer.arm.com/documentation/ihi0048 ...
- kettle从入门到精通 第三十三课 再谈 kettle 表输出 分区/分片
1.之前第九章有讲过kettle 表输出步骤,里面有简单的提到过表输出步骤里面的表分区设置,这里详细介绍下. 表分区数据:选择此选项可根据"分区"字段中指定的日期字段的值将数据拆分 ...
- Java JVM——10.对象实例化内存布局与访问定位
对象实例化 对象创建方式 ★ new:最常见的方式.单例类中调用getInstance的静态类方法,XXXFactory的静态方法. ★ Class的newInstance方法:在JDK9里面被标记为 ...
- Java对称加解密算法AES
Java对称加解密算法AES import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang3.String ...
- DELL服务器安装racadm检测服务器硬件状态
1.下载racadm命令 For Linux 7及以上版本: https://dl.dell.com/FOLDER07423496M/1/DellEMC-iDRACTools-Web-LX-10.1. ...
- .NET 认识日志系统-2
.NET 日志系统2 上一篇文章是将日志打印到控制台,这篇文章将日志写入到文本文件中. 文本日志一般按照日期区分 如何避免文本日志把磁盘撑爆? 限制日志总个数或者总大小 如何避免一个日志文件太大? 限 ...
- ADB命令与Dumpsys alarm查看应用程序唤醒命令
ADB命令与Dumpsys alarm查看应用程序唤醒命令 背景 在研究设备的低功耗突然唤醒时,看到了对应的唤醒源: [ 75.813476] suspend ns: 75813465022\x09s ...