securitysonar/spark-hashcat

GitHub: securitysonar/spark-hashcat

专为 NVIDIA Grace Blackwell ARM64 平台优化的容器化 Hashcat RESTful API 服务,解决高端取证工作站上的密码恢复任务编排与 GPU 加速问题。

Stars: 5 | Forks: 0

![NVIDIA](https://img.shields.io/badge/NVIDIA-GB10_Grace_Blackwell-76B900?logo=nvidia&logoColor=white) ![CUDA Version](https://img.shields.io/badge/CUDA-13.0-green?logo=nvidia&logoColor=white) ## 🚀 Spark-Hashcat:Grace Blackwell 取证 API **这是一款高性能、容器化的 Hashcat API,专为搭载 Nvidia GB10 Grace Blackwell 超级芯片、专为 AI 开发设计的 NVIDIA DGX Spark(或兼容的 Grace Blackwell ARM64 主机)工作站量身打造。** ### ⚖️ 法律免责声明 **本软件仅供合法用途。** 本工具的使用严格限制在授权活动中,包括但不限于: - 由执法部门或持有合法授权的持证取证审查员进行的**数字取证调查**。 - 在获得系统或数据所有者明确书面授权的情况下进行的**渗透测试和安全评估**。 - 在您拥有合法所有权或授权的情况下**恢复您自己的密码或数据**。 - 在受控、隔离的环境中进行**学术研究与教育**。 **未经明确许可,擅自使用本工具访问、破解或恢复他人凭据是违法的**,这可能违反相关法律,包括但不限于《计算机欺诈和滥用法》(CFAA)、英国《计算机滥用法》、欧盟《攻击信息系统指令》以及您所在司法管辖区的同等立法。 对于因使用本软件而产生的任何滥用、损害或违法行为,作者及贡献者**不承担任何责任**。使用本软件即表示您同意,您需全权负责确保您的使用符合所有适用的地方、州、国家和国际法律法规。 **如果您不同意这些条款,请勿使用本软件。** ### 📋 概述 本项目提供了一个生产级的 Hashcat RESTful API 包装器,并经过优化以充分利用 DGX Spark 独特的架构优势。通过利用 900 GB/s 的 NVLink-C2C 互连技术,该平台消除了传统 x86 取证工作站中常见的 PCIe 瓶颈。 #### 🛡 战略优势 **Blackwell 原生:** 显式映射 NVRTC(实时编译器)以绕过 OpenCL 回退机制,释放原生 CUDA 性能。 **统一内存掌控:** 利用 121GB+ 的共享内存空间来处理 Argon2id 和 Scrypt 等内存密集型算法。 **ARM64/SBSA 优先:** 专为 NVIDIA Grace CPU 中的服务器基础系统架构(Server Base System Architecture)而设计。 **云原生编排:** 包含适配 Traefik 的健康检查和 Docker Compose 编排,可在取证实验室中快速部署。 ### 🏗 项目结构 ``` spark-hashcat/ ├── data/ │ ├── hashes/ # Volume-mounted forensic evidence │ └── wordlists/ # High-speed dictionary storage ├── output/ # Successful crack results (JSON/Text) ├── Dockerfile # Multi-stage ARM64/SBSA build ├── docker-compose.yaml # GPU-aware service orchestration ├── app.py # FastAPI asynchronous job handler └── README.md # You are here ``` ### 🚀 快速开始 #### 1. 前置条件 - NVIDIA DGX Spark(或兼容的 Grace Blackwell ARM64 主机)。 - 已安装并配置好 NVIDIA Container Toolkit。 - 具备对 `nvcr.io`(NVIDIA 容器注册表)的访问权限。 #### 2. 部署 ``` # 在你的 DGX Spark clone Security Sonar repository git clone https://github.com/securitysonar/spark-hashcat.git cd spark-hashcat # 初始化 data directories mkdir -p data/hashes data/wordlists output # 启动 Blackwell-optimized stack docker compose up -d --build ``` #### 3. 用法:提交取证任务 `/crack` endpoint 接受以下字段: | 字段 | 类型 | 是否必填 | 描述 | | -------------- | ------- | -------------------- | --------------------------------------------------- | | `hash_type` | integer | 是 | Hashcat 哈希模式(例如 `1000` 代表 NTLM) | | `attack_mode` | integer | 否(默认:`0`) | `0` = 字典模式,`3` = 暴力破解 / 掩码 | | `hash_file` | string | 是 | 位于 `/hashes` 卷中的文件名 | | `wordlist` | string | 模式 `0` 时必填 | 位于 `/wordlists` 卷中的文件名 | | `mask` | string | 模式 `3` 时必填 | Hashcat 掩码(例如 `?u?l?l?l?d?d`) | **字典攻击(模式 0)** — 通过 `curl` 提交 iTunes 备份(模式 14700)破解请求: ``` curl -X POST http://localhost/crack \ -H "Content-Type: application/json" \ -d '{ "hash_type": 14700, "attack_mode": 0, "hash_file": "iphone_backup.txt", "wordlist": "rockyou.txt" }' ``` **暴力破解 / 掩码攻击(模式 3)** — 针对具有已知模式(例如:一个大写字母、四个小写字母、两个数字)的 NTLM 哈希: ``` curl -X POST http://localhost/crack \ -H "Content-Type: application/json" \ -d '{ "hash_type": 1000, "attack_mode": 3, "hash_file": "ntlm_hashes.txt", "mask": "?u?l?l?l?d?d" }' ``` ``` {"job_id":"","status":"Queued"} ``` #### 4. 用法:检查任务状态及耗时 使用您的任务 ID 轮询状态 endpoint。任务完成后,响应中将包含 `started_at`(Unix 时间戳)和 `duration_seconds`: ``` curl http://localhost/status/ ``` **响应示例(运行中):** ``` {"job_id":"","status":"Running","started_at":1741910400.5} ``` **响应示例(已完成):** ``` {"job_id":"","status":"Completed","started_at":1741910400.5,"duration_seconds":142.37} ``` ### 📊 性能基准测试 (GB10) | **算法** | **模式** | **Blackwell 原生速度** | **备注** | | ----------------- | -------- | ---------------------- | ----------------------- | | **MD5** | 0 | 51531.2 MH/s | 原始计算吞吐量 | | **NTLM** | 1000 | 75717.8 MH/s | 破解 9 字符耗时 < 1 天 | | **IOS 9 backup** | 14700 | 342.3 kH/s | PBKDF2-HMAC-SHA1 | | **IOS 10> backup**| 14800 | 276 H/s | PBKDF2-HMAC-SHA256 | ### 🔧 工程深度解析:“NVRTC” 桥接 容器化 Blackwell 环境面临的主要挑战之一是 **NVIDIA 实时编译器(NVRTC)** 的初始化。本项目实现了一个硬件感知桥接: 1. **SBSA 映射:** 我们将主机的 `/usr/local/cuda/targets/sbsa-linux/lib` 直接挂载到容器中。 2. **动态加载:** 我们在 `app.py` 包装器内使用 `LD_PRELOAD`,以确保特定于 Blackwell 的 JIT 编译器优先于通用系统库被加载。 3. **统一内存:** 通过利用 Grace-Blackwell C2C 链路,我们绕过了 PCIe 延迟,实现了 CPU 和 GPU 之间近乎瞬时的数据传输。 ### 👤 作者 **Peter Campbell CISSP, CEH** *平台安全工程师 | NVIDIA 认证专家 (NCP-AIN + NCP-ADS)* [Medium 上的 Security Sonar](https://medium.com/security-sonar) [SecuritySonar.com](https://securitysonar.com)
标签:ARM64, DOS头擦除, NIDS, NVIDIA GB10, RESTful API, SysWhispers, 容器化, 密码破解, 提示词优化, 版权保护, 请求拦截, 逆向工具