BenjiTrapp/boxed-remnux

GitHub: BenjiTrapp/boxed-remnux

基于 Docker 和 noVNC 将 REMnux 恶意软件分析工具包容器化,让用户通过浏览器即可使用完整的图形化分析桌面环境。

Stars: 2 | Forks: 0


Boxed REMnux in your Browser

在你的浏览器中使用 REMnux 恶意软件分析工具包 —— 一个通过 noVNC 访问的 Docker 化 XFCE 桌面。 基于官方 [`remnux/remnux-distro:noble`](https://hub.docker.com/r/remnux/remnux-distro) 镜像构建,并在其上叠加了 XFCE4、TigerVNC 和 noVNC。

## 前置条件 - [Docker](https://docs.docker.com/get-docker/) - 一个浏览器 - 约 15 GB 的磁盘空间用于存放镜像 - 至少分配 4 GB 内存给 Docker ## 快速开始 ``` git clone boxed-remnux cd boxed-remnux # 构建 image make build # 启动 container make start # 在 browser 中打开 make browser ``` 或者手动执行: ``` docker build -t boxed-remnux . docker run --rm -d -p 9020:8080 -p 5901:5900 --name boxed-remnux boxed-remnux ``` 然后打开 **http://localhost:9020/vnc.html** 并使用密码 `remnux` 连接。 ## 命令 | 命令 | 描述 | |---------|-------------| | `make build` | 构建 Docker 镜像 | | `make start` | 在后台启动容器 | | `make stop` | 停止并移除容器 | | `make browser` | 在默认浏览器中打开 noVNC | | `make logs` | 查看容器日志 | | `make shell` | 在正在运行的容器中打开一个 bash shell | | `make clean` | 移除 Docker 镜像 | ## 配置 在构建时设置这些环境变量,或在运行时覆盖: | 变量 | 默认值 | 描述 | |----------|---------|-------------| | `VNCPWD` | `remnux` | VNC 身份验证密码 | | `VNCDISPLAY` | `1920x1080` | 桌面分辨率 | | `VNCDEPTH` | `16` | 颜色深度(16 或 24) | | `VNCPORT` | `5900` | VNC 服务器端口(容器) | | `NOVNCPORT` | `8080` | noVNC 代理端口(容器) | | `VNCEXPOSE` | `1` | 设置为 `0` 则仅限 localhost 访问 VNC | 在运行时覆盖: ``` docker run --rm -d \ -p 9020:8080 -p 5901:5900 \ -e VNCPWD=mysecret \ -e VNCDISPLAY=2560x1440 \ -e VNCDEPTH=24 \ --name boxed-remnux boxed-remnux ``` ## 共享文件 将本地目录挂载到容器中: ``` docker run --rm -d \ -p 9020:8080 -p 5901:5900 \ -v /path/to/your/files:/home/remnux/files \ --name boxed-remnux boxed-remnux ``` ## 更改端口 如果默认端口冲突,请以不同方式映射它们: ``` docker run --rm -d -p 9022:8080 -p 5902:5900 --name boxed-remnux boxed-remnux # 通过 http://localhost:9022/vnc.html 访问 ``` ## 包含内容 来自 [REMnux 发行版](https://remnux.org/) 的所有工具,以及下面列出的附加工具。 ### REMnux 基础工具 这些随官方 REMnux 发行版镜像附带: | 工具 | 描述 | |------|-------------| | [Ghidra](https://ghidra-sre.org/) | NSA 的软件逆向工程框架,支持反编译器 | | [radare2](https://rada.re/n/) | 开源逆向工程框架和命令行工具集 | | [Rizin](https://rizin.re/) | radare2 的分支,专注于逆向工程的易用性 | | [Wireshark](https://www.wireshark.org/) / tshark | 用于深度数据包检测的 GUI 和 CLI 网络协议分析器 | | [Volatility](https://www.volatilityfoundation.org/) | 用于事件响应的高级内存取证框架 | | [YARA](https://virustotal.github.io/yara/) | 供恶意软件研究人员对样本进行分类的模式匹配工具 | | [olevba / oledump](https://github.com/decalage2/oletools) | 分析 Microsoft Office 文档中的 VBA 宏和 OLE 对象 | | [ClamAV](https://www.clamav.net/) | 用于检测恶意软件特征码的开源防病毒引擎 | | [pdfid / pdf-parser](https://blog.didierstevens.com/programs/pdf-tools/) | 对 PDF 文件进行分类筛选和解析,以查找可疑元素 | | [PEframe](https://github.com/guelfoweb/peframe) | 针对 PE(Portable Executable)恶意软件的静态分析工具 | | [Cutter](https://cutter.re/) | rizin 的 GUI —— 带反编译器的可视化逆向工程 | | [Autopsy](https://www.autopsy.com/) | 用于磁盘镜像分析的数字取证平台 | | [Exiftool](https://exiftool.org/) | 读取、写入和编辑文件和图像中的元数据 | ### 新增:静态分析 | 工具 | 描述 | |------|-------------| | [binwalk](https://github.com/ReFirmLabs/binwalk) | 固件分析工具,用于扫描、提取和逆向工程二进制镜像 | | [foremost](https://foremost.sourceforge.net/) | 根据文件头、文件尾和数据结构恢复文件的文件雕刻工具 | | [hexedit](https://github.com/pixel/hexedit) | 用于查看和编辑二进制文件的基于终端的十六进制编辑器 | | [Bless](https://github.com/afrantzis/bless) | 功能齐全的 GUI 十六进制编辑器,支持多标签页 | | [flasm](http://flasm.sourceforge.net/) | 用于 Flash ActionScript 字节码的反汇编器和汇编器 | | [NASM](https://www.nasm.us/) | Netwide Assembler —— 用于编写 shellcode 的可移植 x86/x64 汇编器 | | [pefile](https://github.com/erocarrera/pefile) | 用于读取和处理 PE(Portable Executable)文件的 Python 模块 | | [Capstone](https://www.capstone-engine.org/) | 轻量级多架构反汇编框架 | | [Unicorn](https://www.unicorn-engine.org/) | 用于跨架构模拟机器代码的 CPU 模拟器框架 | | [Keystone](https://www.keystone-engine.org/) | 多架构汇编器框架(Capstone 的配套工具) | | [Ropper](https://github.com/sashs/Ropper) | 用于漏洞利用开发的 ROP gadget 查找器和二进制分析工具 | | [angr](https://angr.io/) | 具有符号执行和 CFG 恢复功能的二进制分析平台 | | [dnfile](https://github.com/malwarefrank/dnfile) | .NET PE 文件解析器 —— 分析托管程序集 | | [pyelftools](https://github.com/eliben/pyelftools) | 用于解析和分析 ELF 二进制文件的 Python 库 | | [oletools](https://github.com/decalage2/oletools) | 用于分析 Microsoft OLE2 文件(Office 文档、VBA 宏)的工具包 | ### 新增:动态分析与沙箱 | 工具 | 描述 | |------|-------------| | [strace](https://strace.io/) | 跟踪进程发出的系统调用和信号 | | [ltrace](https://www.ltrace.org/) | 跟踪进程在运行时发出的库调用 | | [GDB](https://www.sourceware.org/gdb/) | GNU Debugger —— 在源码或汇编级别调试程序 | | [Frida](https://frida.re/) | 用于 hook 运行进程中函数的动态插桩工具包 | | [Speakeasy](https://github.com/mandiant/speakeasy) | 用于恶意软件分析的 Windows 内核和用户模式模拟器(由 Mandiant 提供) | | [Malduck](https://github.com/CERT-Polska/malduck) | 用于配置文件提取和解包的恶意软件分析辅助库 | ### 新增:网络分析与监控 | 工具 | 描述 | |------|-------------| | [Sniffnet](https://sniffnet.net/) | 跨平台 GUI 网络监控器,带有实时图表、地理位置、协议识别和自定义通知功能。使用 Rust 编写。([GitHub](https://github.com/GyulyVGC/sniffnet)) | | [Snitch](https://github.com/karol-broda/snitch) | 更美观的 `ss`/`netstat` 替代品 —— 具有交互式 TUI 和样式化表格,用于检查网络连接。使用 Go 编写。 | | [ngrep](https://github.com/jpr5/ngrep) | 网络 grep —— 实时匹配数据包 payload 中的 regex 模式 | | [tcpflow](https://github.com/simsong/tcpflow) | 捕获并重组 TCP 流以进行内容分析 | | [dnsutils](https://www.isc.org/bind/) | 用于域名调查的 DNS 查询工具(`dig`、`nslookup`、`host`) | | [mitmproxy](https://mitmproxy.org/) | 用于拦截、检查和修改流量的交互式 HTTPS 代理 | | [proxychains4](https://github.com/haad/proxychains) | 透明地将任何 TCP 连接通过 SOCKS/HTTP 代理进行路由 | | [netcat](https://nmap.org/ncat/) | 用于读取、写入和隧道传输网络数据的 TCP/UDP 瑞士军刀 | | [socat](http://www.dest-unreach.org/socat/) | 用于在两个通道之间进行双向数据传输的多用途中继工具 | ### 新增:OSINT 与威胁情报 | 工具 | 描述 | |------|-------------| | [ioc-finder](https://github.com/fhightower/ioc-finder) | 从文本中提取危害指标(IP、域名、哈希、URL) | | [vt-py](https://github.com/VirusTotal/vt-py) | 官方的 VirusTotal Python 客户端,用于查询文件/URL/域名信誉 | | [STIX2](https://github.com/oasis-open/cti-python-stix2) | 创建和解析 STIX 2.x 威胁情报对象 | | [taxii2-client](https://github.com/oasis-open/cti-taxii-client) | 用于使用 TAXII 2.x 威胁情报源的客户端库 | | [whois](https://github.com/rfc1036/whois) | 查询 WHOIS 数据库以获取域名和 IP 注册详情 | ### 新增:生产力与脚本 | 工具 | 描述 | |------|-------------| | [tmux](https://github.com/tmux/tmux) | 终端复用器 —— 支持分屏和持久会话 | | [vim](https://www.vim.org/) | 高度可配置的文本编辑器 | | [jq](https://jqlang.github.io/jq/) | 用于解析和转换数据的命令行 JSON 处理器 | | [CyberChef CLI](https://github.com/gchq/CyberChef) | GCHQ 数据转换工具包的命令行界面 | | [SQLite3](https://www.sqlite.org/) | 轻量级 SQL 数据库引擎 —— 适用于查询恶意软件数据库 | | [p7zip](https://github.com/p7zip-project/p7zip) | 支持多种格式(7z、RAR、ZIP、CAB 等)的 7-Zip 归档工具 | | [curl](https://curl.se/) / [wget](https://www.gnu.org/software/wget/) | 命令行 HTTP 客户端,用于下载样本和与 API 交互 | | [git](https://git-scm.com/) | 版本控制 —— 克隆 YARA 规则仓库、工具源码等 | ## 架构说明 基础的 REMnux 镜像为 `linux/amd64`。在 Apple Silicon(M 系列)Mac 上,Docker 将通过模拟(Rosetta)运行它。预期性能会稍慢。 ## 致谢 - [REMnux](https://remnux.org/),由 Lenny Zeltser 及其贡献者开发 - 灵感来源于 BenjiTrapp 的 [boxed-kali](https://github.com/BenjiTrapp/boxed-kali)
标签:DAST, Docker, NIDS, VNC, 安全防御评估, 容器化, 恶意软件分析, 网络信息收集, 请求拦截, 远程桌面, 逆向工具