Add complete Crumbforest mission system
- Interactive mission selector with metadata-driven design - 5 educational missions (basics + advanced) - AI assistant roles (Deepbit, Bugsy, Schnippsi, Tobi) - SnakeCam gesture recognition system - Token tracking utilities - CLAUDE.md documentation - .gitignore for logs and secrets
This commit is contained in:
11
missions/advanced/dns_mission.meta.json
Executable file
11
missions/advanced/dns_mission.meta.json
Executable file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"icon": "🌐",
|
||||
"title": "DNS Deep Dive",
|
||||
"description": "Verstehe DNS und lerne dig, nslookup, host",
|
||||
"category": "advanced",
|
||||
"difficulty": "intermediate",
|
||||
"duration_minutes": 15,
|
||||
"enabled": true,
|
||||
"author": "Crumbforest Team",
|
||||
"version": "2.0"
|
||||
}
|
||||
59
missions/advanced/dns_mission.sh
Executable file
59
missions/advanced/dns_mission.sh
Executable file
@@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 🌐 DNS Deep Dive
|
||||
# Lehrt: DNS-Tools (dig, nslookup, host)
|
||||
|
||||
cat << 'EOF'
|
||||
|
||||
🌐 DNS Deep Dive Mission
|
||||
|
||||
Lass uns die unsichtbaren Pfade des Internets erkunden!
|
||||
DNS (Domain Name System) übersetzt Namen wie "google.com" in IP-Adressen.
|
||||
|
||||
EOF
|
||||
|
||||
echo "🔍 Tool-Check:"
|
||||
for tool in dig nslookup host; do
|
||||
if command -v "$tool" &>/dev/null; then
|
||||
echo " ✅ $tool gefunden"
|
||||
else
|
||||
echo " ❌ $tool nicht installiert"
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "🎓 Aufgabe 1: Finde die IP-Adresse von google.com"
|
||||
echo " Befehl: dig google.com +short"
|
||||
echo ""
|
||||
read -p "Drücke Enter zum Ausführen..." -r
|
||||
dig google.com +short 2>/dev/null || echo "⚠️ dig nicht verfügbar, nutze 'nslookup google.com'"
|
||||
|
||||
echo ""
|
||||
echo "🎓 Aufgabe 2: Zeige DNS-Records im Detail"
|
||||
echo " Befehl: dig google.com"
|
||||
echo ""
|
||||
read -p "Drücke Enter zum Ausführen..." -r
|
||||
dig google.com 2>/dev/null | head -n 30 || nslookup google.com
|
||||
|
||||
echo ""
|
||||
echo "🎓 Aufgabe 3: Reverse DNS Lookup (IP → Name)"
|
||||
echo " Befehl: host 8.8.8.8"
|
||||
echo ""
|
||||
read -p "Drücke Enter zum Ausführen..." -r
|
||||
host 8.8.8.8 2>/dev/null || nslookup 8.8.8.8
|
||||
|
||||
echo ""
|
||||
echo "🎓 Aufgabe 4: MX-Records (Mail-Server) finden"
|
||||
echo " Befehl: dig google.com MX +short"
|
||||
echo ""
|
||||
read -p "Drücke Enter zum Ausführen..." -r
|
||||
dig google.com MX +short 2>/dev/null || echo "⚠️ Nutze: nslookup -query=MX google.com"
|
||||
|
||||
echo ""
|
||||
echo "💡 Weitere DNS-Befehle:"
|
||||
echo " - dig example.com ANY (alle Records)"
|
||||
echo " - dig @8.8.8.8 example.com (nutze Google DNS Server)"
|
||||
echo " - whois example.com (Domain-Informationen)"
|
||||
echo ""
|
||||
|
||||
echo "✅ Mission abgeschlossen! Du bist jetzt ein DNS-Detektiv! 🌐"
|
||||
11
missions/advanced/ssh_security.meta.json
Executable file
11
missions/advanced/ssh_security.meta.json
Executable file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"icon": "🔐",
|
||||
"title": "SSH Security Basics",
|
||||
"description": "Lerne sichere SSH-Verbindungen und Key-Management",
|
||||
"category": "advanced",
|
||||
"difficulty": "intermediate",
|
||||
"duration_minutes": 12,
|
||||
"enabled": true,
|
||||
"author": "Crumbforest Team",
|
||||
"version": "2.0"
|
||||
}
|
||||
72
missions/advanced/ssh_security.sh
Executable file
72
missions/advanced/ssh_security.sh
Executable file
@@ -0,0 +1,72 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 🔐 SSH Security Basics
|
||||
# Lehrt: SSH-Verbindungen, Keys, Agent
|
||||
|
||||
cat << 'EOF'
|
||||
|
||||
🔐 SSH Security Basics
|
||||
|
||||
Lass uns sichere Verbindungen zu anderen Maschinen aufbauen!
|
||||
SSH (Secure Shell) ist DAS Tool für Remote-Administration.
|
||||
|
||||
EOF
|
||||
|
||||
echo "🎓 Lektion 1: SSH Key-Paare verstehen"
|
||||
echo ""
|
||||
echo "Ein SSH-Key besteht aus zwei Teilen:"
|
||||
echo " 🔑 Private Key (geheim, nur bei dir!)"
|
||||
echo " 🗝️ Public Key (darf geteilt werden)"
|
||||
echo ""
|
||||
|
||||
echo "📂 Typische SSH-Struktur:"
|
||||
ls -lh ~/.ssh/ 2>/dev/null || echo "⚠️ Noch kein ~/.ssh/ Verzeichnis vorhanden"
|
||||
echo ""
|
||||
|
||||
echo "🎓 Lektion 2: SSH-Agent prüfen"
|
||||
echo ""
|
||||
echo "Der SSH-Agent verwaltet deine Keys im Speicher."
|
||||
echo " Befehl: ssh-add -l"
|
||||
echo ""
|
||||
read -p "Drücke Enter zum Ausführen..." -r
|
||||
ssh-add -l 2>/dev/null || echo "⚠️ Kein SSH-Agent läuft oder keine Keys geladen"
|
||||
|
||||
echo ""
|
||||
echo "🎓 Lektion 3: Neue SSH-Verbindung (Simulation)"
|
||||
echo ""
|
||||
echo "Syntax: ssh user@hostname"
|
||||
echo "Beispiel: ssh pi@raspberrypi.local"
|
||||
echo ""
|
||||
echo "💡 Nützliche SSH-Optionen:"
|
||||
echo " - ssh -v user@host (verbose, zeigt Debug-Info)"
|
||||
echo " - ssh -p 2222 user@host (non-standard Port)"
|
||||
echo " - ssh -i key.pem user@host (nutze spezifischen Key)"
|
||||
echo ""
|
||||
|
||||
echo "🎓 Lektion 4: SSH Config verstehen"
|
||||
echo ""
|
||||
if [[ -f ~/.ssh/config ]]; then
|
||||
echo "✅ Du hast eine SSH-Config:"
|
||||
head -n 10 ~/.ssh/config 2>/dev/null
|
||||
else
|
||||
echo "⚠️ Keine ~/.ssh/config vorhanden"
|
||||
echo ""
|
||||
echo "Beispiel-Config:"
|
||||
cat << 'CONFIGEOF'
|
||||
Host raspi
|
||||
HostName raspberrypi.local
|
||||
User pi
|
||||
Port 22
|
||||
IdentityFile ~/.ssh/raspi_key
|
||||
CONFIGEOF
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "💡 Wichtige Sicherheits-Tipps:"
|
||||
echo " 1. Nutze SSH-Keys statt Passwörter"
|
||||
echo " 2. Schütze deinen Private Key (chmod 600)"
|
||||
echo " 3. Aktiviere SSH-Agent-Forwarding nur wenn nötig"
|
||||
echo " 4. Überprüfe Fingerprints bei neuen Hosts"
|
||||
echo ""
|
||||
|
||||
echo "✅ Mission abgeschlossen! Du bist jetzt SSH-sicherer! 🔐"
|
||||
Reference in New Issue
Block a user