Files
docker_file_analysis/remnux-tldr-cheatsheet.md
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

404 lines
11 KiB
Markdown

# REMnux Docker Container - TLDR Tools Cheat Sheet
## Quick Start
```bash
# Run REMnux container
docker run --rm -it -u remnux -v ~/samples:/home/remnux/files remnux/remnux-distro:focal bash
# Default credentials: remnux/malware
```
---
## 📁 GENERAL FILE ANALYSIS
### 🔧 FILE
**Purpose**: Identify file type using magic numbers
**Syntax**: `file [filename]`
**Example**: `file malware.exe`
**Output**: Shows file type and basic properties
### 🔧 EXIFTOOL
**Purpose**: Extract metadata from files
**Syntax**: `exiftool [options] [filename]`
**Example**: `exiftool -a malware.exe`
**Output**: Displays all metadata tags
### 🔧 TRID
**Purpose**: Identify file types using signatures
**Syntax**: `trid [filename]`
**Example**: `trid unknown_file.bin`
**Output**: Shows percentage probability of file types
### 🔧 DIE (Detect-It-Easy)
**Purpose**: Detect file types and examine properties
**Syntax**: `die [filename]` or `diec [filename]`
**Example**: `die malware.exe`
**Output**: Comprehensive file analysis
### 🔧 YARA
**Purpose**: Pattern matching for malware identification
**Syntax**: `yara [rulefile] [target]`
**Example**: `yara rules.yar malware.exe`
**Output**: Shows matching rules
### 🔧 SSDEEP
**Purpose**: Compute fuzzy hashes for similarity detection
**Syntax**: `ssdeep [options] [files]`
**Example**: `ssdeep -b malware1.exe malware2.exe`
**Output**: Fuzzy hash comparison results
### 🔧 CLAMSCAN
**Purpose**: Scan files for malware signatures
**Syntax**: `clamscan [options] [file/directory]`
**Example**: `clamscan --verbose malware.exe`
**Output**: Virus detection results
### 🔧 BINWALK
**Purpose**: Extract and analyze firmware images
**Syntax**: `binwalk [options] [filename]`
**Example**: `binwalk -e firmware.bin`
**Output**: Extracted files and entropy analysis
### 🔧 BULK_EXTRACTOR
**Purpose**: Extract strings and artifacts from files
**Syntax**: `bulk_extractor [options] -o [output_dir] [input]`
**Example**: `bulk_extractor -o output_dir malware.exe`
**Output**: Directory with extracted artifacts
### 🔧 SIGNSRCH
**Purpose**: Find crypto/compression algorithm signatures
**Syntax**: `signsrch [filename]`
**Example**: `signsrch malware.exe`
**Output**: List of detected algorithms
---
## 📁 PE FILE ANALYSIS
### 🔧 PEFRAME
**Purpose**: Comprehensive PE static analyzer
**Syntax**: `peframe [options] [pe_file]`
**Example**: `peframe -j malware.exe`
**Output**: JSON format analysis report
### 🔧 PEFILE
**Purpose**: Python PE file analysis library
**Syntax**: `python3 -c "import pefile; pe=pefile.PE('file.exe'); print(pe.dump_info())"`
**Example**: `pefile-dump malware.exe`
**Output**: Detailed PE structure information
### 🔧 PESCAN
**Purpose**: Scan PE files for suspicious indicators
**Syntax**: `pescan [pe_file]`
**Example**: `pescan malware.exe`
**Output**: Suspicious characteristics report
### 🔧 MANALYZE
**Purpose**: Advanced PE analyzer with plugins
**Syntax**: `manalyze [options] [pe_file]`
**Example**: `manalyze --plugins=all malware.exe`
**Output**: Comprehensive analysis with threat score
---
## 📁 STRING ANALYSIS & DEOBFUSCATION
### 🔧 STRINGS
**Purpose**: Extract printable strings from files
**Syntax**: `strings [options] [filename]`
**Example**: `strings -n 6 malware.exe | head -20`
**Output**: List of printable strings
### 🔧 FLOSS
**Purpose**: FLARE Obfuscated String Solver
**Syntax**: `floss [options] [filename]`
**Example**: `floss --no-static-strings malware.exe`
**Output**: Deobfuscated strings
### 🔧 BASE64DUMP
**Purpose**: Extract and decode Base64 strings
**Syntax**: `base64dump.py [options] [filename]`
**Example**: `base64dump.py -s malware.txt`
**Output**: Decoded Base64 content
### 🔧 XORSEARCH
**Purpose**: Search for XOR encoded strings
**Syntax**: `xorsearch [options] [filename] [string]`
**Example**: `xorsearch -W malware.exe kernel32`
**Output**: XOR key and decoded strings
### 🔧 CYBERCHEF
**Purpose**: Web-based data transformation tool
**Setup**: Start with `cyberchef` command
**Access**: Open browser to http://localhost:8080
**Usage**: Upload file and apply transformations
**Output**: Decoded/transformed data
---
## 📁 DISASSEMBLERS & DECOMPILERS
### 🔧 GHIDRA
**Purpose**: NSA reverse engineering framework
**Syntax**: `ghidra` or `ghidraRun`
**Usage**: Import malware.exe and analyze
**Output**: Decompiled C-like code
### 🔧 RADARE2
**Purpose**: Command-line reverse engineering framework
**Syntax**: `r2 [options] [filename]`
**Example**: `r2 -A malware.exe`
**Output**: Interactive analysis session
### 🔧 CUTTER
**Purpose**: GUI for Radare2
**Syntax**: `cutter [filename]`
**Example**: `cutter malware.exe`
**Output**: Graphical disassembly interface
### 🔧 OBJDUMP
**Purpose**: GNU object file dumper
**Syntax**: `objdump [options] [filename]`
**Example**: `objdump -d -M intel malware.exe`
**Output**: Disassembled code
### 🔧 RETDEC-DECOMPILER
**Purpose**: Multi-architecture decompiler
**Syntax**: `retdec-decompiler [options] [filename]`
**Example**: `retdec-decompiler malware.exe`
**Output**: Decompiled C code
---
## 📁 DYNAMIC ANALYSIS & DEBUGGING
### 🔧 GDB
**Purpose**: GNU debugger for Linux binaries
**Syntax**: `gdb [program]` or `gdb -p [pid]`
**Example**: `gdb ./malware`
**Output**: Interactive debugging session
### 🔧 STRACE
**Purpose**: Trace system calls
**Syntax**: `strace [options] [command]`
**Example**: `strace -f -e trace=file ./malware`
**Output**: System call trace
### 🔧 LTRACE
**Purpose**: Trace library calls
**Syntax**: `ltrace [options] [command]`
**Example**: `ltrace ./malware`
**Output**: Library function call trace
### 🔧 FRIDA
**Purpose**: Dynamic instrumentation toolkit
**Syntax**: `frida [options] [target]`
**Example**: `frida -l script.js malware`
**Output**: Runtime manipulation results
---
## 📁 MEMORY FORENSICS
### 🔧 VOLATILITY (v2)
**Purpose**: Memory forensics framework
**Syntax**: `vol.py -f [memory_dump] --profile=[profile] [plugin]`
**Example**: `vol.py -f memory.dump --profile=Win7SP1x64 pslist`
**Output**: Process list from memory
### 🔧 VOLATILITY3 (v3)
**Purpose**: Next-gen memory forensics
**Syntax**: `vol3 -f [memory_dump] [plugin]`
**Example**: `vol3 -f memory.dump windows.pslist`
**Output**: Enhanced process information
### 🔧 REKALL
**Purpose**: Memory forensics and live analysis
**Syntax**: `rekall -f [memory_dump]`
**Example**: `rekall -f memory.dump`
**Output**: Interactive memory analysis
---
## 📁 DOCUMENT ANALYSIS
### 🔧 OLEVBA
**Purpose**: Extract VBA macros from Office documents
**Syntax**: `olevba [options] [document]`
**Example**: `olevba --decode malicious.docm`
**Output**: Extracted and decoded macros
### 🔧 OLEDUMP
**Purpose**: Analyze OLE files and extract objects
**Syntax**: `oledump.py [options] [olefile]`
**Example**: `oledump.py -s 3 -d document.docm`
**Output**: Dumped OLE stream content
### 🔧 PDFID
**Purpose**: Analyze PDF structure for suspicious elements
**Syntax**: `pdfid.py [options] [pdf_file]`
**Example**: `pdfid.py suspicious.pdf`
**Output**: PDF object statistics
### 🔧 PEEPDF
**Purpose**: Interactive PDF analysis tool
**Syntax**: `peepdf [options] [pdf_file]`
**Example**: `peepdf -i malicious.pdf`
**Output**: Interactive PDF exploration
### 🔧 RTFDUMP
**Purpose**: Analyze RTF documents
**Syntax**: `rtfdump.py [options] [rtf_file]`
**Example**: `rtfdump.py document.rtf`
**Output**: RTF structure analysis
---
## 📁 NETWORK ANALYSIS
### 🔧 WIRESHARK
**Purpose**: Network protocol analyzer GUI
**Syntax**: `wireshark [options] [capture_file]`
**Example**: `wireshark capture.pcap`
**Output**: Graphical packet analysis
### 🔧 TSHARK
**Purpose**: Command-line Wireshark
**Syntax**: `tshark [options]`
**Example**: `tshark -r capture.pcap -Y http`
**Output**: Filtered packet information
### 🔧 TCPDUMP
**Purpose**: Capture network packets
**Syntax**: `tcpdump [options] [expression]`
**Example**: `tcpdump -i eth0 -w capture.pcap`
**Output**: Captured network packets
### 🔧 NGREP
**Purpose**: Network grep for packet payloads
**Syntax**: `ngrep [options] [pattern] [expression]`
**Example**: `ngrep -i 'GET|POST' port 80`
**Output**: Matching packet content
---
## 📁 JAVASCRIPT ANALYSIS
### 🔧 BOX-JS
**Purpose**: JavaScript sandbox for analysis
**Syntax**: `box-js [javascript_file]`
**Example**: `box-js malicious.js`
**Output**: Execution trace and IOCs
### 🔧 JS-FILE
**Purpose**: JavaScript file analyzer
**Syntax**: `js-file [javascript_file]`
**Example**: `js-file obfuscated.js`
**Output**: JavaScript analysis report
---
## 📁 ARCHIVE & PACKING
### 🔧 UPX
**Purpose**: Ultimate Packer for eXecutables
**Syntax**: `upx [options] [files]`
**Example**: `upx -d packed.exe` (unpack)
**Output**: Unpacked executable
### 🔧 7Z
**Purpose**: 7-Zip archiver
**Syntax**: `7z [command] [archive] [files]`
**Example**: `7z x archive.7z`
**Output**: Extracted files
### 🔧 UNZIP
**Purpose**: Extract ZIP archives
**Syntax**: `unzip [options] [zipfile]`
**Example**: `unzip -l archive.zip`
**Output**: Archive contents list
---
## 📁 UTILITIES
### 🔧 HEXDUMP
**Purpose**: Display file contents in hexadecimal
**Syntax**: `hexdump [options] [file]`
**Example**: `hexdump -C malware.exe | head`
**Output**: Hex and ASCII representation
### 🔧 XXD
**Purpose**: Hex dump and reverse tool
**Syntax**: `xxd [options] [file]`
**Example**: `xxd malware.exe | head -10`
**Output**: Formatted hex dump
### 🔧 CUT
**Purpose**: Extract columns from text
**Syntax**: `cut [options] [file]`
**Example**: `strings malware.exe | cut -c1-50`
**Output**: Truncated string output
---
## 🚀 Quick Analysis Workflow
```bash
# 1. Basic file identification
file malware.exe
trid malware.exe
exiftool malware.exe
# 2. Hash and scan
md5sum malware.exe
ssdeep malware.exe
clamscan malware.exe
# 3. PE analysis (if Windows executable)
peframe malware.exe
manalyze malware.exe
# 4. String analysis
strings malware.exe | head -50
floss malware.exe
# 5. Pattern matching
yara rules.yar malware.exe
# 6. Static disassembly
r2 -A malware.exe
# or
ghidra malware.exe
# 7. Dynamic analysis (Linux binaries only in container)
strace ./linux_malware
ltrace ./linux_malware
```
---
## 📋 Common Command Combinations
```bash
# Extract and analyze strings
strings malware.exe | grep -i "http\|ftp\|\.exe\|\.dll" | head -20
# Search for Base64 encoded content
base64dump.py malware.exe | head -10
# Look for XOR patterns
xorsearch -W malware.exe http
# Bulk artifact extraction
bulk_extractor -o artifacts malware.exe
# Memory dump analysis
vol.py -f memory.dump --profile=Win7SP1x64 pslist
vol.py -f memory.dump --profile=Win7SP1x64 netscan
```
**Total Tools Covered**: 48 essential REMnux tools
**Container**: `remnux/remnux-distro:focal`
**Total Available Tools**: 300+ tools across all categories