LitterBox v4.1.0
This commit is contained in:
+10
-1
@@ -2,6 +2,16 @@
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [v4.1.0] - 2025-09-01
|
||||
### Added
|
||||
- Docker deployment support for Linux hosts
|
||||
- Automated Windows 10 container setup with LitterBox installation
|
||||
- Web viewer and RDP access for containerized environments
|
||||
- `--ip` parameter to specify custom host IP address
|
||||
|
||||
### Fixed
|
||||
- Missing page title in doppelganger template
|
||||
|
||||
|
||||
## [v4.0.0] - 2025-08-19
|
||||
### Added
|
||||
@@ -14,7 +24,6 @@ All notable changes to this project will be documented in this file.
|
||||
- Collapsible sidebar with smooth animations and state persistence
|
||||
- Enhanced Python client library with HolyGrail analysis support and comprehensive API coverage
|
||||
- Comprehensive LNK files parser library
|
||||
- `--ip` parameter to specify custom host IP address
|
||||
|
||||
### Changed
|
||||
- Extended binary detection to support Go and Rust runtime analysis
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ application:
|
||||
host: "127.0.0.1"
|
||||
port: 1337
|
||||
debug: false
|
||||
version: "4.0.0"
|
||||
version: "4.1.0"
|
||||
|
||||
utils:
|
||||
allowed_extensions:
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
services:
|
||||
litterbox-windows:
|
||||
image: dockurr/windows
|
||||
container_name: litterbox-windows
|
||||
environment:
|
||||
VERSION: "10"
|
||||
RAM_SIZE: "8G"
|
||||
CPU_CORES: "4"
|
||||
DISK_SIZE: "75G"
|
||||
USERNAME: "litterbox"
|
||||
PASSWORD: "sandbox123"
|
||||
devices:
|
||||
- /dev/kvm
|
||||
- /dev/net/tun
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
ports:
|
||||
- 8006:8006
|
||||
- 3389:3389/tcp
|
||||
- 3389:3389/udp
|
||||
- 1337:1337
|
||||
- 8080:8080
|
||||
volumes:
|
||||
- ./windows:/storage
|
||||
- ./oem:/oem
|
||||
- ./share:/data
|
||||
restart: always
|
||||
stop_grace_period: 2m
|
||||
@@ -0,0 +1,398 @@
|
||||
#Requires -RunAsAdministrator
|
||||
|
||||
# LitterBox Malware Analysis Platform - Automated Setup
|
||||
# Automated installation and configuration script for LitterBox isolated malware analysis environment
|
||||
|
||||
# Configuration
|
||||
$Script:Config = @{
|
||||
InstallDir = "C:\LitterBox"
|
||||
RepoUrl = "https://github.com/BlackSnufkin/LitterBox.git"
|
||||
DebloatRepoUrl = "https://github.com/W4RH4WK/Debloat-Windows-10.git"
|
||||
DebloatPath = "C:\Debloat-Windows-10"
|
||||
WebPort = 1337
|
||||
MCPPort = 8080
|
||||
LogFile = "$env:TEMP\LitterBox-Setup.log"
|
||||
}
|
||||
|
||||
# Logging functions
|
||||
function Write-Log {
|
||||
param([string]$Message, [string]$Level = "INFO")
|
||||
$Timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
|
||||
$LogEntry = "[$Timestamp] [$Level] $Message"
|
||||
Add-Content -Path $Script:Config.LogFile -Value $LogEntry
|
||||
|
||||
switch ($Level) {
|
||||
"SUCCESS" { Write-Host "[+] $Message" -ForegroundColor Green }
|
||||
"WARNING" { Write-Host "[!] $Message" -ForegroundColor Yellow }
|
||||
"ERROR" { Write-Host "[-] $Message" -ForegroundColor Red }
|
||||
default { Write-Host "[*] $Message" -ForegroundColor Cyan }
|
||||
}
|
||||
}
|
||||
|
||||
function Test-Administrator {
|
||||
$CurrentUser = [Security.Principal.WindowsIdentity]::GetCurrent()
|
||||
$Principal = New-Object Security.Principal.WindowsPrincipal($CurrentUser)
|
||||
return $Principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
|
||||
}
|
||||
|
||||
function Initialize-Environment {
|
||||
Write-Log "Initializing LitterBox setup environment" "SUCCESS"
|
||||
|
||||
if (-not (Test-Administrator)) {
|
||||
Write-Log "Script must be run as Administrator" "ERROR"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Set execution policy
|
||||
try {
|
||||
Set-ExecutionPolicy Bypass -Scope Process -Force -ErrorAction Stop
|
||||
Write-Log "Execution policy configured"
|
||||
}
|
||||
catch {
|
||||
Write-Log "Failed to set execution policy: $($_.Exception.Message)" "ERROR"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Create installation directory
|
||||
if (-not (Test-Path $Script:Config.InstallDir)) {
|
||||
New-Item -ItemType Directory -Path $Script:Config.InstallDir -Force | Out-Null
|
||||
Write-Log "Created installation directory: $($Script:Config.InstallDir)"
|
||||
}
|
||||
}
|
||||
|
||||
function Set-DefenderExclusions {
|
||||
Write-Log "Configuring Windows Defender exclusions"
|
||||
|
||||
try {
|
||||
Add-MpPreference -ExclusionPath $Script:Config.InstallDir -ErrorAction Stop
|
||||
Write-Log "Windows Defender exclusions applied for: $($Script:Config.InstallDir)" "SUCCESS"
|
||||
|
||||
Set-MpPreference -SubmitSamplesConsent 2 -ErrorAction SilentlyContinue
|
||||
Set-MpPreference -MAPSReporting 0 -ErrorAction SilentlyContinue
|
||||
Write-Log "Windows Defender sample submission disabled" "SUCCESS"
|
||||
}
|
||||
catch {
|
||||
Write-Log "Failed to configure Defender exclusions: $($_.Exception.Message)" "WARNING"
|
||||
Write-Log "Malware samples may be quarantined during analysis" "WARNING"
|
||||
}
|
||||
}
|
||||
|
||||
function Install-Prerequisites {
|
||||
Write-Log "Installing system prerequisites"
|
||||
|
||||
# Install .NET Framework 3.5
|
||||
Write-Log "Installing .NET Framework 3.5..."
|
||||
try {
|
||||
dism /online /enable-feature /featurename:NetFx3 /all /norestart /quiet 2>&1 | Out-Null
|
||||
if ($LASTEXITCODE -eq 0) {
|
||||
Write-Log ".NET Framework 3.5 installed successfully" "SUCCESS"
|
||||
}
|
||||
else {
|
||||
Write-Log ".NET Framework 3.5 installation failed (Exit code: $LASTEXITCODE)" "WARNING"
|
||||
}
|
||||
}
|
||||
catch {
|
||||
Write-Log "Error installing .NET Framework 3.5: $($_.Exception.Message)" "WARNING"
|
||||
}
|
||||
}
|
||||
|
||||
function Install-Chocolatey {
|
||||
Write-Log "Installing Chocolatey package manager"
|
||||
|
||||
try {
|
||||
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
|
||||
Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) 2>&1 | Out-Null
|
||||
|
||||
# Refresh environment variables
|
||||
$env:Path = [System.Environment]::GetEnvironmentVariable("Path", "Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path", "User")
|
||||
|
||||
Write-Log "Chocolatey installed successfully" "SUCCESS"
|
||||
}
|
||||
catch {
|
||||
Write-Log "Failed to install Chocolatey: $($_.Exception.Message)" "ERROR"
|
||||
throw
|
||||
}
|
||||
}
|
||||
|
||||
function Install-Dependencies {
|
||||
Write-Log "Installing core dependencies via Chocolatey"
|
||||
|
||||
# Install core packages
|
||||
Write-Log "Installing Python, Git, and dependencies..."
|
||||
choco install -y python3 git 7zip vcredist-all --no-progress 2>&1 | Out-Null
|
||||
|
||||
# Install build tools (commented sections from original)
|
||||
Write-Log "Installing Visual C++ and build tools..."
|
||||
choco install dotnetfx -y --no-progress --ignore-package-exit-codes --force 2>&1 | Out-Null
|
||||
choco install visualstudio2022buildtools -y --no-progress --force 2>&1 | Out-Null
|
||||
choco install visualstudio2022-workload-vctools -y --no-progress --force 2>&1 | Out-Null
|
||||
choco install windows-sdk-10-version-2004-all -y --no-progress --force 2>&1 | Out-Null
|
||||
|
||||
# Wait for installations
|
||||
Start-Sleep -Seconds 30
|
||||
|
||||
# Refresh PATH
|
||||
$env:Path = [System.Environment]::GetEnvironmentVariable("Path", "Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path", "User")
|
||||
Write-Log "Dependencies installation completed" "SUCCESS"
|
||||
}
|
||||
|
||||
function Clone-DebloatRepo {
|
||||
Write-Log "Cloning W4RH4WK Debloat-Windows-10 repository"
|
||||
|
||||
# Remove existing repo if present
|
||||
if (Test-Path $Script:Config.DebloatPath) {
|
||||
Remove-Item $Script:Config.DebloatPath -Recurse -Force
|
||||
Write-Log "Removed existing debloat repository"
|
||||
}
|
||||
|
||||
Set-Location C:\
|
||||
try {
|
||||
git clone $Script:Config.DebloatRepoUrl 2>&1 | Out-Null
|
||||
Write-Log "Debloat repository cloned successfully" "SUCCESS"
|
||||
return $Script:Config.DebloatPath
|
||||
}
|
||||
catch {
|
||||
Write-Log "Failed to clone debloat repository: $($_.Exception.Message)" "ERROR"
|
||||
throw
|
||||
}
|
||||
}
|
||||
|
||||
function Run-DebloatScripts {
|
||||
param([string]$RepoPath, [int]$Round)
|
||||
|
||||
Write-Log "Running debloat scripts - Round $Round"
|
||||
|
||||
$ScriptsPath = "$RepoPath\scripts"
|
||||
Set-Location $ScriptsPath
|
||||
|
||||
# Unblock all PowerShell scripts
|
||||
Get-ChildItem -Recurse *.ps*1 | Unblock-File
|
||||
Write-Log "PowerShell scripts unblocked"
|
||||
|
||||
$Scripts = @(
|
||||
"block-telemetry.ps1",
|
||||
"disable-services.ps1",
|
||||
"fix-privacy-settings.ps1",
|
||||
"optimize-user-interface.ps1",
|
||||
"remove-default-apps.ps1"
|
||||
#"remove-onedrive.ps1"
|
||||
)
|
||||
|
||||
foreach ($Script in $Scripts) {
|
||||
if (Test-Path $Script) {
|
||||
Write-Log "Executing $Script..."
|
||||
try {
|
||||
Start-Process -FilePath "powershell" -ArgumentList "-ExecutionPolicy", "Bypass", "-File", ".\$Script" -Wait -WindowStyle Hidden | Out-Null
|
||||
Write-Log "$Script completed successfully" "SUCCESS"
|
||||
}
|
||||
catch {
|
||||
Write-Log "Error in $Script`: $($_.Exception.Message)" "WARNING"
|
||||
}
|
||||
}
|
||||
else {
|
||||
Write-Log "$Script not found" "WARNING"
|
||||
}
|
||||
}
|
||||
|
||||
Write-Log "Debloat round $Round completed" "SUCCESS"
|
||||
}
|
||||
|
||||
function Prep-SandBox {
|
||||
$RepoPath = Clone-DebloatRepo
|
||||
|
||||
# Round 1
|
||||
Run-DebloatScripts -RepoPath $RepoPath -Round 1
|
||||
|
||||
Write-Log "Waiting 10 seconds before Round 2..."
|
||||
Start-Sleep -Seconds 10
|
||||
|
||||
# Round 2
|
||||
Run-DebloatScripts -RepoPath $RepoPath -Round 2
|
||||
|
||||
Write-Log "Windows debloating completed!" "SUCCESS"
|
||||
Write-Log "Reboot required to complete all changes" "WARNING"
|
||||
|
||||
# Cleanup - Remove debloat repository
|
||||
Write-Log "Cleaning up debloat repository..."
|
||||
Set-Location C:\
|
||||
Start-Sleep -Seconds 5
|
||||
try {
|
||||
Remove-Item $RepoPath -Recurse -Force -ErrorAction Stop
|
||||
Write-Log "Debloat repository removed successfully" "SUCCESS"
|
||||
}
|
||||
catch {
|
||||
Write-Log "Repository cleanup will be attempted after reboot" "WARNING"
|
||||
# Schedule cleanup for next boot
|
||||
$CleanupScript = "Remove-Item '$RepoPath' -Recurse -Force -ErrorAction SilentlyContinue"
|
||||
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce' -Name 'LitterBoxCleanup' -Value "powershell -Command `"$CleanupScript`"" -PropertyType String -Force | Out-Null
|
||||
}
|
||||
}
|
||||
|
||||
function Install-LitterBox {
|
||||
Write-Log "Cloning and configuring LitterBox repository"
|
||||
|
||||
# Clone repository
|
||||
Write-Log "Cloning LitterBox repository..."
|
||||
Set-Location C:\
|
||||
try {
|
||||
git clone $Script:Config.RepoUrl 2>&1 | Out-Null
|
||||
Set-Location $Script:Config.InstallDir
|
||||
Write-Log "LitterBox repository cloned successfully" "SUCCESS"
|
||||
}
|
||||
catch {
|
||||
Write-Log "Failed to clone LitterBox repository: $($_.Exception.Message)" "ERROR"
|
||||
throw
|
||||
}
|
||||
|
||||
# Create virtual environment
|
||||
Write-Log "Creating Python virtual environment..."
|
||||
try {
|
||||
python -m venv venv 2>&1 | Out-Null
|
||||
Write-Log "Python virtual environment created" "SUCCESS"
|
||||
}
|
||||
catch {
|
||||
Write-Log "Failed to create virtual environment: $($_.Exception.Message)" "ERROR"
|
||||
throw
|
||||
}
|
||||
|
||||
# Install Python dependencies
|
||||
Write-Log "Installing Python dependencies..."
|
||||
try {
|
||||
& ".\venv\Scripts\Activate.ps1"
|
||||
.\venv\Scripts\pip.exe install --upgrade pip --quiet 2>&1 | Out-Null
|
||||
.\venv\Scripts\pip.exe install -r requirements.txt --quiet 2>&1 | Out-Null
|
||||
Write-Log "Python dependencies installed successfully" "SUCCESS"
|
||||
}
|
||||
catch {
|
||||
Write-Log "Failed to install Python dependencies: $($_.Exception.Message)" "ERROR"
|
||||
throw
|
||||
}
|
||||
}
|
||||
|
||||
function Configure-Firewall {
|
||||
Write-Log "Configuring Windows Firewall rules"
|
||||
try {
|
||||
New-NetFirewallRule -DisplayName "LitterBox Web" -Direction Inbound -Protocol TCP -LocalPort $Script:Config.WebPort -Action Allow -ErrorAction Stop | Out-Null
|
||||
New-NetFirewallRule -DisplayName "LitterBox MCP" -Direction Inbound -Protocol TCP -LocalPort $Script:Config.MCPPort -Action Allow -ErrorAction Stop | Out-Null
|
||||
Write-Log "Firewall rules configured for ports $($Script:Config.WebPort) and $($Script:Config.MCPPort)" "SUCCESS"
|
||||
}
|
||||
catch {
|
||||
Write-Log "Failed to configure firewall rules: $($_.Exception.Message)" "WARNING"
|
||||
}
|
||||
}
|
||||
|
||||
function Create-StartupFiles {
|
||||
Write-Log "Creating startup scripts and shortcuts"
|
||||
|
||||
# Create startup batch file
|
||||
$StartupScript = @"
|
||||
@echo off
|
||||
echo Starting LitterBox Malware Analysis Platform...
|
||||
cd $($Script:Config.InstallDir)
|
||||
call .\venv\Scripts\activate.bat
|
||||
python litterbox.py --debug --ip 0.0.0.0
|
||||
"@
|
||||
|
||||
try {
|
||||
$StartupScript | Out-File -FilePath "$($Script:Config.InstallDir)\litterox.bat" -Encoding ASCII
|
||||
Write-Log "Startup script created successfully"
|
||||
}
|
||||
catch {
|
||||
Write-Log "Failed to create startup script: $($_.Exception.Message)" "ERROR"
|
||||
throw
|
||||
}
|
||||
|
||||
# Create desktop shortcut
|
||||
Write-Log "Creating desktop shortcut..."
|
||||
try {
|
||||
$WshShell = New-Object -comObject WScript.Shell
|
||||
$Shortcut = $WshShell.CreateShortcut("C:\Users\Public\Desktop\LitterBox.lnk")
|
||||
$Shortcut.TargetPath = "$($Script:Config.InstallDir)\litterox.bat"
|
||||
$Shortcut.WorkingDirectory = $Script:Config.InstallDir
|
||||
$Shortcut.IconLocation = "$($Script:Config.InstallDir)\app\static\favicon.ico"
|
||||
$Shortcut.Description = "LitterBox Malware Analysis Platform"
|
||||
$Shortcut.Save()
|
||||
|
||||
# Set shortcut to run as administrator
|
||||
$bytes = [System.IO.File]::ReadAllBytes('C:\Users\Public\Desktop\LitterBox.lnk')
|
||||
$bytes[0x15] = $bytes[0x15] -bor 0x20
|
||||
[System.IO.File]::WriteAllBytes('C:\Users\Public\Desktop\LitterBox.lnk', $bytes)
|
||||
|
||||
Write-Log "Desktop shortcut created with admin privileges" "SUCCESS"
|
||||
}
|
||||
catch {
|
||||
Write-Log "Failed to create desktop shortcut: $($_.Exception.Message)" "WARNING"
|
||||
}
|
||||
}
|
||||
|
||||
function Setup-AutoStart {
|
||||
Write-Log "Configuring LitterBox auto-start with admin privileges"
|
||||
|
||||
try {
|
||||
# Remove any existing registry entry
|
||||
Remove-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run' -Name 'LitterBox' -ErrorAction SilentlyContinue
|
||||
|
||||
# Create scheduled task for startup with admin privileges
|
||||
$Action = New-ScheduledTaskAction -Execute "$($Script:Config.InstallDir)\litterox.bat"
|
||||
$Trigger = New-ScheduledTaskTrigger -AtLogOn
|
||||
$Settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable
|
||||
$Principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest
|
||||
|
||||
Register-ScheduledTask -TaskName "LitterBox" -Action $Action -Trigger $Trigger -Settings $Settings -Principal $Principal -Force | Out-Null
|
||||
Write-Log "Scheduled task configured with admin privileges" "SUCCESS"
|
||||
}
|
||||
catch {
|
||||
Write-Log "Failed to configure auto-start task: $($_.Exception.Message)" "WARNING"
|
||||
Write-Log "Falling back to registry method without admin privileges" "WARNING"
|
||||
try {
|
||||
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run' -Name 'LitterBox' -Value "$($Script:Config.InstallDir)\litterox.bat" -PropertyType String -Force | Out-Null
|
||||
Write-Log "Registry auto-start entry created (requires manual admin)" "SUCCESS"
|
||||
}
|
||||
catch {
|
||||
Write-Log "Failed to create registry auto-start entry: $($_.Exception.Message)" "ERROR"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function Start-LitterBox {
|
||||
Write-Log "Starting LitterBox platform..." "SUCCESS"
|
||||
|
||||
Set-Location $Script:Config.InstallDir
|
||||
try {
|
||||
Start-Process -FilePath "$($Script:Config.InstallDir)\litterox.bat" -WindowStyle Normal
|
||||
|
||||
Write-Log "LitterBox setup completed successfully!" "SUCCESS"
|
||||
Write-Log "Installation directory: $($Script:Config.InstallDir)" "SUCCESS"
|
||||
Write-Log "Web interface: http://localhost:$($Script:Config.WebPort)" "SUCCESS"
|
||||
Write-Log "MCP interface: http://localhost:$($Script:Config.MCPPort)" "SUCCESS"
|
||||
Write-Log "Desktop shortcut created" "SUCCESS"
|
||||
Write-Log "Windows Defender exclusions applied" "SUCCESS"
|
||||
Write-Log "LitterBox is now running!" "SUCCESS"
|
||||
}
|
||||
catch {
|
||||
Write-Log "Failed to start LitterBox: $($_.Exception.Message)" "ERROR"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Main execution flow
|
||||
try {
|
||||
Write-Log "=== LitterBox Malware Analysis Platform Setup Started ===" "SUCCESS"
|
||||
Initialize-Environment
|
||||
Set-DefenderExclusions
|
||||
Install-Prerequisites
|
||||
Install-Chocolatey
|
||||
Install-Dependencies
|
||||
Prep-SandBox
|
||||
Install-LitterBox
|
||||
Configure-Firewall
|
||||
Create-StartupFiles
|
||||
Setup-AutoStart
|
||||
Start-LitterBox
|
||||
Write-Log "=== LitterBox Setup Completed Successfully ===" "SUCCESS"
|
||||
}
|
||||
catch {
|
||||
Write-Log "Setup failed: $($_.Exception.Message)" "ERROR"
|
||||
Write-Log "Check log file: $($Script:Config.LogFile)" "ERROR"
|
||||
exit 1
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "LitterBox Docker Setup"
|
||||
echo "====================="
|
||||
|
||||
echo "[+] Installing Docker, Docker Compose, and CPU checker..."
|
||||
sudo apt install docker.io docker-compose cpu-checker -y
|
||||
|
||||
echo "[+] Checking KVM support..."
|
||||
if sudo kvm-ok; then
|
||||
echo "[+] KVM acceleration available"
|
||||
else
|
||||
echo "[!] KVM not available - will run slower"
|
||||
echo "[!] Enable virtualization in BIOS or use KVM: 'N' in docker-compose"
|
||||
fi
|
||||
|
||||
|
||||
# Create directories
|
||||
mkdir -p oem
|
||||
mkdir -p share
|
||||
|
||||
# Create install.bat
|
||||
cat > oem/install.bat << 'EOF'
|
||||
@echo off
|
||||
echo [+] LitterBox Installation Starting...
|
||||
powershell -ExecutionPolicy Bypass -File "C:\OEM\install.ps1"
|
||||
echo [+] Installation complete!
|
||||
EOF
|
||||
|
||||
# Copy existing install.ps1
|
||||
cp install.ps1 oem/install.ps1
|
||||
|
||||
echo ""
|
||||
echo "Starting Windows installation..."
|
||||
echo "Web viewer: http://localhost:8006"
|
||||
echo "Monitor installation progress in browser"
|
||||
echo "Windows will auto-install, then LitterBox will be set up"
|
||||
echo "LitterBox will be ready at http://localhost:1337 when complete"
|
||||
|
||||
# Start Docker container
|
||||
sudo docker-compose up
|
||||
|
||||
@@ -2,12 +2,14 @@
|
||||
|
||||

|
||||
|
||||
[]()
|
||||
[]()
|
||||
[]()
|
||||
[]()
|
||||
[]()
|
||||
[]()
|
||||
[]()
|
||||
[]()
|
||||
[]()
|
||||
[](https://github.com/BlackSnufkin/LitterBox/stargazers)
|
||||
|
||||
|
||||
## Table of Contents
|
||||
- [Overview](#overview)
|
||||
- [Analysis Capabilities](#analysis-capabilities)
|
||||
@@ -15,7 +17,8 @@
|
||||
- [Integrated Tools](#integrated-tools)
|
||||
- [API Reference](#api-reference)
|
||||
- [Installation](#installation)
|
||||
- [Access Methods](#access-methods)
|
||||
- [Windows Installation](#windows-installation)
|
||||
- [Linux Installation (Docker)](#linux-installation)
|
||||
- [Configuration](#configuration)
|
||||
- [Client Libraries](#client-libraries)
|
||||
- [Contributing](#contributing)
|
||||
@@ -47,6 +50,7 @@ The platform includes LLM-assisted analysis capabilities through the LitterBoxMC
|
||||
| Entropy Analysis | Detection of encryption and obfuscation |
|
||||
| Type Classification | Advanced MIME and file type analysis |
|
||||
| Metadata Preservation | Original filename and timestamp tracking |
|
||||
| Runtime detection | Compiled binary identification
|
||||
|
||||
### Executable Analysis
|
||||
|
||||
@@ -214,13 +218,14 @@ DELETE /file/<hash> # Remove specific analysis
|
||||
|
||||
## Installation
|
||||
|
||||
### System Requirements
|
||||
- Windows operating system (Linux not supported)
|
||||
### Windows Installation
|
||||
|
||||
**System Requirements:**
|
||||
- Windows operating system
|
||||
- Python 3.11 or higher
|
||||
- Administrator privileges
|
||||
|
||||
### Deployment Process
|
||||
|
||||
**Deployment Process:**
|
||||
1. Clone the repository:
|
||||
```bash
|
||||
git clone https://github.com/BlackSnufkin/LitterBox.git
|
||||
@@ -234,27 +239,61 @@ python -m venv venv
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
## Operation
|
||||
|
||||
Standard operation:
|
||||
**Operation:**
|
||||
```bash
|
||||
# Standard operation
|
||||
python litterbox.py
|
||||
```
|
||||
|
||||
Diagnostic mode:
|
||||
```bash
|
||||
# Diagnostic mode
|
||||
python litterbox.py --debug
|
||||
```
|
||||
|
||||
## Access Methods
|
||||
**Access:**
|
||||
- **Web UI**: `http://127.0.0.1:1337`
|
||||
- **API Access**: Python client integration
|
||||
- **LLM Integration**: MCP server
|
||||
|
||||
LitterBox offers three access interfaces:
|
||||
---
|
||||
|
||||
- **Web UI**: Browser-based interface at `http://127.0.0.1:1337`
|
||||
- **API Access**: Programmatic integration via Python client
|
||||
- **LLM Integration**: AI agent interaction through MCP server
|
||||
### Linux Installation
|
||||
|
||||
For API access, see the [Client Libraries](#client-libraries) section.
|
||||
**System Requirements:**
|
||||
- Linux operating system
|
||||
- Docker and Docker Compose
|
||||
- Hardware virtualization support
|
||||
|
||||
**Deployment Process:**
|
||||
1. Clone the repository:
|
||||
```bash
|
||||
git clone https://github.com/BlackSnufkin/LitterBox.git
|
||||
cd LitterBox/Docker
|
||||
```
|
||||
|
||||
2. Run automated setup:
|
||||
```bash
|
||||
chmod +x setup.sh
|
||||
./setup.sh
|
||||
```
|
||||
> Note: Initial setup takes approximately 1 hour depending on internet speed and system resources.
|
||||
|
||||
The setup script automatically:
|
||||
- Installs Docker, Docker Compose, and CPU checker
|
||||
- Verifies KVM hardware virtualization support
|
||||
- Creates Windows 10 container environment with automated LitterBox installation
|
||||
- Starts containerized Windows instance
|
||||
|
||||
**Access:**
|
||||
- **Installation monitor**: `http://localhost:8006` (track Windows setup progress)
|
||||
- **RDP access**: `localhost:3389` (available after installation completes, creds in docker file)
|
||||
|
||||
Once installation completes, LitterBox provides:
|
||||
- **Web UI**: `http://127.0.0.1:1337`
|
||||
- **API Access**: Python client integration
|
||||
- **LLM Integration**: MCP server
|
||||
|
||||
---
|
||||
|
||||
>For API access, see the [Client Libraries](#client-libraries) section.
|
||||
|
||||
## Configuration
|
||||
|
||||
@@ -318,14 +357,5 @@ This project incorporates technologies from the following contributors:
|
||||
|
||||
## Interface
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 882 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 894 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 5.4 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 864 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 921 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 933 KiB |
@@ -1,13 +1,13 @@
|
||||
<!-- app/templates/doppelganger.html -->
|
||||
|
||||
{% extends "base.html" %}
|
||||
{% block page_title %}Doppelganger Analysis{% endblock %}
|
||||
{% block content %}
|
||||
<div class="max-w-6xl mx-auto px-4 py-12">
|
||||
<!-- Header Section with Navigation -->
|
||||
<div class="mb-8">
|
||||
<div class="flex items-center justify-between mb-4">
|
||||
<div>
|
||||
<h1 class="text-2xl font-medium text-gray-100">Doppelganger Analysis</h1>
|
||||
<p class="text-gray-400">
|
||||
{% if analysis_type == 'blender' %}
|
||||
Analyze and compare system processes with payloads to find shared IOCs.
|
||||
|
||||
Reference in New Issue
Block a user