Archived
2
0
This commit is contained in:
overcuriousity
2025-07-14 23:05:46 +02:00
parent 8540687b47
commit d9c79b3ddc
17 changed files with 1591 additions and 1529 deletions

View File

@@ -15,17 +15,17 @@ const currentPath = Astro.url.pathname;
<ul class="nav-links">
<li>
<a href="/" class={`nav-link ${currentPath === '/' ? 'active' : ''}`}>
Home
~/
</a>
</li>
<li>
<a href="/status" class={`nav-link ${currentPath === '/status' ? 'active' : ''}`}>
Status
~/status
</a>
</li>
<li>
<a href="/about" class={`nav-link ${currentPath === '/about' ? 'active' : ''}`}>
About
~/about
</a>
</li>
<li>

View File

@@ -31,7 +31,7 @@ const sortedTags = Object.entries(tagFrequency)
<input
type="text"
id="search-input"
placeholder="Search tools by name, description, or tags..."
placeholder="Suchfeld: Name der Software, Beschreibung oder Tags..."
style="width: 100%;"
/>
</div>
@@ -41,10 +41,10 @@ const sortedTags = Object.entries(tagFrequency)
<!-- Domain Selection -->
<div class="domain-section">
<label for="domain-select" style="display: block; margin-bottom: 0.5rem; font-weight: 500;">
Forensic Domain
Forensische Domäne
</label>
<select id="domain-select" style="max-width: 300px;">
<option value="">All Domains</option>
<option value="">Alle Domänen</option>
{domains.map((domain: any) => (
<option value={domain.id}>{domain.name}</option>
))}
@@ -54,7 +54,7 @@ const sortedTags = Object.entries(tagFrequency)
<!-- Phase Selection Buttons -->
<div class="phase-section">
<label style="display: block; margin-bottom: 0.75rem; font-weight: 500;">
Investigation Phase
Untersuchungsphase
</label>
<div class="phase-buttons">
{phases.map((phase: any) => (
@@ -73,22 +73,22 @@ const sortedTags = Object.entries(tagFrequency)
<!-- Additional Filters -->
<div style="margin-bottom: 1.5rem;">
<div class="checkbox-wrapper" style="margin-bottom: 1rem;">
<input type="checkbox" id="include-proprietary" checked />
<label for="include-proprietary">Include Proprietary Software</label>
<input type="checkbox" id="include-proprietary" !checked />
<label for="include-proprietary">Proprietäre Software mit einschließen</label>
</div>
<!-- Tag Cloud -->
<div style="margin-bottom: 1rem;">
<div class="tag-header">
<label style="font-weight: 500;">
Filter by Tags
Nach Tags filtern
</label>
<button
id="tag-cloud-toggle"
class="btn-tag-toggle"
data-expanded="false"
>
Show More
Mehr zeigen
</button>
</div>
<div class="tag-cloud" id="tag-cloud">
@@ -109,9 +109,8 @@ const sortedTags = Object.entries(tagFrequency)
<!-- View Toggle -->
<div style="display: flex; gap: 1rem; margin-bottom: 1.5rem;">
<button class="btn btn-secondary view-toggle active" data-view="grid">Grid View</button>
<button class="btn btn-secondary view-toggle" data-view="matrix">Matrix View</button>
<button class="btn btn-secondary view-toggle" data-view="hosted">Self-Hosted Only</button>
<button class="btn btn-secondary view-toggle active" data-view="grid">Kachelansicht</button>
<button class="btn btn-secondary view-toggle" data-view="matrix">Matrix-Ansicht</button>
</div>
</div>
@@ -138,7 +137,7 @@ const sortedTags = Object.entries(tagFrequency)
// Initialize tag cloud state
function initTagCloud() {
const visibleCount = 12; // Show first 12 tags initially
const visibleCount = 22; // Show first 12 tags initially
tagCloudItems.forEach((item, index) => {
if (index >= visibleCount) {
item.style.display = 'none';
@@ -149,11 +148,11 @@ const sortedTags = Object.entries(tagFrequency)
// Toggle tag cloud expansion
function toggleTagCloud() {
isTagCloudExpanded = !isTagCloudExpanded;
const visibleCount = 12;
const visibleCount = 22;
if (isTagCloudExpanded) {
tagCloud.classList.add('expanded');
tagCloudToggle.textContent = 'Show Less';
tagCloudToggle.textContent = 'Weniger zeigen';
tagCloudToggle.setAttribute('data-expanded', 'true');
// Show all filtered tags
@@ -164,7 +163,7 @@ const sortedTags = Object.entries(tagFrequency)
});
} else {
tagCloud.classList.remove('expanded');
tagCloudToggle.textContent = 'Show More';
tagCloudToggle.textContent = 'Mehr zeigen';
tagCloudToggle.setAttribute('data-expanded', 'false');
// Show only first visible tags
@@ -186,7 +185,7 @@ const sortedTags = Object.entries(tagFrequency)
function filterTagCloud() {
const searchTerm = searchInput.value.toLowerCase();
let visibleCount = 0;
const maxVisibleWhenCollapsed = 12;
const maxVisibleWhenCollapsed = 22;
tagCloudItems.forEach(item => {
const tagName = item.getAttribute('data-tag').toLowerCase();

View File

@@ -36,7 +36,7 @@ domains.forEach((domain: any) => {
<div id="matrix-container" class="matrix-wrapper" style="display: none;">
<!-- Collaboration Tools Section (compact horizontal layout for matrix view) -->
<div id="collaboration-tools-section" style="margin-bottom: 1.5rem;">
<h3 style="margin-bottom: 0.75rem; color: var(--color-text); font-size: 1.125rem;">General Tools for Collaboration</h3>
<h3 style="margin-bottom: 0.75rem; color: var(--color-text); font-size: 1.125rem;">Übergreifend & Kollaboration</h3>
<div class="collaboration-tools-compact" id="collaboration-tools-container">
{collaborationTools.map((tool: any) => {
const hasValidProjectUrl = tool.projectUrl !== undefined &&

View File

@@ -9,8 +9,8 @@ tools:
- "storage-file-system"
- "application-code"
phases:
- "examination"
- "analysis"
- "Auswertung"
- "Analyse"
platforms: ["Windows", "Linux", "macOS"]
skillLevel: "intermediate"
accessType: "download"
@@ -24,8 +24,8 @@ tools:
domains:
- "memory-runtime"
phases:
- "examination"
- "analysis"
- "Auswertung"
- "Analyse"
platforms: ["Windows", "Linux", "macOS"]
skillLevel: "advanced"
accessType: "download"
@@ -42,9 +42,9 @@ tools:
- "application-code"
phases:
- "data-collection"
- "examination"
- "analysis"
- "reporting"
- "Auswertung"
- "Analyse"
- "Bericht & Präsentation"
platforms: ["Web"]
skillLevel: "intermediate"
accessType: "self-hosted"
@@ -61,8 +61,8 @@ tools:
- "application-code"
phases:
- "data-collection"
- "analysis"
- "reporting"
- "Analyse"
- "Bericht & Präsentation"
platforms: ["Web"]
skillLevel: "intermediate"
accessType: "self-hosted"
@@ -78,8 +78,8 @@ tools:
- "storage-file-system"
- "network-communication"
phases:
- "analysis"
- "reporting"
- "Analyse"
- "Bericht & Präsentation"
platforms: ["Web"]
skillLevel: "intermediate"
accessType: "self-hosted"
@@ -95,8 +95,8 @@ tools:
- "network-communication"
phases:
- "data-collection"
- "examination"
- "analysis"
- "Auswertung"
- "Analyse"
platforms: ["Windows", "Linux", "macOS"]
skillLevel: "intermediate"
accessType: "download"
@@ -112,9 +112,9 @@ tools:
- "memory-runtime"
phases:
- "data-collection"
- "examination"
- "analysis"
- "reporting"
- "Auswertung"
- "Analyse"
- "Bericht & Präsentation"
platforms: ["Windows"]
skillLevel: "advanced"
accessType: "commercial"
@@ -129,15 +129,15 @@ tools:
- "application-code"
- "network-communication"
phases:
- "examination"
- "analysis"
- "Auswertung"
- "Analyse"
platforms: ["Linux"]
skillLevel: "advanced"
accessType: "self-hosted"
url: "https://cuckoosandbox.org/"
projectUrl: ""
license: "GPL-3.0"
tags: ["malware", "sandbox", "dynamic-analysis", "automation"]
tags: ["malware", "sandbox", "dynamic-Analyse", "automation"]
statusUrl: ""
- name: "FTK Imager"
@@ -146,7 +146,7 @@ tools:
- "storage-file-system"
phases:
- "data-collection"
- "examination"
- "Auswertung"
platforms: ["Windows"]
skillLevel: "intermediate"
accessType: "download"
@@ -162,7 +162,7 @@ tools:
- "storage-file-system"
phases:
- "data-collection"
- "examination"
- "Auswertung"
platforms: ["Linux", "Windows"]
skillLevel: "advanced"
accessType: "self-hosted"
@@ -178,7 +178,7 @@ tools:
- "storage-file-system"
- "application-code"
phases:
- "analysis"
- "Analyse"
platforms: ["Linux", "Windows", "macOS"]
skillLevel: "intermediate"
accessType: "download"
@@ -192,8 +192,8 @@ tools:
domains:
- "network-communication"
phases:
- "examination"
- "analysis"
- "Auswertung"
- "Analyse"
platforms: ["Windows", "Linux (Mono)"]
skillLevel: "intermediate"
accessType: "download"
@@ -208,8 +208,8 @@ tools:
- "memory-runtime"
- "application-code"
phases:
- "examination"
- "analysis"
- "Auswertung"
- "Analyse"
platforms: ["Windows"]
skillLevel: "intermediate"
accessType: "download"
@@ -225,7 +225,7 @@ tools:
- "platform-infrastructure"
phases:
- "data-collection"
- "analysis"
- "Analyse"
platforms: ["Windows"]
skillLevel: "intermediate"
accessType: "download"
@@ -241,7 +241,7 @@ tools:
- "storage-file-system"
phases:
- "data-collection"
- "examination"
- "Auswertung"
platforms: ["Windows", "Linux", "macOS"]
skillLevel: "advanced"
accessType: "self-hosted"
@@ -257,7 +257,7 @@ tools:
- "network-communication"
phases:
- "data-collection"
- "analysis"
- "Analyse"
platforms: ["Linux"]
skillLevel: "advanced"
accessType: "self-hosted"
@@ -272,9 +272,9 @@ tools:
domains:
- "storage-file-system"
phases:
- "examination"
- "analysis"
- "reporting"
- "Auswertung"
- "Analyse"
- "Bericht & Präsentation"
platforms: ["Windows"]
skillLevel: "advanced"
accessType: "commercial"
@@ -289,9 +289,9 @@ tools:
domains:
- "multimedia-content"
phases:
- "examination"
- "analysis"
- "reporting"
- "Auswertung"
- "Analyse"
- "Bericht & Präsentation"
platforms: ["Windows"]
skillLevel: "intermediate"
accessType: "commercial"
@@ -305,16 +305,16 @@ tools:
domains:
- "multimedia-content"
phases:
- "examination"
- "analysis"
- "reporting"
- "Auswertung"
- "Analyse"
- "Bericht & Präsentation"
platforms: ["Windows"]
skillLevel: "advanced"
accessType: "commercial"
url: "https://cognitech.com/"
projectUrl: ""
license: "Proprietary"
tags: ["video", "3d-analysis", "photogrammetry", "measurement"]
tags: ["video", "3d-Analyse", "photogrammetry", "measurement"]
- name: "ExifTool"
description: "Plattformunabhängiges Tool zum Lesen, Schreiben und Bearbeiten von Metadaten in über 200 Dateiformaten"
@@ -323,8 +323,8 @@ tools:
- "storage-file-system"
phases:
- "data-collection"
- "examination"
- "analysis"
- "Auswertung"
- "Analyse"
platforms: ["Windows", "Linux", "macOS"]
skillLevel: "beginner"
accessType: "download"
@@ -338,8 +338,8 @@ tools:
domains:
- "multimedia-content"
phases:
- "examination"
- "analysis"
- "Auswertung"
- "Analyse"
platforms: ["Windows"]
skillLevel: "advanced"
accessType: "commercial"
@@ -356,16 +356,16 @@ tools:
- "storage-file-system"
phases:
- "data-collection"
- "examination"
- "analysis"
- "reporting"
- "Auswertung"
- "Analyse"
- "Bericht & Präsentation"
platforms: ["Windows"]
skillLevel: "intermediate"
accessType: "commercial"
url: "https://www.caseware.com/us/products/idea/"
projectUrl: ""
license: "Proprietary"
tags: ["audit", "compliance", "data-analysis", "automation"]
tags: ["audit", "compliance", "data-Analyse", "automation"]
- name: "Chainalysis"
description: "Blockchain-Intelligence-Plattform für Kryptowährungs-Ermittlungen und Geldflussanalyse über verschiedene Chains"
@@ -374,9 +374,9 @@ tools:
- "network-communication"
phases:
- "data-collection"
- "examination"
- "analysis"
- "reporting"
- "Auswertung"
- "Analyse"
- "Bericht & Präsentation"
platforms: ["Web"]
skillLevel: "advanced"
accessType: "commercial"
@@ -390,25 +390,25 @@ tools:
domains:
- "transaction-financial"
phases:
- "examination"
- "analysis"
- "reporting"
- "Auswertung"
- "Analyse"
- "Bericht & Präsentation"
platforms: ["Web"]
skillLevel: "intermediate"
accessType: "commercial"
url: "https://fraudfindr.com/"
projectUrl: ""
license: "Proprietary"
tags: ["fraud-detection", "transaction", "reporting", "automation"]
tags: ["fraud-detection", "transaction", "Bericht & Präsentation", "automation"]
- name: "Valid8 Financial"
description: "Verifizierte Financial-Intelligence-Plattform für Transaktions-Tracing und forensische Buchhaltungsanalyse"
domains:
- "transaction-financial"
phases:
- "examination"
- "analysis"
- "reporting"
- "Auswertung"
- "Analyse"
- "Bericht & Präsentation"
platforms: ["Web"]
skillLevel: "intermediate"
accessType: "commercial"
@@ -424,7 +424,7 @@ tools:
- "storage-file-system"
phases:
- "data-collection"
- "analysis"
- "Analyse"
platforms: ["Web"]
skillLevel: "beginner"
accessType: "commercial"
@@ -433,7 +433,7 @@ tools:
license: "Proprietary"
tags: ["ocr", "bank-statements", "extraction", "ai"]
# Visualization and Analysis Tools
# Visualization and Analyse Tools
- name: "Neo4j"
description: "Graph-Datenbank für Visualisierung komplexer Beziehungen und Netzwerkanalyse in forensischen Untersuchungen"
domains:
@@ -441,8 +441,8 @@ tools:
- "application-code"
- "transaction-financial"
phases:
- "analysis"
- "reporting"
- "Analyse"
- "Bericht & Präsentation"
platforms: ["Web", "Windows", "Linux", "macOS"]
skillLevel: "intermediate"
accessType: "self-hosted"
@@ -501,12 +501,12 @@ domains:
# Phase definitions for reference
phases:
- id: "data-collection"
name: "Data Collection"
- id: "examination"
name: "Examination"
- id: "analysis"
name: "Analysis"
- id: "reporting"
name: "Reporting"
name: "Datensammlung"
- id: "Auswertung"
name: "Auswertung"
- id: "Analyse"
name: "Analyse"
- id: "Bericht & Präsentation"
name: "Bericht & Präsentation"
- id: "collaboration"
name: "General Tools for Collaboration"
name: "Übergreifend & Kollaboration"

View File

@@ -20,10 +20,10 @@ import BaseLayout from '../layouts/BaseLayout.astro';
<h2>DFIR Methodology</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit:</p>
<ul style="margin-left: 1.5rem; margin-bottom: 1rem;">
<li><strong>Data Collection:</strong> Lorem ipsum dolor sit amet</li>
<li><strong>Examination:</strong> Consectetur adipiscing elit</li>
<li><strong>Analysis:</strong> Sed do eiusmod tempor incididunt</li>
<li><strong>Reporting:</strong> Ut labore et dolore magna aliqua</li>
<li><strong>Datensammlung:</strong> Lorem ipsum dolor sit amet</li>
<li><strong>Auswertung:</strong> Consectetur adipiscing elit</li>
<li><strong>Analyse:</strong> Sed do eiusmod tempor incididunt</li>
<li><strong>Bericht & Präsentation:</strong> Ut labore et dolore magna aliqua</li>
</ul>
</div>

View File

@@ -14,17 +14,51 @@ const data = load(yamlContent) as any;
const tools = data.tools;
---
<BaseLayout title="Home">
<!-- Hero Section -->
<section style="text-align: center; padding: 3rem 0; border-bottom: 1px solid var(--color-border);">
<h1 style="margin-bottom: 1rem;">DFIR Tools Hub</h1>
<p class="text-muted" style="font-size: 1.125rem; max-width: 800px; margin: 0 auto;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.
<BaseLayout title="~/">
<!-- Hero Section -->
<section style="text-align: center; padding: 3rem 0; border-bottom: 1px solid var(--color-border);">
<h1 style="margin-bottom: 1.5rem;">CC24 Incident Response Framework</h1>
<div style="max-width: 900px; margin: 0 auto;">
<p style="font-size: 1.25rem; margin-bottom: 1.5rem; color: var(--color-text);">
<strong>Das richtige Werkzeug zur richtigen Zeit</strong> in der digitalen Forensik entscheidet oft die Wahl des passenden Tools über Erfolg oder Misserfolg einer Untersuchung.
</p>
</section>
<p class="text-muted" style="font-size: 1.125rem; margin-bottom: 1.5rem; line-height: 1.7;">
Unser kuratiertes Verzeichnis bietet euch eine strukturierte Übersicht über bewährte DFIR-Tools,
kategorisiert nach forensischen Domänen und Untersuchungsphasen nach Kent, Chevalier, Grance & Dang.
</p>
<p class="text-muted" style="font-size: 1rem; margin-bottom: 2rem; line-height: 1.6;">
<span style="color: var(--color-primary); font-weight: 500;">Besonders praktisch:</span>
Viele Plattformen sind über das Single-Sign-On der CC24-Cloud direkt zugänglich.
Teilnehmer der Seminargruppe CC24-w1 können die gehostete Infrastruktur
kostenfrei für ihre Projekte nutzen.
</p>
<div style="display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap;">
<a href="/about" class="btn btn-primary" style="padding: 0.75rem 1.5rem;">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="margin-right: 0.5rem;">
<circle cx="12" cy="12" r="10"></circle>
<path d="M12 16v-4"></path>
<path d="M12 8h.01"></path>
</svg>
SSO & Zugang erfahren
</a>
<a href="#filters-section" class="btn btn-secondary" style="padding: 0.75rem 1.5rem;">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="margin-right: 0.5rem;">
<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path>
<polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline>
<line x1="12" y1="22.08" x2="12" y2="12"></line>
</svg>
Tools entdecken
</a>
</div>
</div>
</section>
<!-- Filters Section -->
<section style="padding: 2rem 0;">
<section id="filters-section" style="padding: 2rem 0;">
<ToolFilters />
</section>

View File

@@ -135,7 +135,7 @@ nav {
.nav-links {
display: flex;
align-items: center;
gap: 2rem;
gap: 5rem;
list-style: none;
}
@@ -143,6 +143,7 @@ nav {
color: var(--color-text);
font-weight: 500;
transition: color 0.2s ease;
font-size: 1.2rem;
}
.nav-link:hover {