Labtainers: Ein Docker-basiertes Cyber-Lab-Framework
Labtainers: Ein Docker-basiertes Cyber-Lab-Framework ============================================== Labtainers umfassen mehr als 50 Cyber-Lab-Übungen und Werkzeuge, um eigene zu erstellen. Importieren Sie eine einzelne [VM-Appliance][vm-appliance] oder installieren Sie auf einem Linux-System, und Ihre Studierenden sind mit der Bereitstellung und administrativen Einrichtung für diese und zukünftige Lab-Übungen fertig. * Konsistente Lab-Ausführungsumgebungen und automatisierte Bereitstellung über Docker-Container * Mehrkomponenten-Netzwerktopologien auf einem bescheiden ausgestatteten Laptop * Automatisierte Bewertung der studentischen Lab-Aktivitäten und des Fortschritts * Individualisierte Lab-Übungen, um das Teilen von Lösungen zu erschweren Labtainers bieten kontrollierte und konsistente Ausführungsumgebungen, in denen Studierende Labs vollständig innerhalb der Grenzen ihres Computers durchführen, unabhängig von der Linux-Distribution und den auf dem Computer der Studierenden installierten Paketen. Labtainers laufen auf unserer [VM-Appliance][vm-appliancee] oder auf jedem Linux mit installiertem Docker. Und Labtainers ist als cloudbasierte VMs verfügbar, z. B. auf Azure, wie im [Student Guide][student-guide] beschrieben. Siehe den [Student Guide][student-guide] für Installation und Nutzung sowie den [Instructor Guide][instructor-guide] für die Bewertung von Studierenden. Die Entwicklung und Anpassung von Lab-Übungen wird im [Designer Guide][designer-guide] beschrieben. Siehe die [Papers][Papers] für weitere Informationen über das Framework. Die Labtainers-Website und Downloads (einschließlich VM-Appliances mit vorinstallierten Labtainers) finden Sie unter <https://nps.edu/web/c3o/labtainers>. [vm-appliance]: https://nps.edu/web/c3o/virtual-machine-images [student-guide]: https://raw.githubusercontent.com/mfthomps/labtainers/master/docs/student/labtainer-student.pdf [instructor-guide]: https://raw.githubusercontent.com/mfthomps/labtainers/master/docs/instructor/labtainer-instructor.pdf [designer-guide]: https://raw.githubusercontent.com/mfthomps/labtainers/master/docs/labdesigner/labdesigner.pdf [Papers]: https://nps.edu/web/c3o/labtainers#papers Distribution created: 09/11/2026 11:33 </br> Revision: v1.4.4n </br> Commit: 9f1012dc </br> Branch: master </br> ## Inhalt [Verteilung und Nutzung](#distribution-and-use) [Leitfaden zu den Verzeichnissen](#guide-to-directories) [Support](#support) [Versionshinweise](#release-notes) ## Verteilung und Nutzung Bitte beachten Sie die Lizenzierungs- und Vertriebsinformationen in der [docs/license.md-Datei](https://github.com/mfthomps/labtainers/blob/master/docs/license.md). ## Leitfaden zu den Verzeichnissen * scripts/labtainers-student -- das Arbeitsverzeichnis zum Ausführen und Testen von Studierenden-Labs. Sie müssen sich in diesem Verzeichnis befinden, um Studierenden-Labs auszuführen. * scripts/labtainers-instructor -- das Arbeitsverzeichnis zum Ausführen und Testen automatisierter Bewertungen und zum Anzeigen von Studierenden- ergebnissen. * labs -- Dateien, die für jedes der Labs spezifisch sind * setup\_scripts -- Skripte zum Installieren von Labtainers und Docker sowie zum Aktualisieren von Labtainers * docs -- LaTeX-Quelle für labdesigner.pdf und weitere Dokumentation. * UI -- Quellcode des Labtainers-Lab-Editors (Java). * headless-lite -- Skripte zur Verwaltung von Docker Workstation und Cloud-Instanzen von Labtainers (Systeme, die keine nativen X11-Server haben.) * scripts/designer -- Werkzeuge zum Erstellen neuer Labs und zur Verwaltung von Basis-Docker-Images. * config -- systemweite Konfigurationseinstellungen (dies sind nicht die lab-spezifischen Konfigurationseinstellungen. * distrib -- Skripte zur Unterstützung der Distribution, z. B. zum Veröffentlichen von Labs im Docker Hub. * testsets -- Testverfahren und erwartete Ergebnisse. (Pro-Lab-Treiber für SimLab werden nicht verteilt). * pkg-mirrors -- Hilfsskripte für internes NPS-Paket-Mirroring, um das externe Abrufen von Paketen während Tests und Distribution zu reduzieren. ## Support Verwenden Sie die GitHub-Issue-Berichte oder schreiben Sie mir an [email protected] Siehe auch <https://my.nps.edu/web/c3o/support1> ## Versionshinweise Die Standard-Labtainers-Distribution enthält keine Dateien, die für die Entwicklung neuer Labs erforderlich sind. Führen Sie für diese ./update-designer.sh aus dem Verzeichnis labtainer/trunk/setup\_scripts aus. Das Installationsskript und das Skript update-designer.sh setzen Umgebungsvariablen, daher sollten Sie sich möglicherweise ab- und wieder anmelden oder eine neue Bash-Shell starten, bevor Sie Labtainers zum ersten Mal verwenden. 6. Januar 2026 - Fehler behoben, der durch Einrückungen in das Installationsskript eingeführt wurde. 30. Dezember 2025 - Format des checkwork-Berichts auf vertikal geändert; Videoanleitung für Headless; praktische Pfade 15. Oktober 2025 - Das Lab packet-introspection überarbeitet, um den Link für die MaxMind-Geolokalisierungsdatenbank zu aktualisieren und die Verwendung der Legacy-Datenbank zu vermerken. 24. April 2025 - imodule korrigiert, um fehlende Verzeichnisse gemäß Pull Request #96 ordnungsgemäß zu erstellen 22. November 2024 - Google-Cloud-VM ersetzt, diesmal aufgrund eines Ausfalls von systemd innerhalb von Containern. 23. September 2024 - Google-Cloud-VM ersetzt, die die falsche Docker-Version verwendete 10. September 2024 - Tippfehler bei der Erstellung des imodule-Pfads 26. Juli 2024 - capinout so geändert, dass es nicht die grantpt-clib-Funktion verwendet, die anscheinend jetzt abstürzt, wenn sie aus einem Container heraus ausgeführt wird. 22. Juli 2024 - Einen Basis-Container für Ubuntu22 und Änderungen am Framework hinzugefügt, um diesen zu unterstützen. 5. Juli 2024 - Migration auf Ubuntu 24 als VM-Appliance - Das Docker-Python-Paket verwendet eine defekte Python-HTTP-Bibliothek und erfordert ein Paket-Downgrade. - Virtuelle Python-Umgebung verwenden, um die Sperrung von Python-Paketen durch Ubuntu zu umgehen. - Boot-Parameter hinzugefügt, um die gemeinsame Nutzung von systemd zwischen Containern und der VM zu ermöglichen. - Fehlermeldungen des defekten tar-Dienstprogramms bei Updates umgeleitet. - Ubuntu-Update-Beschädigung für msc-Pakete (siehe update-ubuntu.sh) für Version-18-VMs - Der Befehl docker-compose ist defekt, verwenden Sie "docker compose" - Socket-Berechtigungen in Headless-Labtainers erzwingen. - Headless-Labtainers auf Ubuntu 24 aktualisiert 27. November 2023 - Google-Cloud-Platform-Option für ubuntu22 auf EC2-Maschine hinzugefügt. 18. September 2023 - Die vorherige Fehlerbehebungsimplementierung war fehlerhaft. 8. August 2023 - Änderung des DockerHub-Image-JSON-Formats behandelt. Danke Kees! 17. April 2023 - Erzwingen, dass die neueste Lab-Version verwendet wird, z. B. iptables2 statt iptables. Tab-Vervollständigung korrigiert, sodass nur die neueste angezeigt wird. (Issue #77) - Die Installation des CyberCIEGE-Labs schlug aufgrund einer X11-Race-Condition fehl. (Issue #76) - Hinweis in der CyberCIEGE-Readme, um Studierende anzuweisen, gesammelte Logs im $HOME-Verzeichnis zu speichern. (Issue #75) - Die Radius-Lab-checkwork meldete fälschlicherweise "radiusd not running", fehlendes prestop-Skript. (Issue #74) - Labedit beschädigte die Startkonfigurationsdatei, wenn die Option MACVLAN\_EXT verwendet wurde. (Issue #73) 1. Februar 2023 - Die Bash-Historie für Nicht-Standardbenutzer wurde nicht gespeichert. 26. Januar 2023 - PowerShell-Skripte für gcloud geändert, um die ausgewählte Zone zur Qualifizierung von VM-Namen zu verwenden. 4. Januar 2023 - Container, die systemd verwendeten, schlugen bei neuerem systemd in Ubuntu 22 fehl - Parameter --zone zu den Google-Cloud-Skripten hinzugefügt, mit einem Wert, der aus dem set\_defaults-Skript abgeleitet wird. 21. Dezember 2022 - Die Kriterien für xforge-Ergebnisse korrigiert, sodass kein Pfadname erwartet wird, und eine Prüfung hinzugefügt, ob POST zum Bearbeiten des Profils ausgegeben wurde. Und den Angreifer- HTTP-Server so korrigiert, dass er aus dem Home-Verzeichnis läuft. 19. Dezember 2022 - strace-Lab hinzugefügt, um Systemaufruf-Tracing einzuführen. - Der X11-DISPLAY-Wert war falsch, wenn mehrere Geräte im Verzeichnis /tmp/.X11-unix vorhanden waren. - Die Verwendung von python/bash/sh/etc. ohne Argumente führte zum Absturz von capinout. 9. Dezember 2022 - Das Azure-VM-Erstellungsskript so geändert, dass ein vorgefertigtes Labtainer-VM-Image aus der Azure Community Gallery verwendet wird. - Terminals auf Cloud-VMs stürzen aus unbekannten Gründen während des Starts oder beim Rechtsklick auf das Terminal ab. Versuch, dies durch Starten/Stoppen eines Terminals zu beheben. 5. Dezember 2022 - Beim Sammeln von Artefakten geänderte Dateien aus Verzeichnissen von Nicht-Standardbenutzern einbeziehen, z. B. deren Bash-Historien. - Die Web-Bewertung so ändern, dass die neuen Dateien "anderer Benutzer" angezeigt werden. - Dateien aus .local/bin in jedem Container in Artefakte einbeziehen. Beabsichtigt, diese dem Dozenten über die Web-Bewertung verfügbar zu machen. - Im ACL-Lab die Datei /shared\_data/bob/fun in die Ergebnisse aufnehmen, damit der Dozent sie einsehen kann. - Die Verwendung von "sh" oder "bash" von der Kommandozeile abfangen und beim Parsen für einen gegebenen Befehl überspringen, z. B. wie bei "time" oder "sudo". - Im tcpip-Lab konnte während nachfolgender Lab-Sitzungen kein SSH auf den Server erfolgen, das Verzeichnis /run/sshd wurde nicht neu erstellt. 16. November 2022 - Pfad zum Snort-Handbuch im snort-Lab korrigiert. - Im ossec-Handbuch den Pfad zu manage\_agents korrigiert 12. Oktober 2022 - Google Cloud: Hintergrundoperator aus dem gnome-terminal-Befehl entfernt; stürzt beim Rechtsklick weiterhin ab, scheint aber nach dem Ausführen eines newterm.sh stabil zu sein. 10. Oktober 2022 - Google Cloud newterm.sh korrigiert; die Boot-Disk auf 30G erweitert. 20. September 2022 - Benutzer-ID und Passwort für das TCP/IP-Lab im Lab-Handbuch vermerkt. 30. August 2022 - Den X11-Socket-Namen beim Setzen von DISPLAY aus der .profile eines Containers verwenden 9. August 2022 - Den Namen der Funktion processValueMax im Grader korrigiert. Issue #63 4. August 2022 - Das Programm labedit wurde mit dem falschen JDK neu gebaut, wodurch ältere JREs daran gehindert wurden, labedit auszuführen 18. Juli 2022 - Die Erstellung von Containern auf Ubuntu20-Basis schlug innerhalb von IModules fehl. Issue #61. 23. März 2022 - Pfad zum tap-lock-Verzeichnis korrigiert; verursachte das Scheitern von Labs, die Netzwerk-Taps verwenden - Den plc-traffic-netmon-Computer so aktualisiert, dass er openjfx hat, das für das neue grassmarlin in der Java-Umgebung benötigt wird - Den Lab-Start beschleunigt, indem chown -R vermieden wird, was in Docker sehr langsam ist. - Ein weiterer Versuch, die Löschung des X11-Links im /tmp-Verzeichnis des Containers zu vermeiden. - Die webtrack-Zählung der besuchten Seiten korrigiert und das live-headers-Ziel entfernt, da dieses Tool nicht mehr verfügbar ist. Einige Schritte im Lab-Handbuch klargestellt. 2. März 2022 - Neues ssh-tunnel-Lab hinzugefügt (danke GWD!) - labedit-Fehler behoben, den von new\_lab\_setup gesetzten X11-Wert widerzuspiegeln - Option hinzugefügt, einen Container nicht zu parametrisieren 23. Februar 2022 - labedit beschädigte start.config nach dem Hinzufügen neuer Container - Falscher Pfad zum Student Guide in der studentischen README-Datei; für Cloud-Konfigurationen dynamisch ändern - Falsche Erweiterung für update-labtainer.sh - Verbesserungen am Msc-Handbuch - Das ghidra-Lab aktualisiert, um Version 10.1.2 von Ghidra einzubeziehen 15. Februar 2022 - Azure-Cloud-Unterstützung darauf zurückgesetzt, für jeden Studierenden bereitzustellen. Azure rät von der gemeinsamen Nutzung von Ressourcen ab. 24. Januar 2022 - Azure Cloud verwendet jetzt ein in einem Azure-Blob gespeichertes Image, anstatt für jeden Studierenden bereitzustellen. - Unterstützung für Google Cloud hinzugefügt. 19. Januar 2022 - Labtainers in der Azure-Cloud eingeführt. Einzelheiten zur Verwendung finden Sie im Student Guide. 3. Januar 2022 - Das setuid-env-Lab überarbeitet, um eine bessere Bewertung hinzuzufügen; SimLab-Tests und Vermeidung von SIGHUP im printenv-Kindprozess. - Die Direktive zur Zählung der Bewertungsziele korrigiert, um Ergebnis-Tag-Werte von false auszuschließen. - labname nicht erforderlich machen, wenn gradelab -a mit einem mit der Debug-Option gestarteten Grader verwendet wird. - capinout (stdin/stdout-Spiegelung) überarbeitet, um die Verwaisung von Kindprozessen des Befehls zu behandeln, verbesserte Dokumentation und Fehlerbehandlung. - Anzeige von Fortschrittsbalken für Docker-Images hinzugefügt, die beim ersten Ausführen eines Labs gezogen werden. - Benutzerfeedback zum Fortschritt der Container-Initialisierung. - Im pcap-lib-Lab fehlte eine notify-Datei, die für die automatisierte Bewertung benötigt wird; überflüssigen Schritt aus dem Lab-Handbuch entfernt. 23. November 2021 - Ubuntu-Popup-Fehler auf der Test-VM deaktiviert. - Behandlung unterschiedlicher DISPLAY-Variablenformate korrigiert. 22. Oktober 2021 - Den tcpip-Lab-Leitfaden überarbeitet, um zu vermerken, dass ein erfolgreicher SYN-Flood-Angriff nicht möglich ist. Die automatisierte Bewertung korrigiert und SimLab-Skripte hinzugefügt. - Die Dateiendung von Artefakten von zip auf lab geändert und eine Präambel hinzugefügt, um GUI-Dateimanager zu verwirren. Studierende öffneten die Zip-Datei und reichten deren Inhalt ein. - Die Option -r für gradelab zur Standardeinstellung gemacht, eine Option -c für die kumulative Nutzung des Graders hinzugefügt. - refresh\_mirror so geändert, dass es auf das lokale Release-Datum verweist, um häufige Abfragen von DockerHub zu vermeiden. Jede solche Abfrage zählt als Image-Pull, und sie versuchen nun, diese zu monetarisieren. 30. September 2021 - Den bufoverflow-Lab-Leitfaden und die Bewertung so geändert, dass kein Erfolg bei aktiviertem ASLR erwartet wird, und bewertet, ob es ausgeführt wurde. - Fehlerbehandlung für den Web-Grader für Fälle, in denen Studierenden Ergebnisse fehlen. - Warnung ausgeben, wenn ein veraltetes Lab ausgeführt wird. - Die formatstring-Bewertung so geändert, dass die ungenutzte Beschreibung "\_leaked\_secret" entfernt und der Wert von leaked\_no\_scanf klargestellt wird. - Die formatstring-Bewertung außerdem so geändert, dass jeder Name für die verwundbare ausführbare Datei zulässig ist. 29. September 2021 - Fehlerbehandlung von Gradelab, Vorkommen von Abstürzen aufgrund fehlerhafter Zip-Dateien reduziert. - stdout-Artefaktdateien auf 1MB begrenzt 17. September 2021 - Der Ghidra-Lab-Leitfaden hatte eine falsche IP-Adresse und wurde nicht aus der Quelle neu erstellt. 14. September 2021 - Beispiellabs für LDAP und Mariadb mit SSL. Gedacht als Vorlagen für neue Labs. - Mariadb-Logformat behandelt - Parameter pro Container hinzugefügt, um die CPU-Nutzung zu begrenzen oder einen Container an ein CPU-Set zu binden. - Labpack-Erstellung jetzt über eine GUI verfügbar (makepackui). - Tab-Vervollständigung für die Befehle labtainer, labpack und gradelab. - Neues Parallel-Computing-Lab ``parallel'' mit MPI. 3. August 2021 - Eine Konfigurationsoption "WAIT\_FOR" hinzugefügt, um einen Container zu veranlassen, die Parametrisierung zu verzögern, bis ein anderer Container seine Parametrisierung abgeschlossen hat. - Unterstützung für Mariadb-Logformate beim Parsen von Ergebnissen - Unterstützung für die Nutzung von Docker Desktop unter Mac und Windows entfernt. Dieses Produkt ist zu instabil, als dass wir es unterstützen könnten. - stderr-Meldungen unterdrücken, wenn der Benutzer integrierte Bash-Befehle wie "which" verwendet. - Fehlerbehebungen an den Programmen makepack/labpack. 19. Juli 2021 - Ein DNS-Lab hinzugefügt, um das DNS-Protokoll und die Konfiguration einzuführen. - Das VirtualBox-Appliance-Image überarbeitet, um mit dem richtigen Update-Skript zu starten. - Den resolv.conf-Nameserver-Parameter aus dem Konfigurationsfeld lab\_gw in einen eigenen Wert aufgeteilt. - Der IModule-Befehl schlug fehl, wenn er ausgeführt wurde, bevor irgendein Lab gestartet worden war. 5. Juli 2021 - Fehler in der Verwaltung der DISPLAY-Umgebungsvariable brachen GUI-Anwendungen auf Docker Desktop. 1. Juli 2021 - Unterstützung der Mac-Paketinstallation von Headless-Labtainers. - Die automatisierte Bewertung des routing-basics-Labs schlug aufgrund fehlender treataslocal-Dateien fehl - Tippfehler und falsche Adressen im routing-basics-Lab korrigiert und die automatisierte Bewertung repariert. - Die Bewertung von pcapanalysis schlug fehl. 10. Juni 2021 - Alle Lab-Handbuch-PDFs sind jetzt im GitHub-Repo - Die Anleitungen für vpnlab und vpnlab2 in PDF-Lab-Handbücher umgewandelt. 25. Mai 2021 - Durchsuchbare Schlüsselwörter zu jedem Lab hinzugefügt. Siehe "labtainer -h" für die Verwendung. - Das routing-basics-Lab und das Lab-Handbuch erweitert - Das routing-basics2-Lab entfernt, es ist jetzt redundant. - sudo schlug auf einigen Containern fehl, weil Hostnamen Unterstriche entfernen, was zu einer Nichtübereinstimmung mit der hosts-Datei führte. Behoben durch einen zusätzlichen Eintrag in der hosts-Datei mit dem Containernamen ohne Unterstrich. - Neue Labpack-Funktion zum Paketieren einer Sammlung von Labs und das makepack-Tool zum Erstellen von Labpacks. - Fehlerprüfung für das Verzeichnis /sbin bei Verwendung von ubuntu20 -- wäre stillschweigend fatal gewesen. - Neues network-basics-Lab 5. Mai 2021 - Ein neues users-Lab eingeführt, um Benutzer-/Gruppenverwaltung einzuführen - Apparmor-Host-Meldungen in den Syslogs von CentOS-Containern unterdrückt 28. April 2021 - Den neuen base2-Images fehlten Manpages. Unminimize verwendet, um sie im Basis-Image wiederherzustellen. - Ein OSSEC-Host-basiertes IDS-Lab eingeführt. 13. April 2021 - Das CyberCIEGE-Lab schlug fehl, weil der X11-Socket nicht vor dem Start von Wine über fixlocal verschoben wurde. 9. April 2021 - Neues gdb-cpp-Tutorial-Lab zur Verwendung von GDB mit einem einfachen C++-Programm. - Gleitkomma-Ausnahmen verrieten die Verwendung von exec\_wrap.sh für die stdin/stdout-Spiegelung. 7. April 2021 - Das ldap-Lab schlug fehl, als es auf Ubuntu 20 verschoben wurde. Das Problem wurde auf ein Problem mit dem nscd-Cache von pwd zurückgeführt. ldap auf Ubuntu 20 verschoben 23. März 2021 - Die Parametrisierung mit RANDOM enthielt nicht die Obergrenze. - Optionalen Schrittparameter zu RANDOM hinzugefügt, z. B. um Wortgrenzen sicherzustellen. - db-access-Lab: mysql-workbench zum Datenbankcomputer hinzugefügt. - Neues overrun-Lab, um Speicherreferenzen jenseits der Grenzen von C-Datenstrukturen zu veranschaulichen. - Neues printf-Lab, um Speicherreferenzen einzuführen, die von der printf-Funktion erzeugt werden. 19. März 2021 - gradelab ignoriert makdirs-Fehler, Problem mit Windows rmtree auf freigegebenen Ordnern. - gradelab behandelt Leerzeichen in Zip-Dateinamen von Studierenden. - gradelab behandelt Zip-Dateinamen von Moodle, einschließlich Build-Downloads. 12. März 2021 - labedit-UI: Altes Wireshark-Image aus der Liste der Basis-Images entfernt. - labedit-UI: Einige Schriftgrößen erhöht. - Die Web-Oberfläche des Graders zeigte Lab-Handbücher nicht an, wenn der Handbuchname nicht den Namenskonventionen folgt. 11. März 2021 - labedit-UI: Registry-Einstellung im neuen globalen Lab-Konfigurationsbereich hinzugefügt. 10. März 2021 - labedit-UI-Fehlerbehebungen, um nicht zu bauen, wenn ein Syntaxfehler im Lab vorliegt - labedit-UI-Anzeige "Lab running" korrigiert, um das aktuelle Lab widerzuspiegeln. 8. März 2021 - Die Verwendung von HOST\_HOME\_XFER als veraltet markiert; alle Labs verwenden ein Verzeichnis gemäß der Datei labtainer.config. - Dokumentationskommentar zu start.config für REGISTRY und BASE\_REGISTRY hinzugefügt 5. März 2021 - Fehlerbehandlung in der Web-Oberfläche von gradelab bei fehlenden Ergebnissen. - labedit-Ergänzung von precheck, msc-Fehlerbehebungen. 26. Februar 2021 - Das dmz-example-Lab hatte Fehler beim Routing und bei der Einrichtung von dnsmasq auf einigen Komponenten. 18. Februar 2021 - Die UI baute Images neu, weil sie Dateizeiten ohne Grund aktualisierte - UI-Code bereinigt, um einige redundante Datenkopien zu entfernen. 14. Februar 2021 - Lokale Build-Option zur UI hinzugefügt - Leeres faux\_init für centos6-Basen erstellt. 11. Februar 2021 - UI-Behandlung beim Bearbeiten von Dateien korrigiert. Layout überarbeitet und ungenutzte Felder entfernt. - ubuntu20-base2-Basiskonfiguration zusammen mit ssh2, network2 und wireshark2 hinzugefügt - Das neue Wireshark löst das Problem der schwarzen/verrauschten Fenster. - /tmp/.X11-unix auf /var/tmp abbilden und einen Link erstellen. Wird für ubuntu20 benötigt (löschte /tmp?) und könnte andere Probleme beheben. 4. Februar 2021 - SIZE-Option zu Ergebnisartefakten hinzugefügt - Die Bewertung und Parametrisierung von wireshark-intro vereinfacht und ein PDF-Lab-Handbuch hinzugefügt. - Parameterlistenwerte für das Skript pregrade.sh als Umgebungsvariablen bereitstellen - X11 im Grader aktivieren - update-designer.sh in den Benutzerpfad aufgenommen. 19. Januar 2021 - Die Verwaltung des README-Datums/der Revision geändert, um die Datei im Quell-Repo zu aktualisieren. - GUI zum Erstellen/Bearbeiten von Labs eingeführt -- siehe Befehl labedit. 21. Dezember 2020 - Die Funktion gradelab schlug fehl, wenn Zip-Dateien aus einem VirtualBox-Freigabeordner kopiert wurden. - Den Instructor Guide aktualisiert, um die Verwaltung von studentischen Zip-Dateien auf Host-Computern zu beschreiben. 4. Dezember 2020 - Die Verteilung von tar auf GitHub-Release-Artefakte umgestellt - Separate Designer-tar-Datei entfernt, Git-Repo-Tarball verwendet. - Testen der Web-Funktionen des Graders zur Analyse studentischer Lab-Artefakte - Logs aus dem vollständigen Smoketest löschen und den Grader-Container im Befehl removelab löschen. 1. Dezember 2020 - Die Bewertung des iptables2-Labs beruhte darauf, dass zufällige Ports für nmap "unbekannt" waren. - Ein Sync-Verzeichnis verwenden, um Smoketests daran zu hindern, vor dem Lab-Start zu beginnen. - Beginn der Integration von UI-Elementen des Lab-Designers. 13. Oktober 2020 - Headless-Konfigurationen für die Ausführung auf Docker Desktop unter Macs und Windows - Headless-Server-Unterstützung, Cloud-Config-Datei für Cloud-Bereitstellungen - Testunterstützung für Headless-Konfigurationen - mynotify zwingen, zu warten, bis rc.local beim Booten ausgeführt wird - Die Fähigkeit des mynotify-Dienstes verbessern, Ausgaben in einem einzigen Zeitstempel zusammenzuführen - Python3 für das stopgrade-Skript - SimLab verwendet jetzt docker top statt system ps 26. September 2020 - Die stoplab-Skripte bereinigt, um Nicht-Lab-Container zu ignorieren - db-access-Lab zur Datenbankzugriffskontrolle für die kontrollierte gemeinsame Nutzung einer MySQL-Datenbank hinzugefügt. 17. September 2020 - Das macs-hash-Lab konnte Leafpad aufgrund der X11-Einstellung nicht ausführen. - Die Grader-Protokollierung wurde in die falsche Logdatei umgeleitet; erfasst jetzt Fehler von instructor.py - instructor.log vom Grader in das Log-Verzeichnis des Hosts kopieren, wenn ein Fehler vorliegt. 28. August 2020 - Das Installationsskript korrigiert, um python3-pip zu verwenden, und defekte Skripte repariert: getinfo.py und pull-all.py - Die Registry-Logik war defekt, Testsysteme verwendeten nicht die Test-Registry, Entwicklungsdokumentation hinzugefügt. - juiceshop- und owasp-Basisdateien für OWASP-basierte Web-Sicherheitslabs hinzugefügt - Unnötige sudos aus check\_nets entfernt - Dokumentationsdirektive CHECK\_OK für die automatisierte Bewertung hinzugefügt - check\_nets so geändert, dass iptables- und Routing-Probleme behoben werden, wenn dies angewiesen wird. 12. August 2020 - Timeout zu prestop-Skripten hinzugefügt - Quiz und checkwork zum dmz-Lab hinzugefügt - Das Neustarten des dmz-Labs ohne die Option -r brach das Routing aus dem ISP. - Mehrere Dateien für time\_delim-Ergebnisse zulassen.6. August 2020 - Fehler bei der Fehlerbehandlung, wenn der X11-Socket fehlt - Kommas in Quizfragen führten zu Parse-Fehlern - Quiz und Checkwork zum iptables2-Lab hinzugefügt 28. Juli 2020 - Quiz-Unterstützung hinzugefügt -- dies sind Orientierungsquizze, keine Bewertungsquizze. Siehe den Designer-Leitfaden. - Aktueller Status-Assessment zur Verwendung mit dem checkwork-Befehl hinzugefügt. 21. Juli 2020 - testsets/bin zum Designer-Pfad hinzugefügt - Korrekturen und Erläuterungen im Designer-Leitfaden für IModule-Schritte. - RANGE\_REGEX-Ergebnistyp zur Definition von Zeitbereichen mithilfe regulärer Ausdrücke auf Log-Einträge hinzugefügt. - Prüfen, ob der X11-Socket vorhanden ist, falls er beim Starten eines Labs benötigt wird. - Basis-Image für mysql hinzugefügt - Umgang mit mysql-Log-Zeitstempelformaten bei der Ergebnisanalyse. 15. Juni 2020 - Neues Basis-Image mit dem Open-Source-Router Bird - bird-bgp Border Gateway Protocol-Lab hinzugefügt. - bird-ospf Open Shortest Path First-Routing-Protokoll hinzugefügt. - Verbesserte Behandlung von DNS-Änderungen, externer Zugriff von einigen Containern war an manchen Standorten blockiert. - Abschnitt zum Instructor-Leitfaden über die Verwendung von Labtainers in Umgebungen ohne Internetzugang hinzugefügt. 21. Mai 2020 - Alle Repositories zur Docker Hub labtainers-Registry verschoben - Unterstützung für in der start.config definierte Mounts, um persistente Softwareinstallationen zu ermöglichen - ida-Lab geändert, um persistente Installation von IDA zu verwenden -- neuer Name ist ida2 - cgc-Lab zur Erkundung von über 200 verwundbaren Diensten aus der DARPA Cyber Grand Challenge hinzugefügt - type\_string-Befehl zu SimLab hinzugefügt - netflow-Lab zur Verwendung der NetFlow-Netzwerkverkehrsanalyse hinzugefügt - 64-Bit-Versionen der bufoverflow- und formatstring-Labs hinzugefügt 9. April 2020 - Grader schlug die Bewertung von CONTAINS- und FILE\_REGX-Bedingungen fehl, wenn Wildcards zur Dateiauswahl verwendet wurden. - Hinweise zur Verwendung von hexedit im symlab-Lab aufgenommen. - hash\_equal-Operator und hash-goals.py zur automatisierten Bewertung hinzugefügt, um die Veröffentlichung erwarteter Antworten in Konfigurationsdateien zu vermeiden. - Automatisierte Bewertung für das pcap-lib-Lab. 7. April 2020 - Logs wurden nach $LABTAINER\_DIR/logs verschoben - Weitere Bereinigungen, um Neuerstellungen und Tests mit Jenkins zu ermöglichen, einschließlich der Verwendung eindeutiger temporärer Verzeichnisse für Builds - Build-Support-Funktionen aus labutils in build.py verschoben - pcap-lib-Lab für die PCAP-Bibliothek-basierte Entwicklung von Verkehrsanalyseprogrammen hinzugefügt 13. März 2020 - plc-traffic-Lab für die Verwendung von GrassMarlin mit während des Labs generiertem Verkehr hinzugefügt. - Möglichkeit eingeführt, "Tap"-Container hinzuzufügen, um PCAPs aus ausgewählten Netzwerken zu sammeln. - GNS3-Dokumentation für externen Zugriff auf Container und die Verwendung von dummy\_hcd zur Simulation von USB-Laufwerken aktualisiert. - Kali-Template geändert, um faux\_init zu verwenden, anstatt zu versuchen, systemd zu nutzen. - Distributionen (Tar-Dateien) nach box.com verschoben - SimLab-Verwendung von netstat geändert, um keine DNS-Abfrage durchzuführen. 26. Februar 2020 - Wenn der labtainer-Befehl kein Lab findet, wird dem Benutzer empfohlen, update-labtainer.sh auszuführen - Vorläufige Unterstützung für eine Netzwerk-Tap-Komponente zur Anzeige des gesamten Netzwerkverkehrs hinzugefügt. - Skript zum Abrufen von Lab-Images zur Vorbereitung von VMs, die ohne Internet verwendet werden. - Benutzername und Passwort für das nmap-discovery-Lab bereitgestellt. 18. Februar 2020 - Die DISPLAY-Umgebungsvariable vom Host (z. B. VM) erben, anstatt :0 anzunehmen 14. Februar 2020 - Ghidra-Übung zur Einführung in das Software-Reverse-Engineering hinzugefügt. 11. Februar 2020 - Leitfäden aktualisiert, um den Fernzugriff auf Container innerhalb von GNS3-Umgebungen zu beschreiben - Ausgewählte Komponenten und Links innerhalb von GNS3 ausgeblendet. - Abbildungen im webtrack-Lab-Leitfaden waren nicht sichtbar; Tippfehler in diesem und in nmap-ssh 6. Februar 2020 - Funktion zur Fernverwaltung von Containern eingeführt, z. B. zum Übertragen von Dateien. - GNS3-Umgebungsfunktion zur Simulation des Einfügens eines USB-Laufwerks hinzugefügt. - Verbesserte Behandlung von Docker-Build-Fehlern. 3. Februar 2020 - Im metasploit-Lab lief der postgresql-Dienst auf dem Opfer nicht. - Der Inhalt des IModule-Handbuchs in den Lab Designer-Leitfaden integriert. - Weitere IModule-Unterstützung. 27. Januar 2020 - Erste Unterstützung für IModules (von Dozenten entwickelte Labs) eingeführt. Siehe docs/imodules.pdf. - Fehlerhafte LABTAINER\_DIR-Umgebungsvariable in update-labtainer behoben - Zugriffsmodus der Datei accounting.txt im ACL-Lab behoben (war rw-r-r geworden). Explizites chmod in fixlocal.sh verwenden. 14. Januar 2020 - Framework und gradelab auf Python3 portiert (bestehende Python2-Labs werden nicht geändert) - Abwärtskompatible random.seed-Optionen verwenden - Nicht kompatibles randint so anpassen, dass es alte Werte zurückgibt - Weiterhin python2 für Plattformen unterstützen, denen python3 fehlt (oder solche wie die ältere VM-Appliance, die python 3.5.2 enthält, was die random.seed-Kompatibilität beeinträchtigt). - rebuild-Alias für rebuild.py hinzufügen, der bei Bedarf python2 auswählt. - Centos-basierte Lab-Manpages schlugen fehl; mandb innerhalb der Basis-Docker-Datei verwenden - dmz-lab-Netzmaske für das DMZ-Netzwerk war falsch (von python3 erkannt); ebenso die IP-Adresse des inneren Gateways im Lab-Handbuch - ghex aus CentOS-Labs entfernt -- wird von CentOS 7 nicht mehr einfach unterstützt - file-deletion-Lab muss ohne Neustart der VM abgeschlossen werden, dies im Lab-Handbuch vermerken. - NO\_GW-Schalter zu start.config hinzugefügt, um Standard-Gateways auf Containern zu deaktivieren. - Metasploit-Lab bringt die Host-VM zum Absturz, wenn es privilegiert ausgeführt wird; lange Verzögerungen bei su, wenn systemd aktiviert ist; daher ohne systemd ausführen. Verwendung der Datenbank aus dem Lab-Handbuch entfernen, Konfiguration zur Verwendung des neuen no\_gw-Schalters anpassen - Datei-Header für Lizenzierung/Bedingungen aktualisiert; konsolidierte Lizenzdatei hinzugefügt. - publish.py so geändert, dass standardmäßig die Test-Registry verwendet wird, -d erzwingt die Verwendung von default\_registry - Quellcodeverwaltungsverfahren überarbeitet, um eine andere Test-Registry für jeden Branch zu verwenden und einen Premaster-Branch für abschließende Tests eines Releases zu nutzen. 9. Oktober 2019 - dnsmasq aus der dns-Komponente im dmz-lab entfernt. Verursachte bei einigen Installationen ein Fehlschlagen von bind. 8. Oktober 2019 - Syntaxfehler beim Einrichten der Test-Registry; Lab-Designer-Informationen zu großen Dateien; Abrufen von bigexternal.txt-Dateien 30. September 2019 - DockerHub-Registry-Abruf schlug bei einigen Benutzern erneut fehl. HTML-Präfix zu json ignorieren. 20. September 2019 - Die Bewertung von onewayhash sollte hmac-Operationen an einer vom Studenten gewählten Datei ermöglichen. 5. September 2019 - metasploit-Lab neu erstellt, metasploit-framework wies einen Fehler auf. Und die Datei "treataslocal" der Labs wurde beim Umzug von svn ausgelassen. Tippfehler im metasploit-Lab-Handbuch behoben. 30. August 2019 - Test auf Existenz von Container-Verzeichnissen rückgängig gemacht, sie existieren nicht immer. 29. August 2019 - Lab-Image-Pulls von docker hub schlugen aufgrund einer Änderung in github oder curl fehl? Weiterleitung zu cloudflare abfangen. Hinzufügen von GNS3-Unterstützung. Korrektur von dmz-lab dnssec. 11. Juli 2019 - Automatisierte Bewertung für CentOS6-Container, Korrektur des Firefox-Speicherproblems, Unterstützung beliebiger docker create-Argumente in der start.config-Datei. 6. Juni 2019 - Eine Centos6-Basis eingeführt, aber noch keine Unterstützung für automatisierte Bewertung 23. Mai 2019 - Automatisierte Bewertung von setuid-env schlug aufgrund von Tippfehlern in Feldtrennzeichen fehl. 8. Mai 2019 - Korrekturen am Capabilities-Lab-Handbuch 2. Mai 2019 --- [Read more](https://github.com/mfthomps/labtainers)