ashirt-ops/aterm

GitHub: ashirt-ops/aterm

一个终端录制器,将交互会话录制后自动上传至 ASHIRT 平台进行集中管理。

Stars: 29 | Forks: 1

# ASHIRT 终端录制器 (ATerm) ATerm 提供了在独立 pty 中录制终端会话的能力。录制完成后,您可以将文件上传到 ASHIRT 服务器。 ## 概述 / 用户指南 终端录制器可以通过 `aterm` 二进制文件启动。 启动时可以提供多种模式和选项。该应用程序会尝试描述其正在执行的操作,菜单设计力求直观。本概述旨在提供一些基本指导,而非面面俱到。 ### 首次运行 首次运行时,会弹出一个对话框,要求输入各种必要信息(API URL、Access Key、Secret Key 等)。这些数据会被保存,尽管可以通过命令行选项再次触发首次运行。更多细节如下。 ### 导航菜单 菜单主要通过方向键以及 `j`、`k` 键进行导航。按下 `/` 将允许您通过名称搜索/过滤选项。搜索会包含不区分大小写的子字符串匹配。再次按下 `/` 将退出搜索。 ### 开始录制 正常启动 `aterm` 二进制文件将尝试开始新的录制。应用程序会提示您选择一个操作与录制关联。从列表中选择一个操作后,伪终端将启动。终端应表现得与正常情况完全相同。 要退出录制,请尝试输入 `exit` 或在空提示符下按下 `ctrl+D`。 ### 上传录制 每次录制完成后,都会弹出一个带有可用选项的小菜单: 1. **上传录制** - 录制后的主要意图是上传该录制。一个小型向导会提示您提供描述并为此录制选择有效的标签。收集这些数据后,您可以提交到服务器。成功提交将保存录制的元数据(例如描述和标签),并返回到主菜单。 2. **重命名录制文件** - 在某些情况下,您可能希望使录制文件更具永久性/记忆性。在这些情况下,您可以选择将录制重命名为任意名称,但仍遵循常规文件名规则。 3. **丢弃录制** - 在录制无果的情况下,您可以选择删除该录制。 4. **返回主菜单** - 顾名思义,您可以返回常规菜单。从这里也可以退出。返回主菜单也会保存录制元数据。 ### 配置 该二进制文件支持一些配置选项,并会按顺序尝试从每个配置级别加载,以得出完整的交互处理方式。配置级别如下:首先从配置文件加载,然后使用环境变量中定义的值替换,最后用命令行开关替换。 此外,在首次运行时,如果您正在使用 ASHIRT 应用程序,则可以从其配置文件中提取一些配置详情。 配置文件遵循适用的 XDG 标准。配置文件位于 `ashirt` 目录下(如果设置了 `XDG_CONFIG_HOME`)。如果未设置该值,则可能保存在 `/home/{who}/ashirt/aterm.yaml`。不过,大多数设置都可以通过应用程序本身进行调整:进入主菜单并选择“更新设置”。一个小型向导将引导您完成常见配置值。 | 配置文件参数 | 环境变量 | CLI 标志 | 含义 | | ---------------------- | -------------------------------- | ----------------- | -------------------------------------------------------------------------------------------------- | | outputDir | ASHIRT_TERM_RECORDER_OUTPUT_DIR | | 决定存储录制文件的位置。默认为用户主目录 | | recordingShell | ASHIRT_TERM_RECORDER_RECORDING_SHELL | -shell -s | 启动时使用的 shell(默认为环境变量中的 SHELL) | | operationSlug | ASHIRT_TERM_RECORDER_OPERATION_SLUG | -operation | 要上传到的操作(默认情况下可在录制前选择) | | apiURL | ASHIRT_TERM_RECORDER_API_URL | | 后端服务的位置 | | N/A | ASHIRT_TERM_RECORDER_OUTPUT_FILE_NAME | --name -n | 用于本地(以及远程)写入文件的名称 | | accessKey | ASHIRT_TERM_RECORDER_ACCESS_KEY | N/A | 连接后端所需的 Access Key(在前端创建) | | secretKey | ASHIRT_TERM_RECORDER_SECRET_KEY | N/A | 连接后端所需的 Secret Key(在前端创建)。这是一个 base-64 值 | | | | -menu -m | 启动时进入主菜单 | | | | -pring-config -pc | 打印加载的配置,然后退出 | | | | -help -h | 打开帮助菜单 | | | | -shell -s | 启动录制器并使用指定的 shell。应该是指向二进制文件的路径 | | | | -reset | 启动首次运行以设置初始值。使用现有值作为基础 | | | | -reset-hard | 启动首次运行以设置初始配置值。不使用现有配置作为基础 | ### 已知问题 1. 按下删除键(不是退格键)会生成 `^d` 信号,导致输入失败。 2. 使用 `^d` 退出录制会阻止箭头键在终端恢复后正常工作。这是由于终端被置于应用程序模式(而非交互模式)。使用 `j` 和 `k` 键导航仍将继续工作。启动一个新 shell 并使用 `exit` 退出将使应用程序恢复到交互模式。
标签:API密钥, ASHIRT, EVTX分析, 上传, 会话录制, 伪终端, 可描述录制, 搜索过滤, 文件上传, 文档结构分析, 日志审计, 标签管理, 终端工具, 终端录制, 菜单导航, 认证配置, 记录终端