55 Commits

Author SHA1 Message Date
tobias 6349c3aa8e Add malware patterns cheat sheet and book index
04-malware-patterns.md: API→technique mapping, packer recognition,
anti-analysis assembly patterns, shellcode indicators, document
malware indicators, quick-reference lookup tables.

05-book-index.md: A-Z index of every tool, concept, API, technique,
and malware sample in the FOR610 course with book line numbers and
workbook lab references for quick lookup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 08:41:30 +02:00
tobias 0a00835493 Add malware patterns & recognition exam cheat sheet
Covers: technique identification by API sequence (process hollowing,
code injection, DLL injection, .NET reflective loading, hook-based
injection, resource droppers), packer recognition (UPX, entropy,
section names, tail jump, breakpoint strategies), anti-analysis
patterns (IsDebuggerPresent, PEB, SEH, TLS, RDTSC, tool detection),
shellcode indicators (NOP sled, GetEIP, PEB walk), document malware
indicators (PDF keywords, VBA triggers, RTF exploits), and two
quick-reference tables mapping APIs→techniques and assembly→behavior.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 08:24:45 +02:00
tobias 1d2427415e Add FOR610 exam cheat sheets (tools, assembly, Windows APIs)
Three markdown cheat sheets for exam preparation:
- 01-tools.md: All analysis tools with descriptions, platforms, book
  section refs, and key pipe chains
- 02-assembly.md: x86/x64 registers, instructions, calling conventions,
  stack frames, control flow, anti-analysis patterns
- 03-windows-apis.md: All Windows APIs by category with DLLs, malware
  use cases, and technique-to-API mapping table

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 22:24:55 +02:00
tobias bfc3042b9b Fix zk installation URL to use versioned release filename
The zk GitHub releases use versioned filenames (zk-v0.15.2-linux-amd64.tar.gz),
not the generic pattern. Use the GitHub API to find the correct download URL.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 22:12:17 +02:00
tobias e62a14dafc Add markdown wiki with 473 pages and zk browser
Generate interlinked wiki from master inventory: 397 tool pages,
15 workflow pages, 27 recipe pages, 33 category pages, plus index.
All pages use [[wiki-links]] for cross-navigation between tools,
workflows, recipes, and categories (1782 links total).

Install zk for interactive browsing with fzf search, tag filtering,
and backlink discovery. Add 'fhelp wiki' command and Makefile target.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 19:50:36 +01:00
tobias b13db23a5e Update Dockerfile for pre-generated help artifacts and navi
- Install navi for Ctrl+G interactive cheatsheet browsing
- COPY pre-generated artifacts (tools.db, 397 cheatsheets, 15
  workflows, TLDR pages) instead of build-time generation
- Configure cheat tool with /home/remnux/.cheat path
- Symlink navi cheatsheets to /opt/cheatsheets/personal/
- Add welcome.sh to /usr/local/bin/ for all shells
- Configure bash navi widget in /etc/bash.bashrc

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 17:38:52 +01:00
tobias 3a8e5d90ef Overhaul help system UX with navi, recipes, and onboarding
- Rewrite fhelp: add 'start' onboarding, recipe fallback chain
  (our files → cheat → tldr), 'workflow' dynamic loader, tier badges
- Add welcome.sh: unified English welcome for bash/zsh/fish
- Replace German README with concise English version
- Add Zsh F1/Ctrl+/ widget for inline help while typing
- Configure navi Ctrl+G widget for interactive cheatsheet browsing
- Fix dangerous 'alias help=fhelp' (was breaking bash builtin)
- Add 'h' and 'analyse' as safe aliases

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 17:38:37 +01:00
tobias f3ccc09c3d Add FOR610 tool/workflow knowledge base and data pipeline
Build comprehensive malware analysis knowledge base from 3 sources:
- SANS FOR610 course: 120 tools, 47 labs, 15 workflows, 27 recipes
- REMnux salt-states: 340 packages parsed from GitHub
- REMnux docs: 280+ tools scraped from docs.remnux.org

Master inventory merges all sources into 447 tools with help tiers
(rich/standard/basic). Pipeline generates: tools.db (397 entries),
397 cheatsheets with multi-tool recipes, 15 workflow guides, 224
TLDR pages, and coverage reports.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 17:38:15 +01:00
Tobias Kessels 06ebb09ab0 Update Makefile 2025-10-02 10:02:16 +02:00
Tobias Kessels 6e1c77813c Fix zsh alias error and sync packages across Dockerfiles
Fixed zsh configuration:
- Fixed '?' alias that was causing 'no matches found' error in zsh
- Added proper bat alias (bat → batcat on Ubuntu)
- Added conditional alias handling for different shells

Synchronized packages across Dockerfiles:
- Added bat, mpack, pandoc to Dockerfile.scratch
- Enhanced package cleanup in Dockerfile.scratch
- Both Dockerfiles now have identical package lists

New packages available:
- bat (as batcat) - syntax-highlighted cat alternative
- mpack - MIME email utilities
- pandoc - document converter

All shells (bash, zsh, fish) now work without errors!
2025-10-01 15:24:46 +02:00
Tobias Kessels f72e194300 Optimize Docker image size - reduced by 2.2GB!
Major optimizations:
- Enhanced package cleanup with apt-get clean
- Minimal Oh My Zsh installation (keep only needed plugins)
- Remove .git history from Oh My Zsh
- Comprehensive cache cleanup (/var/cache, /tmp, user caches)
- Better layer consolidation

Results:
- Original REMnux base: 8.9GB (compressed tarball)
- Our optimized version: 6.7GB (compressed tarball)
- Size reduction: 2.2GB smaller than original REMnux!
- Still includes all enhancements: PowerShell, modern shells, help system

Docker image sizes:
- Base: 16.2GB → Enhanced: 16.5GB (300MB overhead, but compresses smaller)
2025-10-01 14:46:37 +02:00
Tobias Kessels 2f5d42208d Fix coverage target to handle script exit codes properly
- Removed overly aggressive error handling
- Script was running correctly but exiting with code 1
- Now uses '|| true' to accept any exit code
- make coverage now works correctly
2025-10-01 13:28:36 +02:00
Tobias Kessels b336b25e54 Fix coverage target to use full path and show helpful error
- Use full path: /usr/local/bin/check-help-coverage.sh
- Add error message if image not built or outdated
- Reminds user to run 'make build' first
2025-10-01 13:27:00 +02:00
Tobias Kessels 5db3f8248c Fix Makefile coverage target and add check-help-coverage.sh to containers
- Fixed 'make coverage' command (was using empty variable)
- Now runs: docker run --rm tabledevil/file-analysis:latest check-help-coverage.sh
- Added check-help-coverage.sh script to both Dockerfiles
- Made script executable in both images
- Coverage check now works properly without mounting volumes
2025-10-01 13:25:59 +02:00
Tobias Kessels ef4253c9a0 Restructure Dockerfiles and add Oh My Zsh support
Major changes:
- Dockerfile now builds the REMnux-based image (was Dockerfile.remnux)
- Removed redundant Dockerfile.remnux
- Dockerfile.scratch builds from Ubuntu 20.04 (from scratch variant)
- Updated Makefile to reflect new structure:
  - 'make build' for REMnux-based (default)
  - 'make build-scratch' for Ubuntu-based
  - Removed kali references
  - Simplified targets and naming

Zsh improvements:
- Added Oh My Zsh auto-installation on first run
- Pre-install Oh My Zsh in Docker images for remnux user
- Custom prompt with 🔍 indicator for analysis work
- Fallback to minimal config for system users
- Includes plugins: git, docker, command-not-found, colored-man-pages
- Welcome message shows only once per session
- No more first-time configuration prompts

Shell experience:
- bash (default) - traditional, reliable
- zsh - now with Oh My Zsh, custom theme, plugins
- fish - friendly interactive shell

All shells include help aliases and analysis shortcuts.
2025-10-01 13:22:54 +02:00
Tobias Kessels b98aaee3e0 Major repository cleanup and enhancement
- Reorganize documentation: moved old docs to docs/ directory
- Add comprehensive README.md with build options and usage guide
- Add detailed CONTRIBUTING.md with help content management guide
- Create Makefile for automated building and testing
- Add Dockerfile.scratch for building from Ubuntu 20.04 base
- Enhance all Dockerfiles with PowerShell + PSScriptAnalyzer
- Add modern shells: zsh (with plugins) and fish (with config)
- Add modern CLI tools: fd-find, ripgrep, fzf
- Create comprehensive help system with cheat/TLDR/fish completions
- Add helper scripts for help content management and coverage checking
- Fix Dockerfile.remnux script references
- Support three build variants: upstream (REMnux), scratch (Ubuntu), kali

Build options:
  - make build-upstream: Fast, uses REMnux upstream (recommended)
  - make build-scratch: Full control, builds from Ubuntu 20.04
  - make build-kali: Legacy Kali Linux base

Features:
  - PowerShell with PSScriptAnalyzer module
  - Modern shells (zsh, fish) with custom configurations
  - Enhanced help system (cheat sheets, TLDR pages, fish completions)
  - Help coverage checking and bulk import tools
  - Comprehensive documentation for users and contributors
2025-10-01 11:45:56 +02:00
Tobias Kessels 6bfcfd7935 Add comprehensive offline help system with fuzzy search
🎯 Enhanced Features:
- Integrated navi, cheat, tldr, and fzf for interactive help
- Custom cheat sheets for PDF analysis, malware analysis, and system utilities
- find-tool command for fuzzy searching through all REMnux tools
- Comprehensive help command with workflows and examples
- Complete offline documentation system

📚 Help System Components:
- help                    - Main help system
- help tools [term]       - Search for tools (fuzzy matching)
- help cheat <tool>       - Show command examples
- help examples           - Browse examples interactively (navi + fzf)
- help pdf/malware/forensics - Analysis workflows
- help --offline          - Verify offline capabilities

🛠️ Tools Added:
- navi: Interactive cheat sheet browser
- cheat: Command-line cheat sheets
- tldr: Quick command examples
- fzf: Fuzzy finder (already included)

All documentation works completely offline with local REMnux docs database
and custom cheat sheets for analysis workflows.
2025-09-30 13:01:03 +02:00
Tobias Kessels 169ef5fb03 Migrate from Kali to REMnux base image
- Created new Dockerfile.remnux based on remnux/remnux-distro:latest
- Added comprehensive tool testing suite (test-tools.sh, test-containers.sh)
- Tool comparison analysis shows we get all original tools plus additional ones from REMnux:
  * Additional PDF tools: qpdf, pdfresurrect, pdftool, base64dump, tesseract
  * All original tools preserved: pdfid.py, pdf-parser.py, peepdf, origami, capa, box-js, visidata, unfurl
- Updated README.md with new usage instructions
- Updated WARP.md documentation
- All 21 tools tested and verified working
- Migration maintains full functionality while adding REMnux capabilities
2025-09-30 12:40:55 +02:00
tabledevil a7cb78b6b4 Moved some python packages to pipx and fixed some issues 2024-10-11 16:12:55 +00:00
tabledevil 6967e05c15 Added unrtf to Image 2024-01-12 15:10:57 +01:00
tabledevil b1e0f77415 Added unfurl as a tool 2023-11-30 09:13:58 +01:00
tabledevil 64f876a7f6 Improved PIP Config to not cache any files 2023-11-30 09:13:35 +01:00
tke 839eb7d289 Rename the dockerfile to Dockerfile, That is the way 2023-09-14 12:26:22 +02:00
Tabledevil e69e59db7e Add Mandiant capa 2022-03-01 19:43:36 +01:00
Tabledevil ee338ce76d Add box-js and disable vipermonkey (not working) 2022-02-02 17:13:08 +01:00
Tabledevil 06370e7050 Improve peepdf 2022-01-12 22:23:48 +01:00
TKE 586f61444c Add Tool list to README 2021-08-16 18:57:26 +02:00
TKE bbecbee74a Add vmonkey again
Added pypy for python 2 support
2021-08-16 15:56:56 +02:00
TKE 331675a1ce Move to KALI 2021-08-16 14:50:55 +02:00
TKE 9784e96366 Fix some old pip problem 2021-01-22 20:44:59 +01:00
TKE 3235b22f6f added two office document to text converters
+docx2txt
+catdoc
2020-04-14 11:48:55 +02:00
TKE a2dc16730a added osslsigncode for verifying of windows executeables 2020-04-07 15:05:16 +02:00
TKE dfb82f686f added unoconv for ease doc2pdf conversion 2020-01-31 17:08:57 +01:00
tke 832b767834 added pehash pescan pepack 2019-12-17 16:17:07 +01:00
tke bbe75907aa removed pip upgrade 2019-12-17 13:45:01 +01:00
TKE 78def61b2d added pev 2019-12-16 15:04:47 +01:00
TKE c2e4ee3a98 pinned version of pylibemu to 0.5.8 so it would build 2019-11-26 13:16:05 +01:00
TKE 67a807d381 changed default workingdir to /data 2019-11-26 11:31:53 +01:00
Tobias Kessels 9aab0c2205 added pdf-origami
ruby package and origami gem added to get tools like pdfcop and 
pdfextract
2019-10-16 11:17:24 +02:00
Tobias Kessels f4bb4731f0 removed seperate libreoffice config file 2019-10-16 10:20:00 +02:00
Tobias Kessels 1ff46f703e added libreoffice to default dockerfile 2019-10-16 10:18:56 +02:00
Tobias Kessels a0830565c5 moved exiftool to main apt install block 2019-10-16 09:19:44 +02:00
Tobias Kessels bea2f6c743 moved package installation 2019-10-16 09:02:34 +02:00
Tobias Kessels 26537960c0 added python-yara support 2019-06-19 12:47:53 +02:00
Tobias Kessels bd80ab4ed6 added gs command for version conversion 2019-05-18 18:56:05 +02:00
Tobias Kessels c59ed8efb6 added libreoffice version 2019-05-06 00:25:57 +02:00
Tobias Kessels e1acd018c6 fixed pip install of pyparsing 2019-05-05 22:23:56 +02:00
Tobias Kessels 7d23aaedb9 frooze pyparsing to version 2.3.0 for vipermonkey 2019-05-05 19:11:26 +02:00
Tobias Kessels 4c39f2933d added mpack 2019-04-18 11:54:28 +02:00
Tobias Kessels 9d6bb0482e Added ViperMonkey and oletools 2019-04-17 19:36:19 +02:00