Labtainers: Ein Docker-basiertes Cyber-Lab-Framework
Labtainers umfasst mehr als 50 Cyber-Lab-Übungen und Werkzeuge, um eigene zu erstellen. Importieren Sie eine einzige VM-Appliance oder installieren Sie es auf einem Linux-System, und Ihre Studierenden sind mit der Bereitstellung und administrativen Einrichtung für diese und zukünftige Laborübungen fertig.
- Konsistente Laborausführungsumgebungen und automatisierte Bereitstellung über Docker-Container
- Mehrkomponenten-Netzwerktopologien auf einem durchschnittlich leistungsfähigen Laptop
- Automatisierte Bewertung der Laboraktivitäten und des Fortschritts der Studierenden
- Individualisierte Laborübungen, um das Teilen von Lösungen zu erschweren
Labtainers bietet kontrollierte und konsistente Ausführungsumgebungen, in denen Studierende Labore vollständig in den Grenzen ihres Computers durchführen, unabhängig von der Linux-Distribution und den auf dem Computer installierten Paketen. Labtainers läuft auf unserer VM-Appliance oder auf jedem Linux mit installiertem Docker. Und Labtainers ist auch als cloudbasierte VM verfügbar, z. B. auf Azure, wie im Studentenhandbuch beschrieben.
Siehe das Studentenhandbuch für Installation und Nutzung sowie das Dozentenhandbuch für die studentische Bewertung. Die Entwicklung und Anpassung von Laborübungen wird im Designerhandbuch beschrieben.
Siehe die Veröffentlichungen für weitere Informationen über das Framework.
Die Labtainers-Website und Downloads (einschließlich VM-Appliance mit vorinstalliertem Labtainers) finden Sie unter https://nps.edu/web/c3o/labtainers.
Distribution erstellt: 01/06/2026 12:28
Revision: v1.4.4i
Commit: 4f868e24
Branch: master
Inhalt
Verteilung und Nutzung
Verzeichnisübersicht
Support
Versionshinweise
Verteilung und Nutzung
Bitte beachten Sie die Lizenz- und Verteilungsinformationen
in der Datei docs/license.md.
Verzeichnisübersicht
-
scripts/labtainers-student -- das Arbeitsverzeichnis zum Ausführen und
Testen von Studentenlaboren. Sie müssen sich in diesem Verzeichnis befinden, um
Studentenlabore auszuführen.
-
scripts/labtainers-instructor -- das Arbeitsverzeichnis zum
Ausführen und Testen der automatisierten Bewertung sowie zum Anzeigen von Studentenergebnissen.
-
labs -- Dateien, die für jedes Labor spezifisch sind
-
setup_scripts -- Skripte zur Installation von Labtainers und Docker sowie zur Aktualisierung von Labtainers
-
docs -- LaTeX-Quelltext für labdesigner.pdf und andere Dokumentation.
-
UI -- Labtainers Lab-Editor-Quellcode (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 Labore und Verwalten von Basis-Docker-Images.
-
config -- systemweite Konfigurationseinstellungen (dies sind nicht die
labspezifischen Konfigurationseinstellungen).
-
distrib -- Verteilungsunterstützungsskripte, z. B. zum Veröffentlichen von Laboren im Docker Hub.
-
testsets -- Testverfahren und erwartete Ergebnisse. (Laborspezifische Treiber für SimLab werden nicht
verteilt).
-
pkg-mirrors -- Dienstprogramm-Skripte für das interne NPS-Paket-Mirroring, um externe
Paketabrufe während Tests und Verteilung zu reduzieren.
Support
Nutzen Sie die GitHub-Issue-Meldungen oder senden Sie eine E-Mail 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 Labore erforderlich sind. Führen Sie dafür ./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 vor der ersten Nutzung von Labtainers abmelden/anmelden oder eine neue Bash-Shell starten.
- Januar 2026
- Fehler im Installationsskript aufgrund von Einrückungen behoben.
- Dezember 2025
- Format des checkwork-Berichts auf vertikal geändert; Videoanleitung für Headless; praktische Pfade
- Oktober 2025
- Überarbeitetes Packet-Introspection-Lab, um den Link zur Maxmind-Geolokalisierungsdatenbank zu aktualisieren und die Verwendung der Legacy-Datenbank zu erwähnen.
- April 2025
- Imodule behoben, um fehlende Verzeichnisse gemäß Pull-Request #96 korrekt zu erstellen
- November 2024
- Google-Cloud-VM ersetzt, diesmal aufgrund eines Fehlers von systemd innerhalb von Containern.
- September 2024
- Google-Cloud-VM ersetzt, die die falsche Docker-Version verwendete
- September 2024
- Tippfehler bei der Erstellung des imodule-Pfades
- Juli 2024
- Änderung an capinout, um die grantpt-clib-Funktion nicht zu verwenden, die jetzt beim Ausführen aus einem Container abzustürzen scheint.
- Juli 2024
- Basis-Container für Ubuntu22 hinzugefügt und Änderungen am Framework zur Unterstützung dessen.
- Juli 2024
- Migration zu Ubuntu 24 als VM-Appliance
- Das Docker-Python-Paket verwendet eine fehlerhafte Python-HTTP-Bibliothek, erfordert ein Downgrade des Pakets.
- Virtuelle Python-Umgebung verwendet, um das Ubuntu-Lockdown von Python-Paketen zu vermeiden.
- 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-Paketbruch 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 aktualisiert, um Ubuntu 24 zu verwenden
- November 2023
- Google Cloud Platform-Option für ubuntu22 auf ec2-Maschine hinzugefügt.
- September 2023
- Vorherige Fehlerbehebung war fehlerhaft.
- August 2023
- Umgang mit der Änderung des DockerHub-Image-JSON-Formats. Danke Kees!
- April 2023
- Erzwinge Verwendung der neuesten Laborversion, z. B. iptables2 statt iptables. Tab-Vervollständigung behoben, sodass nur die neueste angezeigt wird. (Issue #77)
- CyberCIEGE-Lab-Installation schlug aufgrund einer X11-Race-Condition fehl. (Issue #76)
- Hinweis in der CyberCIEGE-Readme, dass Studierende gesammelte Protokolle im Verzeichnis $HOME speichern sollen. (Issue #75)
- 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)
- Februar 2023
- Bash-Verlauf für nicht standardmäßige Benutzer wurde nicht gespeichert.
- Januar 2023
- Powershell-Skripte für gcloud geändert, um die ausgewählte Zone zur Qualifizierung von VM-Namen zu verwenden.
- Januar 2023
- Container, die systemd verwenden, schlugen auf neuerem systemd in Ubuntu 22 fehl.
- --zone-Parameter zu Google-Cloud-Skripten hinzugefügt, mit Wert aus dem set_defaults-Skript abgeleitet.
- Dezember 2022
- xforge-Ergebniskriterien behoben, um keinen Pfadnamen zu erwarten, und Überprüfung hinzugefügt, ob POST zum Bearbeiten des Profils gesendet wurde. Und http-Server des Angreifers so geändert, dass er vom Home-Verzeichnis aus läuft.
- Dezember 2022
- strace-Lab hinzugefügt, um System-Call-Tracing einzuführen.
- X11-DISPLAY-Wert war falsch, wenn mehrere Geräte im Verzeichnis /tmp/.X11-unix vorhanden waren.
- Verwendung von python/bash/sh/etc ohne Argumente führte zum Absturz von capinout.
- Dezember 2022
- Azure-VM-Erstellungsskript geändert, um ein vorgefertigtes Labtainer-VM-Image aus der Azure Community Gallery zu verwenden.
- Terminals auf Cloud-VMs stürzen aus unbekannten Gründen während des Startvorgangs oder beim Rechtsklick auf das Terminal ab. Versuch der Behebung durch Start/Stopp eines Terminals.
- Dezember 2022
- Beim Sammeln von Artefakten werden geänderte Dateien aus Verzeichnissen nicht standardmäßiger Benutzer einbezogen, z. B. deren Bash-Verläufe.
- Web-Bewertung geändert, um die neuen "other user"-Dateien anzuzeigen.
- Dateien aus .local/bin in jedem Container in Artefakte aufnehmen. Soll diese für den Dozenten über die Web-Bewertung verfügbar machen.
- Im ACL-Lab die Datei /shared_data/bob/fun in die Ergebnisse aufnehmen, als Referenz für den Dozenten.
- Verwendung von "sh" oder "bash" von der Kommandozeile abfangen und beim Parsen nach einem bestimmten Befehl überspringen, wie es bei "time" oder "sudo" der Fall ist.
- Im tcpip-Lab konnte während nachfolgender Lab-Sitzungen kein SSH zum Server aufgebaut werden; das Verzeichnis /run/sshd wurde nicht neu erstellt.
- November 2022
- Pfad zum Snort-Handbuch im snort-Lab korrigiert.
- Im ossec-Manual den Pfad zu manage_agents korrigiert.
- Oktober 2022
- Google Cloud: Hintergrundoperator aus dem gnome-terminal-Befehl entfernt; stürzt immer noch bei Rechtsklick ab, aber scheint nach Ausführen von newterm.sh stabil zu sein.
- Oktober 2022
- Google Cloud newterm.sh behoben; die Boot-Festplatte auf 30G erweitert.
- September 2022
- Benutzername und Passwort für das TCP/IP-Lab im Laborhandbuch notiert.
- August 2022
- Den X11-Socket-Namen verwenden, wenn DISPLAY aus dem .profile eines Containers gesetzt wird.
- August 2022
- Name der Funktion processValueMax im Grader korrigiert. Issue #63
- August 2022
- Das Labedit-Programm wurde mit dem falschen JDK neu erstellt, was ältere JREs daran hinderte, labedit auszuführen.
- Juli 2022
- Erstellung von Ubuntu20-basierten Containern schlug innerhalb von IModules fehl. Issue #61.
- März 2022
- Pfad zum Tap-Lock-Verzeichnis korrigiert; führte zu Fehlern in Laboren, die Netzwerk-Taps verwenden.
- plc-traffic-netmon-Computer aktualisiert, um openjfx zu enthalten, das für neues grassmarlin in der Java-Umgebung benötigt wird.
- Lab-Start beschleunigt, indem chown -R vermieden wird, was in Docker sehr langsam ist.
- Erneuter Versuch, die Löschung des X11-Links im Container-Verzeichnis /tmp zu vermeiden.
- webtrack-Zählung der besuchten Seiten korrigiert und live-headers-Ziel entfernt, da dieses Tool nicht mehr verfügbar ist.
Einige Schritte im Laborhandbuch klargestellt.
- März 2022
- Neues ssh-tunnel-Lab hinzugefügt (danke GWD!)
- Behoben, dass labedit den X11-Wert, der von new_lab_setup gesetzt wurde, nicht widerspiegelte.
- Option hinzugefügt, um einen Container nicht zu parametrisieren.
- Februar 2022
- labedit beschädigte start.config nach dem Hinzufügen neuer Container.
- Falscher Pfad zum Studentenhandbuch in der student-README-Datei; dynamisch für Cloud-Konfigurationen geändert.
- Falsche Erweiterung für update-labtainer.sh
- msc-Handbuch-Verbesserungen
- Das ghidra-Lab aktualisiert, um Version 10.1.2 von Ghidra zu enthalten.
- Februar 2022
- Azure-Cloud-Support auf Bereitstellung für jeden Studenten zurückgesetzt. Azure rät von gemeinsam genutzten Ressourcen ab.
- Januar 2022
- Azure-Cloud verwendet jetzt ein in einem Azure-Blob gespeichertes Image anstatt für jeden Studenten bereitzustellen.
- Unterstützung für Google Cloud hinzugefügt.
- Januar 2022
- Einführung von Labtainers in der Azure-Cloud. Einzelheiten zur Nutzung finden Sie im Studentenhandbuch.
- Januar 2022
- setuid-env-Lab überarbeitet, um bessere Bewertung zu ermöglichen; SimLab-Tests und Sighup im printenv-Kind vermeiden.
- Bewertungsziel-Zahl-Direktive korrigiert, um Ergebnis-Tag-Werte von false auszuschließen.
- Keine Angabe des Labnamens erforderlich, wenn gradelab -a mit einem Grader verwendet wird, der mit der Debug-Option gestartet wurde.
- capinout (stdin/stdout-Spiegelung) überarbeitet, um die Verwaistellung von Befehlsprozess-Kindern zu behandeln, verbesserte Dokumentation und Fehlerbehandlung.
- Anzeige von Fortschrittsbalken für Docker-Images, die beim ersten Ausführen eines Labors gezogen werden.
- Benutzerfeedback zum Fortschritt der Containerinitialisierung.
- Das pcap-lib-Lab vermisste eine Benachrichtigungsdatei, die für die automatisierte Bewertung benötigt wurde; überflüssiger Schritt aus dem Laborhandbuch entfernt.
- November 2021
- Ubuntu-Popup-Fehler auf Test-VM deaktiviert.
- Behandlung verschiedener DISPLAY-Variablenformate korrigiert.
- Oktober 2021
- tcpip-Lab-Handbuch überarbeitet, um darauf hinzuweisen, dass ein erfolgreicher SYN-Flood-Angriff nicht möglich ist. Automatisierte Bewertung korrigiert und SimLab-Skripte hinzugefügt.
- Dateierweiterung von Artefakten von zip auf lab geändert und eine Präambel hinzugefügt, um GUI-Dateimanager zu verwirren. Studenten öffneten die Zip-Datei und reichten deren Inhalt ein.
- Die Option -r für gradelab zur Standardeinstellung gemacht, eine Option -c für kumulative Verwendung des Graders hinzugefügt.
- refresh_mirror geändert, um sich auf das lokale Veröffentlichungsdatum zu beziehen und häufige Abfragen von DockerHub zu vermeiden. Jede solche Abfrage zählt als Image-Pull, und sie versuchen jetzt, diese zu monetarisieren.
- September 2021
- bufoverflow-Lab-Handbuch und Bewertung geändert, um keinen Erfolg bei eingeschaltetem ASLR zu erwarten, sondern zu bewerten, ob es ausgeführt wurde.
- Fehlerbehandlung für Web-Grader für Fälle, in denen der Student keine Ergebnisse hat.
- Warnung ausgeben, wenn ein veraltetes Labor ausgeführt wird.
- Formatstring-Bewertung geändert, um die unbenutzte Beschreibung "_leaked_secret" zu entfernen und den Wert von leaked_no_scanf zu klären.
- Auch Formatstring-Bewertung geändert, um jeden Namen für die verwundbare ausführbare Datei zuzulassen.
- September 2021
- Fehlerbehandlung in gradelab, reduziert Abstürze aufgrund defekter Zip-Dateien.
- stdout-Artefakt-Dateien auf 1 MB begrenzt
- September 2021
- Ghidra-Lab-Handbuch hatte falsche IP-Adresse, wurde nicht aus der Quelle neu erstellt.
- September 2021
- Beispiel-Labore für LDAP und Mariadb mit SSL. Gedacht als Vorlagen für neue Labore.
- Mariadb-Protokollformat behandeln.
- Pro-Container-Parameter hinzugefügt, um die CPU-Nutzung zu begrenzen oder den Container auf einen CPU-Satz festzulegen.
- Labpack-Erstellung jetzt über eine GUI verfügbar (makepackui).
- Tab-Vervollständigung für die Befehle labtainer, labpack und gradelab.
- Neues Parallelrechner-Lab ``parallel'' unter Verwendung von MPI.
- August 2021
- 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-Protokollformate in der Ergebnisanalyse.
- Unterstützung für Mac und Windows mit Docker Desktop entfernt. Dieses Produkt ist für unsere Unterstützung zu instabil.
- Stderr-Nachrichten unterdrücken, wenn der Benutzer integrierte Bash-Befehle wie "which" verwendet.
- Fehlerkorrekturen in den Programmen makepack/labpack.
- Juli 2021
- Ein DNS-Lab hinzugefügt, um das DNS-Protokoll und die Konfiguration einzuführen.
- Überarbeitetes VirtualBox-Appliance-Image, das mit dem richtigen Update-Skript startet.
- resolv.conf-Nameserver-Parameter aus dem Konfigurationsfeld lab_gw in einen eigenen Wert aufgeteilt.
- IModule-Befehl schlug fehl, wenn er vor dem Start von Laboren ausgeführt wurde.
- Juli 2021
- Fehler in der DISPLAY-Umgebungsvariablen-Verwaltung unterbrachen GUI-Anwendungen auf Docker Desktop.
- Juli 2021
- Unterstützung für Mac-Paketinstallation von headless Labtainers.
- Die automatisierte Bewertung des routing-basics-Labors schlug aufgrund fehlender treataslocal-Dateien fehl.
- Tippfehler und falsche Adressen im routing-basics-Lab korrigiert und automatisierte Bewertung gefixt.
- Bewertung von pcapanalysis schlug fehl.
- Juni 2021
- Alle Laborhandbuch-PDFs sind jetzt im GitHub-Repository.
- Anleitungen für vpnlab und vpnlab2 in PDF-Laborhandbücher umgewandelt.
- Mai 2021
- Durchsuchbare Schlüsselwörter zu jedem Labor hinzugefügt. Siehe "labtainer -h" zur Verwendung.
- routing-basics-Lab und Laborhandbuch erweitert.
- routing-basics2-Lab entfernt, da es jetzt redundant ist.
- sudo in einigen Containern schlug fehl, weil Hostnamen Unterstriche entfernen, was zu einer Nichtübereinstimmung mit der Hosts-Datei führte. Behoben durch zusätzlichen Eintrag in der Hosts-Datei mit Containernamen ohne Unterstrich.
- Neue Labpack-Funktion zum Paketieren einer Sammlung von Laboren und das Werkzeug makepack zum Erstellen von Labpacks.
- Fehlerprüfung für das Verzeichnis /sbin bei Verwendung von ubuntu20 - wäre stillschweigend fatal gewesen.
- Neues network-basics-Lab
- Mai 2021
- Ein neues Benutzer-Lab eingeführt, das Benutzer-/Gruppenverwaltung vorstellt.
- Apparmor-Hostmeldungen in Centos-Container-Syslogs unterdrückt.
- April 2021
- Neue base2-Images fehlten Handbuchseiten. Verwendete unminimize, um sie im Basis-Image wiederherzustellen.
- Ein OSSEC-Host-basiertes IDS-Lab eingeführt.
- April 2021
- CyberCIEGE-Lab schlug fehl, weil der X11-Socket vor dem Start von Wine über fixlocal nicht verschoben wurde.
- April 2021
- Neues gdb-cpp-Tutorial-Lab zur Verwendung von GDB an einem einfachen C++-Programm.
- Gleitkommaausnahmen enthüllten die Verwendung von exec_wrap.sh für stdin/stdout-Spiegelung.
- April 2021
- ldap-Lab schlug fehl, als es auf Ubuntu 20 verschoben wurde. Problem auf ein Problem mit dem nscd-Cache von pwd zurückgeführt. ldap auf Ubuntu 20 verschoben.
- März 2021
- Parametrisierung mit RANDOM enthielt die obere Grenze nicht.
- Optionalen Schrittparameter zu RANDOM hinzugefügt, z. B. um Wortgrenzen sicherzustellen.
- db-access-Lab: mysql-workbench zum Datenbank-Computer hinzugefügt.
- Neues overrun-Lab zur Veranschaulichung von Speicherreferenzen jenseits der Grenzen von C-Datenstrukturen.
- Neues printf-Lab zur Einführung von Speicherreferenzen, die von der printf-Funktion gemacht werden.
- März 2021
- gradelab ignoriert Fehler bei makdirs, Problem mit Windows rmtree auf gemeinsamen Ordnern.
- gradelab behandelt Leerzeichen in Studenten-Zip-Dateinamen.
- gradelab behandelt Zip-Dateinamen von Moodle, einschließlich Build-Downloads.
- März 2021
- labedit-Benutzeroberfläche: Altes wireshark-Image aus der Liste der Basis-Images entfernt.
- labedit-Benutzeroberfläche: Einige Schriftgrößen erhöht.
- Grader-Webschnittstelle zeigte Laborhandbücher nicht an, wenn der Handbuchname nicht den Namenskonventionen entsprach.
- März 2021
- labedit-Benutzeroberfläche: Registry-Einstellung in neuem globalen Laborkonfigurationsbereich hinzugefügt.
- März 2021
- labedit-Benutzeroberfläche: Korrekturen, um nicht zu bauen, wenn Syntaxfehler im Labor vorliegen.
- labedit-Benutzeroberfläche: "Lab running"-Indikator korrigiert, um das aktuelle Labor anzuzeigen.
- März 2021
- Verwendung von HOST_HOME_XFER als veraltet markiert; alle Labore verwenden das Verzeichnis gemäß labtainer.config.
- Kommentar zur Dokumentation in start.config für REGISTRY und BASE_REGISTRY hinzugefügt.
- März 2021
- Fehlerbehandlung in der gradelab-Webschnittstelle bei fehlenden Ergebnissen.
- labedit: Hinzufügen von precheck, msc-Fehlerbehebungen.
- Februar 2021
- Das dmz-example-Lab hatte Fehler im Routing und in der Einrichtung von dnsmasq auf einigen Komponenten.
- Februar 2021
- Benutzeroberfläche baute Images neu, weil sie ohne Grund Dateizeiten aktualisierte.
- UI-Code bereinigt, um einige redundante Datenkopien zu entfernen.
- Februar 2021
- Lokale Bauoption in der Benutzeroberfläche hinzugefügt.
- Leeres faux_init für centos6-Basen erstellt.
- Februar 2021
- UI-Behandlung beim Bearbeiten von Dateien korrigiert. Layout überarbeitet und nicht verwendete Felder entfernt.
- ubuntu20 base2-Basis-Konfiguration zusammen mit ssh2, network2 und wireshark2 hinzugefügt.
- Das neue wireshark löst das Problem der schwarzen/rauschenden Fenster.
- /tmp/.X11-unix auf /var/tmp abgebildet und einen Link erstellt. Benötigt für ubuntu20 (löschte /tmp?) und könnte andere beheben.
- Februar 2021
- Größenoption zu Ergebnissen/Artefakten hinzugefügt.
- wireshark-intro-Bewertung und -Parametrisierung vereinfacht und PDF-Laborhandbuch hinzugefügt.
- Parameterlistenwerte als Umgebungsvariablen an das Skript pregrade.sh übergeben.
- X11 im Grader aktiviert.
- update-designer.sh in den Benutzerpfad aufgenommen.
- Januar 2021
- Verwaltung des README-Datums/der Revision geändert, um die Datei im Quell-Repository zu aktualisieren.
- GUI zum Erstellen/Bearbeiten von Laboren eingeführt - siehe Befehl labedit.
- Dezember 2020
- Die Funktion gradelab schlug fehl, wenn Zip-Dateien von einem VirtualBox-Ordner kopiert wurden.
- Dozentenhandbuch aktualisiert, um die Verwaltung von Studenten-Zip-Dateien auf Host-Computern zu beschreiben.
- Dezember 2020
- Umstellung der Verteilung von tar auf GitHub-Release-Artefakte.
- Separate Designer-Tar-Datei eliminiert, stattdessen Git-Repo-Tarball verwenden.
- Testen der Grader-Webfunktionen zur Analyse von studentischen Laborartefakten.
- Protokolle aus vollständigem Smoketest löschen und Grader-Container im Befehl removelab entfernen.
- Dezember 2020
- Die Bewertung des iptables2-Labors basierte auf zufälligen Ports, die von nmap als "unknown" gemeldet wurden.
- Ein Sync-Verzeichnis verwendet, um Smoketests zu verzögern, bis der Laborstart abgeschlossen ist.
- Beginn der Integration von Lab-Designer-UI-Elementen.
- Oktober 2020
- Headless-Konfigurationen für die Ausführung auf Docker Desktop auf Macs und Windows.
- Headless-Server-Unterstützung, cloud-config-Datei für Cloud-Bereitstellungen.
- Testunterstützung für Headless-Konfigurationen.
- mynotify gezwungen, zu warten, bis rc.local beim Booten läuft.
- mynotify-Dienst verbessert, um die Ausgabe in einen einzigen Zeitstempel zusammenführen zu können.
- Python3 für das stopgrade-Skript.
- SimLab verwendet jetzt docker top anstelle von system ps.
- September 2020
- Die stoplab-Skripte bereinigt, um Nicht-Lab-Container zu ignorieren.
- db-access-Datenbankzugriffskontroll-Lab für kontrollierte Freigabe einer MySQL-Datenbank hinzugefügt.
- September 2020
- Das macs-hash-Lab konnte Leafpad aufgrund der X11-Einstellung nicht ausführen.
- Grader-Protokollierung wurde in die falsche Protokolldatei umgeleitet, jetzt werden Fehler von instructor.py erfasst.
- instructor.log vom Grader in das Host-Protokollverzeichnis kopiert, falls ein Fehler auftritt.
- August 2020
- Installationsskript behoben, um python3-pip zu verwenden, und defekte Skripte repariert: getinfo.py und pull-all.py.
- Registry-Logik war defekt, Testsysteme verwendeten nicht die Test-Registry, Entwicklungsdokumentation hinzugefügt.
- juiceshop- und owasp-Basisdateien für OWASP-basierte Web-Sicherheitslabore hinzugefügt.
- Überflüssige sudos aus check_nets entfernt.
- CHECK_OK-Dokumentationsrichtlinie für automatisierte Bewertung hinzugefügt.
- check_nets geändert, um iptables- und Routing-Probleme zu beheben, falls dies angewiesen wird.
- August 2020
- Timeout zu prestop-Skripten hinzugefügt.
- Quiz und checkwork zum dmz-lab hinzugefügt.
- Neustart des dmz-lab ohne Option -r unterbrach das Routing aus dem ISP.
- Mehrere Dateien für time_delim-Ergebnisse erlaubt.August 6, 2020
- Bug in der Fehlerbehandlung, wenn der X11-Socket fehlt
- Kommas in Quizfragen führten zu Parsing-Fehlern
- Quiz und checkwork zum iptables2-Lab hinzugefügt
July 28, 2020
- Quiz-Unterstützung hinzugefügt – dies sind Leitfaden-Quiz, keine Bewertungs-Quiz. Siehe das Designer-Handbuch.
- Bewertung des aktuellen Zustands für die Verwendung mit dem checkwork-Befehl hinzugefügt.
July 21, 2020
- testsets/bin zum Designer-Pfad hinzugefügt
- Korrekturen und Erklärungen im Designer-Handbuch für IModule-Schritte.
- Ergebnistyp RANGE_REGEX zum Definieren von Zeitbereichen mithilfe regulärer Ausdrücke in Logeinträgen hinzugefügt.
- Überprüfen, ob der X11-Socket existiert, wenn er beim Starten eines Labs benötigt wird.
- Basis-Image für mysql hinzugefügt
- Behandlung von mysql-Log-Zeitstempelformaten beim Parsen von Ergebnissen.
June 15, 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-Lab hinzugefügt.
- Verbesserte Behandlung von DNS-Änderungen; der externe Zugriff von einigen Containern war an manchen Standorten blockiert.
- Abschnitt im Instructor-Handbuch zur Verwendung von Labtainern in Umgebungen ohne Internetzugang hinzugefügt.
May 21, 2020
- Alle Repositorys in die Docker Hub Labtainers-Registry verschoben
- Unterstützung von Mounts, die in der start.config definiert sind, um dauerhafte Softwareinstallationen zu ermöglichen
- ida-Lab geändert, um dauerhafte Installation von IDA zu verwenden – neuer Name ist ida2
- cgc-Lab zur Erkundung von über 200 anfälligen Diensten aus der DARPA Cyber Grand Challenge hinzugefügt
- type_string-Befehl zu SimLab hinzugefügt
- netflow-Lab zur Verwendung von NetFlow-Netzwerkverkehrsanalyse hinzugefügt
- 64-Bit-Versionen der bufoverflow- und formatstring-Labs hinzugefügt
April 9, 2020
- Grader bewertete CONTAINS- und FILE_REGX-Bedingungen nicht, wenn Platzhalter für die Dateiauswahl verwendet wurden.
- Hinweise zur Verwendung von hexedit im symlab-Lab enthalten.
- hash_equal-Operator und hash-goals.py zur automatischen Bewertung hinzugefügt, um Veröffentlichung von erwarteten Antworten in Konfigurationsdateien zu vermeiden.
- Automatische Bewertung für das pcap-lib-Lab.
April 7, 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-Unterstützungsfunktionen aus labutils nach build.py verschoben
- pcap-lib-Lab zur PCAP-Bibliothek-basierten Entwicklung von Verkehrsanalyseprogrammen hinzugefügt
March 13, 2020
- plc-traffic-Lab zur Verwendung von GrassMarlin mit während des Labs erzeugtem Verkehr hinzugefügt.
- Möglichkeit zur Einbindung von "tap"-Containern zur Sammlung von PCAPs aus ausgewählten Netzwerken eingeführt.
- GNS3-Dokumentation für externen Zugriff auf Container und Verwendung von dummy_hcd zur
Simulation von USB-Laufwerken aktualisiert.
- Kali-Vorlage geändert, um faux_init anstelle von systemd zu verwenden.
- Distributionen (tar-Dateien) werden auf box.com verschoben
- SimLab-Nutzung von netstat geändert, um keine DNS-Abfrage durchzuführen.
February 26, 2020
- Wenn labtainer-Befehl das Lab nicht findet, wird dem Benutzer empfohlen, update-labtainer.sh auszuführen
- Vorläufige Unterstützung für eine Netzwerk-Tap-Komponente hinzugefügt, um den gesamten Netzwerkverkehr anzuzeigen.
- Skript zum Abrufen von Lab-Images, um VMs vorzubereiten, die ohne Internet genutzt werden.
- Benutzername und Passwort für das nmap-discovery-Lab bereitgestellt.
February 18, 2020
- Umgebungsvariable DISPLAY vom Host (z.B. VM) übernehmen anstatt :0 anzunehmen
February 14, 2020
- Ghidra Software Reverse Engineering Einführungsübung hinzugefügt.
February 11, 2020
- Handbücher aktualisiert, um Remote-Zugriff auf Container in GNS3-Umgebungen zu beschreiben
- Ausgewählte Komponenten und Links in GNS3 ausgeblendet.
- Abbildungen im webtrack-Lab-Handbuch waren nicht sichtbar; Tippfehler in diesem und in nmap-ssh
February 6, 2020
- Funktion zum Remote-Management von Containern eingeführt, z.B. Push-Dateien.
- GNS3-Umgebungsfunktion zur Simulation des Einsteckens eines USB-Laufwerks hinzugefügt.
- Verbesserte Behandlung von Docker-Build-Fehlern.
February 3, 2020
- Im metasploit-Lab lief der postgresql-Dienst auf dem Opfer nicht.
- Den IModule-Manual-Inhalt in das Lab Designer-Handbuch integriert.
- Weitere IModule-Unterstützung.
January 27, 2020
- Erste Unterstützung für IModules (von Kursleitern entwickelte Labs) eingeführt. Siehe docs/imodules.pdf.
- Defekte LABTAINER_DIR-Umgebungsvariable in update-labtainer behoben
- Zugriffsmodus der Datei accounting.txt im ACL-Lab korrigiert (war rw-r-r). Expliziter chmod in fixlocal.sh.
January 14, 2020
- Framework und gradelab nach Python3 portiert (bestehende Python2-Labs werden nicht geändert)
- Rückwärtskompatible random.seed-Optionen verwendet
- Nicht kompatibles randint gehackt, um alte Werte zurückzugeben
- Python2 weiterhin für Plattformen unterstützt, denen Python3 fehlt (oder solche wie die
ältere VM-Appliance, die Python 3.5.2 enthält, was die random.seed-Kompatibilität bricht).
- rebuild-Alias für rebuild.py hinzugefügt, das bei Bedarf Python2 auswählt.
- Manpages von CentOS-basierten Labs schlugen fehl; mandb in der Basis-Docker-Datei verwendet
- dmz-lab Netzmasken für das DMZ-Netzwerk waren falsch (von Python3 erkannt); ebenso die IP-Adresse des inneren Gateways im Lab-Handbuch
- ghex aus CentOS-Labs entfernt – von CentOS 7 nicht mehr einfach unterstützt
- file-deletion-Lab muss ohne Neustart der VM abgeschlossen werden, dies im Lab-Handbuch vermerkt.
- NO_GW-Schalter in start.config hinzugefügt, um Standard-Gateways auf Containern zu deaktivieren.
- Metasploit-Lab stürzt die Host-VM ab, wenn es privilegiert läuft; lange Verzögerungen bei su, wenn systemd aktiviert ist; daher ohne systemd ausführen.
Nutzung der Datenbank aus dem Lab-Handbuch entfernt, auf Verwendung des neuen no_gw-Schalters konfiguriert
- Dateiköpfe für Lizenzierung/Bedingungen aktualisiert; konsolidierte Lizenzdatei hinzugefügt.
- publish.py geändert, um standardmäßig die Test-Registry zu verwenden; -d verwendet default_registry
- Quellcode-Verwaltungsverfahren überarbeitet, um für jeden Branch eine andere Test-Registry zu verwenden, und einen Premaster-Branch für die endgültige Testversion einer Veröffentlichung zu nutzen.
October 9, 2019
- dnsmasq aus der DNS-Komponente im dmz-Lab entfernt. Verursachte, dass bind auf manchen Installationen fehlschlug.
October 8, 2019
- Syntaxfehler beim Einrichten der Test-Registry; Informationen für Lab-Designer zu großen Dateien; fetch von bigexternal.txt-Dateien
September 30, 2019
- DockerHub-Registry-Abruf schlug erneut für einige Benutzer fehl. HTML-Präfix zu JSON ignorieren.
September 20, 2019
- Bewertung von onewayhash sollte HMAC-Operationen auf einer Datei nach Wahl des Studenten erlauben.
September 5, 2019
- Metasploit-Lab neu erstellt, metasploit-framework wies einen Bug auf. Und die "treataslocal"-Datei des Labs
wurde bei der Migration von svn ausgelassen. Tippfehler im Metasploit-Lab-Handbuch korrigiert.
August 30, 2019
- Test auf Existenz von Container-Verzeichnissen rückgängig gemacht, diese existieren nicht immer.
August 29, 2019
- Image-Abrufe von Docker Hub schlugen fehl aufgrund einer Änderung in GitHub oder curl? Weiterleitung zu Cloudflare abgefangen.
Hinzufügen von GNS3-Unterstützung. Fehlerbehebung für dmz-lab dnssec.
July 11, 2019
- Automatische Bewertung für CentOS6-Container, Fehlerbehebung für Firefox-Speicherproblem, Unterstützung beliebiger Docker-
create-Argumente in der start.config-Datei.
June 6, 2019
- Einführung einer Centos6-Basis, jedoch noch keine Unterstützung für automatische Bewertung
May 23, 2019
- Automatische Bewertung von setuid-env schlug aufgrund von Tippfehlern in Feldtrennern fehl.
May 8, 2019
- Korrekturen am Capabilities-Lab-Handbuch
May 2, 2019
- Acl-Lab-Korrektur der Berechtigungen von bobstuff.txt. Expliziter chmod in fixlocal.sh
- Studentenhandbuch überarbeitet, um die Verwendung von stop und der -r-Option im Text klarzustellen.
March 9, 2019
- Die checkwork-Funktion verwendete Container wieder, sodass Studenten Artefakte aus vorheriger Laborarbeit nicht entfernen konnten.
- Anhang zum symkey-Lab hinzugefügt, der das BMP-Bildformat beschreibt.
February 22, 2019
- Der HTTP-Server startete nicht in den vpn- und vpn2-Labs. Automatische Bewertung aus diesen Labs entfernt, bis sie überarbeitet sind.
January 7, 2019
- gdblesson-Automatikbewertung korrigiert, sodass sie zumindest funktionsfähig ist.
January 27, 2019
- Lab-Handbuch für routing-basics2 korrigiert und Routing repariert, um externen Zugriff auf den internen Webserver zu ermöglichen.
December 29, 2018
- routing-basics2 korrigiert, gleiche Probleme wie routing-basics, zusätzlich eine falsche IP-Adresse in der resolv.conf des Gateways
December 5, 2018
- routing-basics Lab korrigiert, DNS-Auflösung an den Komponenten isp und gateway war defekt.
November 14, 2018
- /run/nologin vom Archiv-Maschinen in backups2 entfernt – allgemeine Lösung für dieses nologin-Problem erforderlich
November 5, 2018
- Standard-datei aid.conf des file-integrity Labs geändert, um Metadatenänderungen statt Dateimodifikationszeiten zu verfolgen
October 22, 2018
- macs-hash Lab-Auflösung verydodgy.com schlug beim Lab-Neustart fehl
- Benachrichtigungsfunktion schlug fehl, wenn notify_cb.sh fehlt
October 12, 2018
- ulimit für Dateigröße gesetzt, auf 1G begrenzt
October 10, 2018
- Parametrisierte Dateien zwangsweise gesammelt
- leafpad und ghex explizit in die centos-xtra-Basis aufgenommen und abhängige Images neu erstellt.
September 28, 2018
- Zugriffsmodi der gemeinsamen Datei im ACL-Lab korrigiert
- Frage in pass-crack präzisiert
- Artefaktsammlung geändert, um Dateien älter als Startzeit des Labs zu ignorieren.
- Quantencomputing-Algorithmen-Lab hinzugefügt
September 12, 2018
- Syntaxfehler in der setuid-env-Bewertung behoben
- Syntaxfehler in den Beispiel-Firewallregeln von iptables2 behoben
- CentOS-Labs neu erstellt, lamp-Abkömmlinge auf lamp.xtr für waitparam umgestellt und httpd gezwungen, darauf zu warten.
September 7, 2018
- CyberCIEGE als Lab hinzugefügt
- read_pre.txt Informationsanzeige vor dem Abruf von Images und Möglichkeit zum Abbruch.
September 5, 2018
- Sakai-Bulk-Download-Verarbeitung in gradelab-Funktion wiederhergestellt.
- Nicht verwendete Instructor-Skripte entfernt.
September 4, 2018
- Mehrere IP-Adressen pro Netzwerkschnittstelle erlaubt
- Basis-Image für Wine hinzugefügt
- GRFICS virtuelle ICS-Simulation hinzugefügt
August 23, 2018
- GrassMarlin-Lab (ICS-Netzwerkerkennung) hinzugefügt
August 23, 2018
- GrassMarlin-Lab (ICS-Netzwerkerkennung) hinzugefügt
August 21, 2018
- Weitere Fehlerbehebung rund um AWS-Authentifizierungsprobleme (DockerHub verwendet AWS).
- new_lab_setup.py korrigiert, um git statt svn zu verwenden.
- plc-forensics-Lab in ein Basis-Lab und ein fortgeschrittenes Lab (plc-forensics-adv) aufgeteilt
August 17, 2018
- Übergang zu git & GitHub als autoritativem Repository.
August 15, 2018
- Bewertung des plc-forensics-Lab allgemeiner gestaltet; Lab-Handbuch überarbeitet, um Wireshark auf dem Labtainer widerzuspiegeln.
August 15, 2018
- "checkwork"-Befehl hinzugefügt, der Studenten erlaubt, Ergebnisse der automatischen Bewertung für ihre Laborarbeit einzusehen.
- Protokollierung von iptables-Paketverlusten in den Labs iptables2 und iptables-ics enthalten.
- Veraltete Instanzen von is_true und is_false aus goal.config entfernt
- Boolesche Auswertung korrigiert, um "NOT foo" zu verarbeiten; erwartete mehr Operanden.
August 9, 2018
- Parameterersetzung in results.config-Dateien unterstützt
- Ergebnis-Typ TIME_DELIM für results.config hinzugefügt
- iptables-Lab überarbeitet, versteckte nmap-Befehle entfernt, benutzerdefinierten Dienst eingeführt
August 7, 2018
- Link zum Studentenhandbuch im Verzeichnis labtainer-student hinzugefügt
- Link zum Studentenhandbuch auf VM-Desktops hinzugefügt
- Korrekturen an iptables-ics, um lange Verzögerungen beim Herunterfahren zu vermeiden; und Korrekturen an Regressionstests
- Hinweise in den Handbüchern, die dem Studenten nahelegen, den VM-Browser zum Übertragen der Artefakt-Zip-Datei an den Kursleiter zu verwenden.
August 1, 2018
- Generisches Docker-Image für die automatische Bewertung verwendet; Erstellung von "Instructor"-Images pro Lab eingestellt.
July 30, 2018
- Dokumentation der Notwendigkeit, den waitparam.service zu entsperren (durch Erstellen des Flag-Verzeichnisses),
wenn ein fixlocal.sh-Skript einen Dienst starten soll, für den waitparam eine Voraussetzung ist.
- plc-app-Lab für PLC-Anwendungs-Firewall und Whitelisting-Übung hinzugefügt.
July 25, 2018
- string_contains-Operator zur Zielverarbeitung hinzugefügt
- Bewertung des formatstring-Lab geändert, um zu berücksichtigen, dass das durchgesickerte Geheimnis nicht immer
am Ende der angezeigten Zeichenfolge steht.
July 24, 2018
- SSH-Agent-Lab (ssh-agent) hinzugefügt
July 20, 2018
- Offline-Erstellung unterstützt, optionales Überspringen aller Image-Abrufe
- apt/yum-Repository-Wiederherstellung in Dockerfile-Vorlagen wiederhergestellt.
- Weiterleitungs-URLs beim Abruf von Blobs aus der Docker-Registry behandeln, um
Authentifizierungsfehler zu vermeiden (curl --location nicht verwenden).
July 12, 2018
- prestop-Funktion hinzugefügt, um die Ausführung von vom Designer festgelegten Skripten auf
ausgewählten Komponenten vor dem Herunterfahren des Labs zu ermöglichen.
- Host-Namensgebung im ssl-Lab korrigiert, die die automatische Bewertung störte.
- dmz-Lab-Startzustand korrigiert, um DNS-Auflösungen aus dem internen Netzwerk zu erlauben.
- FILE_REGEX-Verarbeitung behandelte mehrzeilige Suchen nicht richtig.
- Framework-Version, die aus neu erstellten Images abgeleitet wurde, hatte einen falschen Standardwert.
July 10, 2018
- LDAP-Lab hinzugefügt
- Übergang zu systemd-basierten Ubuntu-Images abgeschlossen, nicht verwendete Dateien entfernt
- lab_sys-tar-Datei in das temporäre Verzeichnis pro Container verschoben für Parallelität.
July 6, 2018
- Alle Ubuntu-Basis-Images durch Versionen auf Basis von systemd ersetzt
- Labtainer-Container-Images in der Registry jetzt mit Basis-Image-ID getaggt und haben Labels, die das Basis-Image widerspiegeln.
- Eine bestimmte Installation wird Images abrufen und verwenden, die mit den vorhandenen Basis-Images konsistent sind.
- Wenn Sie ein VM-Image verwenden, möchten Sie es möglicherweise durch ein neueres VM-Image von unserer Website ersetzen.
- Neue Labs laufen nicht ohne Herunterladen neuerer Basis-Images; was dazu führen kann, dass Ihre VM mehrere
Versionen großer Basis-Images (> 500 MB pro Stück) speichert.
- Es gingen Artefakte von Prozessen verloren, die liefen, als das Lab gestoppt wurde – capinout-Prozesse wurden nicht ordnungsgemäß beendet.
June 27, 2018
- Unterstützung für Ubuntu systemd-Images hinzugefügt
- Alte Kopie von SimLab.py aus labtainer-student/bin entfernt
- apt- und yum-Quellen nach /var/tmp verschoben
- Unterschiede zwischen der Verwendung von "boolean" und "count_greater" in Bewertungen klargestellt
- Add-HOST in start.config erweitert, um alle Komponenten in einem Netzwerk zu umfassen.
- Option zu new_lab_setup.py hinzugefügt, um einen Container basierend auf einer Kopie eines vorhandenen Containers hinzuzufügen.
June 21, 2018
- DISPLAY-Umgebung für Root gesetzt
- Fehler in der Build-Abhängigkeitsbehandlung der svn status-Ausgabe behoben
- radius-Lab hinzugefügt
- Fehler in SimLab append korrigiert
- svn verwendet, wo angemessen, um Dateinamen mit new_lab_setup.py zu ändern
June 19, 2018
- Reihenfolge der in start.conf definierten Container beibehalten, wenn ein Terminal mit mehreren Tabs erstellt wird
- Designer-Handbuch präzisiert, um den Pfad zu den Bewertungskonfigurationsdateien zu identifizieren.
- Aufforderung an den Kursleiter zur Angabe einer E-Mail entfernt
- Fehlerhafte Fehlerprüfung beim Testen der Versionsnummer
- Zeitstempel von Lab-Starts und Wiederholungen in die Bewertungs-JSON aufgenommen
- SSL-Lab hinzugefügt, das bidirektionale Authentifizierung und Erstellung von Zertifikaten umfasst.
June 14, 2018
- Diagnose zur Parametrisierung hinzugefügt, um herauszufinden, warum einige Installationen dabei fehlschlagen.
- Wenn ein Container bereits erstellt wurde, stellen Sie sicher, dass er parametrisiert ist; andernfalls abbrechen, um beschädigte oder halbfertige Container zu vermeiden.
- Programmversion korrigiert, um svn HEAD zu verwenden
June 15, 2018
- Nur-Text-Anweisungen, die in xterms erschienen, in eine PDF-Datei konvertiert.
- Fehler in der Versionsverwaltung von Images behoben, die noch nicht abgerufen wurden.
- Erkennung eines Containers, der erstellt, aber nicht parametrisiert wurde,
und Aufforderung an den Benutzer, das Lab mit der Option "-r" neu zu starten.
- Designer-Dienstprogramm hinzugefügt: rm_svn.py, sodass entfernte Dateien einen Image-Neubau auslösen.
June 13, 2018
- xterm auf Ubuntu 18-Systemen installiert
- Workaround für Probleme in neuen Versionen der gnome-terminal-Tab-Verwaltung
June 11, 2018
- Versionsprüfung hinzugefügt, um Images mit dem Framework zu vergleichen.
- Verschiedene Lab-Handbücher präzisiert
June 2, 2018
- Bei Installation auf Ubuntu 18 docker.io anstelle von docker-ce verwenden
- Der capinout verursachte einen Absturz, wenn ein überwachter "sudo su"-Befehl von
einem nicht erhöhten Benutzerbefehl gefolgt wird.
- Routing- und resolv.conf-Einstellungen in /etc/rc.local anstatt in fixlocal.sh verschoben,
damit sie über Start/Stopp der Container hinweg bestehen bleiben.
May 31, 2018
- Workaround für einen Docker-Bug, der dazu führte, dass Text in einem Terminal ohne Zeilenvorschub umbrochen wurde.
- COMMAND_COUNT erweitert, um Pipes zu berücksichtigen
- Neue Version des backups-Lab erstellt, die Sicherungen auf einen entfernten Server und die
Sicherung einer gesamten Partition umfasst.
- sshlab-Anweisungen geändert, um das Dienstprogramm ssh-copy-id zu verwenden
- Datei /run/nologin aus parameterize.sh gelöscht, um SSH-Login auf CentOS zu erlauben
May 30, 2018
- new_lab_setup.py erweitert, um die Identifikation des zu verwendenden Basis-Images zu ermöglichen
- Neue Version von centos-log erstellt, die zentrale Protokollierung enthält.
- Bewertungsvalidierung akzeptierte die Option "time_not_during" nicht.
- Integration von Labtainer Master zur Verwaltung von Labtainern aus einem Docker-Container begonnen.
May 25, 2018
- 10-Sekunden-Schläfchen aus verschiedenen Diensten entfernt. Verzögerte xinetd-Antworten, brach
automatische Tests.
- snort-Lab-Bewertung korrigiert, sodass nur "CONFIDENTIAL" im Alarm erforderlich ist. Nicht verwendete
Dateien aus dem Lab entfernt.
- Programmendzeiten wurden nicht aufgezeichnet, wenn das Programm lief, als das Lab
gestoppt wurde.
May 21, 2018
- retlibc-Bewertung korrigiert, um doppeltes Ziel zu entfernen; automatische Bewertung schlug fehl
- Kopien von mynotify.py aus einzelnen Labs und der Lab-Vorlage entfernt; es war
Teil von lab_sys/sbin, aber nicht auf Korrekturen für das acl-Lab aktualisiert worden.
May 18, 2018
- Signalmeldung von exec_wrap maskieren, damit die segv-Fehlermeldung korrekt aussieht.
- Der capinout verlor manchmal stdout, Befehl-stdout beim Tod von cmd prüfen.
- Bewertung von formatstring korrigiert, um die Segmentation-Fault-Meldung abzufangen.
- type_function-Funktion zu SimLab hinzugefügt, um stdout eines Skripts zu tippen (siehe formatstring simlab).
- SimLab-Einschränkung bei der Kombination von einfachen/doppelten Anführungszeichen entfernt.
- window_wait-Direktive zu SimLab hinzugefügt, um anzuhalten, bis ein Fenster mit einem bestimmten Titel
gefunden werden kann.
- plc-Lab geändert, um Titel im physischen Welt-Terminal zu ändern, um den Status widerzuspiegeln,
was auch das Testen erleichtert.
- bufoverflow-Lab-Handbuch-Link korrigiert.
May 15, 2018
- Anhang zur Verwendung des SimLab-Tools zur Simulation der Benutzerausführung von Labs für
Regressionstests und Lab-Entwicklung hinzugefügt.
- wait_net-Funktion zu SimLab hinzugefügt, um anzuhalten, bis ausgewählte Netzwerkverbindungen beendet sind.
- acl-automatische Bewertung geändert, um FILE_REGEX für mehrzeiligen Abgleich zu verwenden.
- SimLab-Test für xsite-Lab.
May 11, 2018
- "noskip"-Datei hinzugefügt, um Sammlung von Dateien zu erzwingen, die sonst in home.tar gefunden werden, benötigt
zum Abrufen von Firefox places.sqlite.
- SQLite-Datenbank mit Write-Ahead-Puffer zusammenführen, bevor extrahiert wird.
- Korrekturen am Lab-Handbuch für symkeylab
- Bewertungserweiterungen für symkeylab und pubkey
- Verbesserungen am SimLab-Tool: Unterstützung von include, Fensterbenennung korrigiert.
May 9, 2018
- Parametrisierung des file-deletion-Lab korrigiert. Fehler in dessen Lab-Handbuch behoben.
- Verwendung von shell=True in Python-Skripten ersetzt, um Prozesse zu reduzieren und PID-Verfolgung zu ermöglichen
- Handbücher für backups, pass-crack und macs-hash bereinigt.
May 8, 2018
- Race-Condition behandelt, um zu verhindern, dass gnome-terminal seinen Docker-Befehl ausführt,
bevor ein xterm-Anweisungsterminal seinen Befehl ausführt.
- Fehler nicht anzeigen, wenn der Kursleiter ein mit "-d" gestartetes Lab stoppt.
- Bewertung von nmap-ssh geändert, um die Absicht des Labs besser widerzuspiegeln.
- Mehrere von olberger auf GitHub vorgeschlagene Dokument- und Skriptkorrekturen.
May 7, 2018
- C-basiertes capinout-Programm anstelle des alten capinout.sh verwendet, um stdin und
stdout zu erfassen. Siehe trunk/src-tool/capinout. Beseitigt Einschränkungen im Zusammenhang mit der Verwendung von Strg-C
zum Unterbrechen überwachter Programme und der Anzeige von Passwörtern in telnet und ssh.
- Unterstützung für saki bulk_download zip-Verarbeitung enthalten, um separat eingereichte
Berichte zu extrahieren und fehlende Einreichungen zusammenzufassen.
- Überprüfungen der vom Benutzer angegebenen E-Mail auf druckbare Zeichen hinzugefügt.
- Bei der Bewertung, wenn die vom Benutzer angegebene E-Mail nicht mit dem Zip-Dateinamen übereinstimmt, die Ergebnisse
dennoch bewerten, aber einen Hinweis auf Betrug in der Tabelle aufnehmen. Erfordert Wiederherstellung, falls
ein Student Müll für eine E-Mail-Adresse eingibt.
- telnetlab-Bewertung geändert, um nicht auf tcpdump-Ausgabe nach Passwörtern zu suchen – capinout-Korrektur
führt zu korrekter zeichenweiser Übertragung an den Server.
- Tippfehler in install-docker.sh behoben und sudo verwendet, um die Docker-DNS-Einstellung in diesem Skript zu ändern.
April 26, 2018
- Übergang zur Verwendung von "labtainer" zum Starten des Labs und "stoplab" zum Stoppen.
- --version-Option zum labtainer-Befehl hinzugefügt.
- Ergebnis-Typen log_ts und log_range sowie Zieloperatoren time_not_during hinzugefügt.
Bewertung der Labs centos-log und sys-log überarbeitet, um diese Funktionen zu nutzen.
- labsys.tar nach /var/tmp anstatt /tmp gelegt, manchmal wurde es vor dem Entpacken gelöscht
- Ausführen von X-Anwendungen als root schlug nach Neustart der VM fehl.
- "User Command"-Manpages zu CentOS-basierten Labs hinzugefügt
- Kürzlichen Fehler behoben, der das Sammeln von docs-Dateien von Studenten verhinderte
- Smoke-Tests geändert, um nur die studentenspezifische Ergebniszeile zu vergleichen, ohne Leerraum20. April 2018
- Der denyhosts-Dienst startet beim ersten Mal nicht; der Start wurde in student_startup.sh verschoben.
- Alle faux_init-Dienste nach der Parametrisierung verschieben – rsyslog startete beim zweiten Booten des Containers nicht.
- April 2018
- Das acl-Lab konnte die Leistung des Trojaner-Schritts nicht richtig bewerten.
- Standardmäßig studentische Dokumente sammeln.
- Das denyhost-Lab wurde geändert, um widerzuspiegeln, dass denyhosts (oder tcp-Wrapper?) jetzt iptables modifiziert. Außerdem startete der denyhosts-Dienst bei manchen Gelegenheiten nicht.
- Beim Aktualisieren von Labtainers: Dateien, die neuer als die im Archiv sind, nicht überschreiben – studentische Laborberichte erhalten.
- April 2018
- Dokumentation für den Zweck von Lab-Zielen hinzufügen und diese für den Dozenten anzeigen, wenn der Dozent ein Lab startet.
- Korrekte Verwendung der precheck-Funktion, wenn das Programm in treataslocal ist; capintout.sh den vollständigen Programm-Pfad übergeben.
- instr_config-Dateien zur Laufzeit kopieren statt während des Image-Builds.
- Abschnitt im Designer Guide zum Debuggen der automatisierten Bewertung hinzufügen.
- Falsche Groß-/Kleinschreibung in Dateinamen von Laborberichten.
- Unnötige chown-Funktion führte dazu, dass instructor.py manchmal abstürzte.
- Unterstützung für automatisiertes Testen von Labs (siehe SimLab und smoketest).
- Testsets und distrib unter trunk verschieben.
- April 2018
- Firefox-Profil überarbeiten, um die Meldung „Sie haben Firefox eine Weile nicht benutzt…“ zu entfernen.
- Unnötige Pulls aus der Registry entfernen – Bilddaten stattdessen über Docker Hub API abrufen.
- März 2018
- Explizites tar anstelle von „docker cp“ für Systemdateien verwenden (Docker folgt nicht Links).
- Sicherungslab beheben: separates Dateisystem verwenden und das Handbuch aktualisieren.
- März 2018
- Unterstützung für Multi-User-Modi (siehe Lab Designer User Guide).
- Build-Abhängigkeit von lab_bin und lab_sys entfernt. Diese werden jetzt während der Parametrisierung des Labs kopiert.
- capinout.sh nach /sbin verschieben, damit es beim Ausführen als root gefunden wird.
- März 2018
- CLONE hinzugefügt, um mehrere Instanzen desselben Containers zu erlauben, z. B. für Labs, die von mehreren gleichzeitigen Studierenden geteilt werden.
- kali-test-Lab anpassen, um ein Beispiel für macvlan und CLONE zu geben.
- Das Skript capinout.sh nach /sbin kopieren, damit root es nach einem sudo su findet.
- März 2018
- macvlan-Netzwerke für die Kommunikation mit externen Hosts unterstützen.
- Kali-Linux-Basis und ein Metasploitable-2-Image hinzufügen (siehe kali-test)
- März 2018
- Bei Verwendung von stop.py keine labname-Erfordernis.
- Fehler durch verwaiste Netzwerke abfangen und den Benutzer über eine Lösung informieren.
- Unterstützung für lokale apt- und yum-Repos am NPS hinzufügen.
- Februar 2018
- dmz-lab hinzufügen.
- „checklocal“ in „precheck“ umbenennen, um auszudrücken, dass es vor dem Befehl ausgeführt wird.
- inotify-Ereignisberichterstattung von der Verwendung von precheck.sh entkoppeln; inotify-Ereignislisten können optional einen Ausgabedateinamen enthalten.
- Bash-Hook auf Root-Operationen ausdehnen, diese bash_history leeren.
- Parametrisierung von start.config-Feldern erlauben, z. B. für zufällige IP-Adressen.
- Überwachung von Diensten unterstützen, die über systemctl oder /etc/init.d gestartet wurden.
- Zeitbegrenzungsqualifizierer einführen, um eine mit Zeitstempeln versehene Logdatei in Bereiche zu organisieren, die durch eine interessante Konfigurationsänderung begrenzt werden (siehe dmz-lab).
- Februar 2018
- Boolesche Werte aus results.config-Dateien werden jetzt als Zielwerte behandelt.
- Unterstützung für reguläre Ausdrücke zur Identifizierung von Artefaktergebnissen hinzufügen.
- Unterstützung für alternative Docker-Registries, einschließlich einer lokalen Test-Registry zum Testen.
- Msc-Fehlerbehebungen in Labs und Lab-Handbüchern.
- Der capinout-Überwachungshook tötete beim Beenden keine Kindprozesse.
- Überwachte Prozesse vor dem Sammeln von Artefakten beenden.
- labtainer.wireshark als Basiscontainer hinzufügen, Dockerfiles bereinigen.
- Januar 2018
- snort-Lab hinzufügen.
- Zeitstempel von Logdateien, z. B. von Syslogs, in mit Zeitstempeln versehene Ergebnisse integrieren.
- Undefinierte Ergebniswerte aus zwischengespeicherten JSON-Ergebnisdateien mit Zeitstempeln entfernen.
- Die time_during-Zielbewertungsoperation ändern, um Zeitstempel mit dem resultierenden Zielwert zu verknüpfen.
- Januar 2018
- Die Verwendung von Registerkartenfenstern führte zum Fehlschlag auf der Dozentenseite; Verwendung von doppelten Anführungszeichen.
- Dateien in _tar-Verzeichnissen (außer .tar) bei der Bestimmung von Build-Abhängigkeiten ignorieren.