o-sec/QuickLinIR
GitHub: o-sec/QuickLinIR
QuickLinIR 是一款用于 Linux 系统快速初始事件响应的轻量级 CLI 工具,通过模块化检查帮助安全人员快速发现可疑进程、网络活动、持久化机制和脆弱第三方库等问题。
Stars: 0 | Forks: 0
# QuickLinIR
### QuickLinIR - 快速 Linux 初始事件响应
**QuickLinIR** 是一款轻量级的 CLI 实用程序,旨在协助进行 **Linux 系统上的快速初始事件响应和受损分诊**。
当怀疑 Linux 系统受到破坏时,首要任务是快速建立 **对主机上正在发生的情况的可见性**。QuickLinIR 执行一系列系统级检查,以帮助识别潜在的可疑进程、网络活动、持久化机制、特权账户、未经授权的 SSH 访问、服务、内核模块、系统上安装的恶意 / 易受攻击的第三方库。
目标很简单:
QuickLinIR 旨在作为一款 **初始分诊工具**。其发现结果应被视为需要进一步调查的指标,而非系统被破坏的确凿证据。
## 功能
QuickLinIR 提供了一系列专注的检查模块,涵盖了 Linux 初始事件响应期间通常相关的几个领域。
| 模块 | 描述 |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Network Analysis** | 检查活动的网络连接,包括监听服务和已建立的连接,并提供有关远程对等方的上下文信息,例如组织/ASN 详情。通过 IP 信誉检查识别意外或潜在恶意的网络活动。 |
| **Process Analysis** | 审查当前运行的进程,包括每个进程打开的文件。 |
| **Environment Analysis** | 检查系统上的所有用户账户,以及当前登录的用户。 |
| **Service Analysis** | 审查系统服务,包括其状态和执行的命令。 |
| **Cron Jobs** | 枚举所有的 cron jobs。 |
| **Startup Scripts** | 识别启动脚本和潜在的引导时持久化机制。 |
| **Root Accounts** | 枚举具有 root 级别权限的账户。 |
| **SSH Authorized Keys** | 枚举用户的 SSH 授权密钥。 |
| **Kernel Modules** | 列出已加载的内核模块,包括其状态和作者信息以及模块的描述。 |
| **Library Scanning** | 检查已安装的 Python 库 / Ruby Gems,并识别易受攻击的 / 恶意的库。 |
## 为什么选择 QuickLinIR?
在事件响应期间,时间至关重要。
一个可能受到破坏的系统中包含大量信息,手动检查每个相关位置可能非常耗时。QuickLinIR 提供了一个 **单一的、轻量级的命令行界面**,用于对重要系统区域进行快速初步检查。
它可以帮助回答以下问题:
- 当前正在运行哪些进程,它们正在打开哪些文件?
- 正在监听哪些服务,存在哪些已建立的连接,以及有关远程对等方的信息(组织名称/ASN)和对等方是否恶意或可疑?
- 系统上存在哪些服务,它们的状态是什么,它们运行的是哪些可执行文件?
- 系统上存在哪些用户账户,当前有哪些用户登录?
- 是否存在可疑的持久化机制?
- 配置了哪些 cron jobs?
- 在系统启动 / 用户登录期间执行了哪些脚本?
- 哪些用户拥有 root 级别的权限?
- 是否存在意外的 SSH 授权密钥?
- 当前加载了哪些内核模块?(包括它们的描述和作者)
- 安装了哪些第三方库,它们是恶意的还是易受攻击的?
QuickLinIR 不能取代完整的取证调查。相反,它可以帮助调查人员和管理员快速建立对系统的初步了解,并确定哪里可能需要更深层次的分析。
## 安装说明
克隆代码库:
```
git clone https://github.com/o-sec/QuickLinIR.git
cd QuickLinIR
```
安装所需的库:
```
pip install -r requirements.txt
```
使脚本可执行:
```
chmod +x quicklinir.py
```
## 使用说明
```
usage: quicklinir.py [-h] [-a] [-n] [-p] [-e] [-s] [-c] [-u] [-r] [-t] [-k] [-l]
Quick Linux Initial Incident Response.
options:
-h, --help show this help message and exit
-a, --all audit everything ( default )
-n, --network audit network connections
-p, --processes audit processes
-e, --environment audit the environment
-s, --services audit services
-c, --cronjobs list all users cronjobs
-u, --startup list startup scripts
-r, --roots list all root accounts
-t, --trustedsshkeys list all users ssh authorized keys
-k, --kernelmodules list loaded kernel modules
-l, --scanlibs scan installed libraries (PyPI Libs/ RubyGems)
```
**运行完整的初始响应审计**
运行所有可用的检查模块:
```
sudo quicklinir.py --all
```
`--all` 选项也是默认行为
```
sudo quicklinir.py
```
这提供了系统的广泛概述,可作为进一步调查的起点。
#### 单独模块
**Network Analysis**
检查网络连接:
```
-n / --network
```
可用于识别意外连接和其他可能需要调查的网络活动。
**Process Analysis**
检查运行中的进程:
```
-p / --processes
```
此模块可以帮助识别意外进程或需要进一步调查的进程。
**Environment Analysis**
检查系统环境:
```
-e / --environment
```
环境信息可以在事件响应期间提供有用的上下文,并帮助识别意外的配置。
**Service Analysis**
检查系统服务:
```
-s / --services
```
意外或不熟悉的服务可能与受损调查有关,应结合上下文进行审查。
**Cron Jobs**
枚举用户 cron jobs:
```
-c / --cronjobs
```
Cron jobs 是一种常见的定时执行机制,在调查潜在的持久化时可能具有相关性。
**Startup Scripts**
检查启动脚本:
```
-u / --startup
```
此模块枚举了可能配置为在系统引导或用户登录期间自动运行的启动脚本和可执行文件,有助于识别潜在的持久化机制。
**Root Accounts**
枚举 root 账户:
```
-r / --roots
```
这可以帮助识别具有 root 级别访问权限的账户。
**SSH Authorized Keys**
检查 SSH 授权密钥:
```
-t / --trustedsshkeys
```
此模块枚举与每个用户账户关联的 SSH 授权密钥,帮助识别潜在的未经授权或意外的 SSH 访问机制。
**Loaded Kernel Modules**
列出当前加载的内核模块:
```
-k / --kernelmodules
```
此模块提供了对系统上当前加载的内核模块的可见性。
**Installed Library Scanning**
扫描已安装的第三方库:
```
-l / --scanlibs
```
目前支持的包生态系统包括:
- Python **PyPI** 包
- Ruby **RubyGems**
这可以帮助识别易受攻击或恶意的已安装第三方库。
### 示例
运行完整的系统检查
```
sudo quicklinir.py --all
```
调查网络活动
```
sudo quicklinir.py --network
```
审查运行中的进程
```
sudo quicklinir.py --processes
```
调查潜在的持久化
```
sudo quicklinir.py --cronjobs --startup
```
审查特权访问
```
sudo quicklinir.py --roots --trustedsshkeys
```
检查服务和内核模块
```
sudo quicklinir.py --services --kernelmodules
```
## 快速演示视频
[](https://www.youtube.com/watch?v=p0LYlQymmbY)
## 免责声明
QuickLinIR 旨在用于 **授权的安全审计、防御性安全、事件响应和数字调查**。
仅在你拥有或明确获得授权可以检查的系统上使用 QuickLinIR。
QuickLinIR 识别到的某个项目的存在并不一定表示存在恶意活动或系统受损。发现结果应在系统的上下文中进行评估,并在得出结论之前进行进一步调查。
对于滥用此工具或因其使用而造成的任何损害,作者概不负责。
标签:IP 地址批量处理, PB级数据处理, Windows 调试器, 安全运维, 库, 应急响应, 数字取证, 文档结构分析, 自动化脚本, 逆向工具