Labtainers: Dockerベースのサイバーラボフレームワーク
Labtainers: Dockerベースのサイバーラボフレームワーク ============================================== Labtainersには50以上のサイバーラボ演習と、独自のラボを構築するためのツールが含まれています。[VMアプライアンス][vm-appliance]を1つインポートするか、Linuxシステムにインストールするだけで、学生はこれらのラボおよび将来のラボ演習に向けたプロビジョニングと管理設定を完了できます。 * Dockerコンテナによる一貫したラボ実行環境と自動プロビジョニング * そこそこの性能のノートパソコン上でのマルチコンポーネントネットワークトポロジ * 学生のラボ活動と進捗の自動評価 * 解答の共有を抑制するための個別化されたラボ演習 Labtainersは、学生のコンピュータにインストールされているLinuxディストリビューションやパッケージに関係なく、学生が自分のコンピュータ内だけでラボを完全に実行できる、制御された一貫性のある実行環境を提供します。Labtainersは当方の[VMアプライアンス][vm-appliancee]、またはDockerがインストールされた任意のLinux上で動作します。また、LabtainersはクラウドベースのVMとしても利用可能です。例えば、[Student Guide][student-guide]に記載されているようにAzure上で利用できます。 インストールと使用方法については[Student Guide][student-guide]を、学生の評価については[Instructor Guide][instructor-guide]を参照してください。ラボ演習の開発とカスタマイズについては[Designer Guide][designer-guide]で説明されています。 フレームワークの詳細については[Papers][Papers]を参照してください。 Labtainersのウェブサイトおよびダウンロード(LabtainersがプリインストールされたVMアプライアンスを含む)は <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> ## 内容 [配布と使用](#distribution-and-use) [ディレクトリガイド](#guide-to-directories) [サポート](#support) [リリースノート](#release-notes) ## 配布と使用 ライセンスおよび配布情報については [docs/license.mdファイル](https://github.com/mfthomps/labtainers/blob/master/docs/license.md)を参照してください。 ## ディレクトリガイド * scripts/labtainers-student -- 学生ラボを実行および テストするための作業ディレクトリ。学生ラボを実行するには このディレクトリにいる必要があります。 * scripts/labtainers-instructor -- 自動評価の実行とテスト、 および学生の結果を表示するための作業ディレクトリ。 * labs -- 各ラボに固有のファイル * setup\_scripts -- LabtainersとDockerのインストール、およびLabtainersの更新用スクリプト * docs -- labdesigner.pdfのLaTeXソース、およびその他のドキュメント。 * UI -- Labtainersラボエディタのソースコード(Java)。 * headless-lite -- Docker WorkstationおよびLabtainersのクラウドインスタンス(ネイティブのX11サーバを持たないシステム) を管理するためのスクリプト。 * scripts/designer -- 新しいラボを構築し、ベースDockerイメージを管理するためのツール。 * config -- システム全体の構成設定(これらは ラボ固有の構成設定ではありません)。 * distrib -- 配布サポートスクリプト。例えば、ラボをDocker Hubに公開するためのもの。 * testsets -- テスト手順と期待される結果。(SimLab用のラボごとのドライバは 配布されません)。 * pkg-mirrors -- テストおよび配布中の外部パッケージ取得を削減するための、NPS内部パッケージミラーリング用ユーティリティスクリプト。 ## サポート GitHubのissueレポートを使用するか、[email protected]までメールしてください。 <https://my.nps.edu/web/c3o/support1> も参照してください。 ## リリースノート 標準のLabtainers配布には、新しいラボの開発に必要なファイルは含まれていません。それらが必要な場合は、labtainer/trunk/setup\_scriptsディレクトリから ./update-designer.sh を実行してください。 インストールスクリプトとupdate-designer.shスクリプトは環境変数を設定するため、Labtainersを初めて使用する前にログアウト/ログインするか、新しいbashシェルを起動することをお勧めします。 2026年1月6日 - インデントが原因でインストールスクリプトに混入したバグを修正。 2025年12月30日 - checkworkレポート形式を縦型に変更。ヘッドレス用のビデオガイド。便利なパス。 2025年10月15日 - packet-introspectionラボを改訂し、maxmind地理位置データベースのリンクを更新し、レガシーデータベースの使用について注記。 2025年4月24日 - プルリクエスト#96に従い、imoduleが不足ディレクトリを適切に作成するよう修正 2024年11月22日 - Google Cloud VMを置き換え。今回はコンテナ内のsystemdの障害が原因。 2024年9月23日 - 誤ったDockerバージョンを使用していたGoogle Cloud VMを置き換え 2024年9月10日 - imoduleパス作成時のタイポ 2024年7月26日 - capinoutを修正し、grantpt clib関数を使用しないように変更。これはコンテナから実行するとクラッシュするようになった模様。 2024年7月22日 - Ubuntu22用のベースコンテナと、それをサポートするためのフレームワークの変更を追加。 2024年7月5日 - VMアプライアンスをUbuntu 24に移行 - docker pythonパッケージは壊れたpython httpライブラリを使用しているため、パッケージのダウングレードが必要。 - Ubuntuによるpythonパッケージのロックダウンを回避するため、仮想python環境を使用。 - コンテナとVM間でsystemdを共有できるようにするブートパラメータを追加。 - 更新時に壊れたtarユーティリティからのエラーメッセージをリダイレクト。 - バージョン18 VMにおけるmscパッケージのUbuntu更新による破損(update-ubuntu.shを参照) - docker-composeコマンドが壊れているため、"docker compose"を使用。 - ヘッドレスLabtainersでソケットパーミッションを強制。 - ヘッドレスLabtainersをUbuntu 24を使用するよう更新 2023年11月27日 - ec2マシン上のubuntu22用にGoogle Cloud Platformオプションを追加。 2023年9月18日 - 以前の修正実装に欠陥があった。 2023年8月8日 - DockerHubイメージのjson形式の変更に対応。Keesに感謝! 2023年4月17日 - 最新のラボバージョンを強制的に使用。例:iptablesではなくiptables2。タブ補完を最新のみ表示するよう修正。(Issue #77) - X11の競合状態によりCyberCIEGEラボのインストールが失敗していた。(Issue #76) - CyberCIEGEのreadmeに、収集したログを$HOMEディレクトリに保存するよう学生に指示する注記を追加。(Issue #75) - Radiusラボのcheckworkが誤って"radiusd not running"と報告。prestopスクリプトが欠落していた。(Issue #74) - MACVLAN\_EXTオプション使用時にLabeditがstart構成ファイルを破損していた。(Issue #73) 2023年2月1日 - 非デフォルトユーザのBash履歴が保存されていなかった。 2023年1月26日 - gcloud用のpowershellスクリプトを修正し、選択したゾーンでVM名を修飾するよう変更。 2023年1月4日 - systemdを使用するコンテナが、Ubuntu 22に存在する新しいsystemdで失敗していた - google cloudスクリプトに--zoneパラメータを追加。値はset\_defaultsスクリプトから取得。 2022年12月21日 - xforgeの結果基準を修正し、パス名を期待しないように変更。また、プロファイル編集のためにPOSTが発行されたかを確認するチェックを追加。さらに、攻撃者の httpサーバをホームディレクトリから実行するよう修正。 2022年12月19日 - システムコールトレースを紹介するstraceラボを追加。 - /tmp/.X11-unixディレクトリに複数のデバイスがある場合、X11 DISPLAY値が不正確だった。 - 引数なしでpython/bash/sh/etcを使用するとcapinoutがクラッシュしていた。 2022年12月9日 - Azure VM作成スクリプトを修正し、Azure Community Galleryのビルド済みLabtainer VMイメージを使用するよう変更。 - クラウドVM上のターミナルが、起動時またはターミナル上での右クリック時に原因不明でクラッシュする。ターミナルの起動/停止により 対処を試みる。 2022年12月5日 - アーティファクト収集時に、非デフォルトユーザのディレクトリから変更されたファイル(例:彼らのbash履歴)を含める。 - web評価を変更し、新しい「他ユーザ」ファイルを表示するように。 - 各コンテナの.local/binのファイルをアーティファクトに含める。これはインストラクタがweb評価を通じて利用できるようにすることを意図。 - ACLラボで、インストラクタが参照できるよう結果に/shared\_data/bob/funファイルを含める。 - コマンドラインからの"sh"や"bash"の使用を検出し、指定コマンドの解析時にスキップする。例:"time"や"sudo"で行っているように。 - tcpipラボで、後続のラボセッション中にサーバへsshできなかった。/run/sshdディレクトリが再作成されていなかった。 2022年11月16日 - snortラボのSnortマニュアルへのパスを修正。 - ossecマニュアルで、manage\_agentsへのパスを修正 2022年10月12日 - Google Cloudでgnome-terminalコマンドからバックグラウンド演算子を削除。右クリックで依然クラッシュするが、 newterm.sh実行後は安定する模様。 2022年10月10日 - Google Cloudのnewterm.shを修正。ブートディスクを30Gに拡張。 2022年9月20日 - TCP/IPラボのユーザIDとパスワードをラボマニュアルに記載。 2022年8月30日 - コンテナの.profileからDISPLAYを設定する際にX11ソケット名を使用。 2022年8月9日 - graderのprocessValueMax関数の名前を修正。Issue #63 2022年8月4日 - labeditプログラムが誤ったJDKで再ビルドされ、古いJREでlabeditを実行できなかった 2022年7月18日 - IModule内でUbuntu20ベースのコンテナの作成が失敗していた。Issue #61。 2022年3月23日 - tap lockディレクトリへのパスを修正。ネットワークタップを使用するラボの失敗を引き起こしていた - plc-traffic netmonコンピュータを更新し、java環境の新しいgrassmarlinに必要なopenjfxを持たせる - chown -Rを回避してラボ起動を高速化。これはdockerで非常に遅い。 - コンテナの/tmpディレクトリ内のX11リンクの削除を回避するための別の試み。 - webtrackの訪問サイト数のカウントを修正し、live-headersゴールを削除。そのツールはもはや利用できない。 一部のラボマニュアル手順を明確化。 2022年3月2日 - 新しいssh-tunnelラボを追加(GWDに感謝!) - new\_lab\_setupで設定されたX11値をlabeditが反映しない不具合を修正 - コンテナをパラメータ化しないオプションを追加 2022年2月23日 - 新しいコンテナの追加後、labeditがstart.configを破損していた - 学生READMEファイル内の学生ガイドへのパスが不正確。クラウド構成用に動的に変更 - update-labtainer.shの拡張子が不正確 - Mscガイドの機能強化 - ghidraラボを更新し、Ghidraのバージョン10.1.2を含める 2022年2月15日 - Azureクラウドサポートを各学生ごとのプロビジョニングに戻す。Azureはリソースの共有を推奨していない。 2022年1月24日 - Azureクラウドは、各学生ごとにプロビジョニングする代わりに、Azure blobに保存されたイメージを使用するように。 - Google Cloudのサポートを追加。 2022年1月19日 - Azureクラウド上でLabtainersを導入。使用方法の詳細はStudent Guideを参照。 2022年1月3日 - setuid-envラボを改訂し、より良い評価を追加。simlabテストとprintenv子プロセスでのsighup回避。 - 評価ゴールカウントディレクティブを修正し、結果タグ値がfalseのものを除外。 - デバッグオプションで起動されたgraderでgradelab -aを使用する際にlabnameを必須としない。 - capinout(stdin/stdoutミラーリング)を改訂し、コマンドプロセス子の孤児化を処理。ドキュメントとエラー処理を改善。 - ラボ初回実行時にプルされるdockerイメージのプログレスバー表示を追加。 - コンテナ初期化の進捗に関するユーザフィードバック。 - pcap-libラボに自動評価に必要なnotifyファイルが欠落していた。Lab Manualから不要なステップを削除。 2021年11月23日 - テストVMでubuntuのポップアップエラーを無効化。 - 異なるDISPLAY変数形式の処理を修正。 2021年10月22日 - tcpipラボガイドを改訂し、syn-flood攻撃の成功は不可能であることを注記。その自動評価を修正し、SimLabスクリプトを追加。 - アーティファクトファイルの拡張子をzipからlabに変更し、GUIファイルマネージャを混乱させるためのプリアンブルを追加。学生がzipを開いて中身を提出していた。 - gradelabの-rオプションをデフォルトにし、graderの累積使用のための-cオプションを追加。 - refresh\_mirrorを修正し、ローカルリリース日を参照してDockerHubへの頻繁なクエリを回避。そのようなクエリはそれぞれイメージプルとしてカウントされ、 それらを収益化しようとしている。 2021年9月30日 - bufoverflowラボガイドと採点を変更し、ASLRが有効な状態での成功を期待しないようにし、実行されたかどうかを評価。 - 学生が結果を持たない場合のweb graderのエラー処理。 - 非推奨ラボが実行された際に警告を表示。 - formatstring採点を変更し、未使用の"\_leaked\_secret"記述を削除し、leaked\_no\_scanfの値を明確化。 - またformatstring採点を変更し、脆弱な実行ファイルの任意の名前を許可。 2021年9月29日 - Gradelabのエラー処理、不正なzipファイルによるクラッシュの発生を削減。 - stdoutアーティファクトファイルを1MBに制限 2021年9月17日 - GhidraラボガイドのIPアドレスが誤っており、ソースから再作成されていなかった。 2021年9月14日 - SSLを使用するLDAPとMariadbのサンプルラボ。新しいラボのテンプレートとして意図。 - Mariadbログ形式を処理 - CPU使用を制限する、またはコンテナをCPUセットに固定するためのコンテナごとのパラメータを追加。 - Labpack作成がGUI(makepackui)経由で利用可能に。 - labtainer、labpack、gradelabコマンドのタブ補完。 - MPIを使用した新しい並列コンピューティングラボ ``parallel''。 2021年8月3日 - コンテナが別のコンテナのパラメータ化完了までパラメータ化を遅延させるための"WAIT\_FOR"構成オプションを追加。 - 結果解析でのMariadbログ形式のサポート - MacおよびWindowsでのDocker Desktop使用のサポートを削除。その製品は当方でサポートするには不安定すぎる。 - ユーザが"which"などの組み込みbashコマンドを使用した際のstderrメッセージを抑制。 - makepack/labpackプログラムのバグ修正。 2021年7月19日 - DNSプロトコルと構成を紹介するDNSラボを追加。 - VirtualBoxアプライアンスイメージを改訂し、正しい更新スクリプトで起動するように。 - resolv.confのnameserverパラメータをlab\_gw構成フィールドから分離し、独自の値に。 - ラボが1つも起動される前にIModuleコマンドを実行すると失敗していた。 2021年7月5日 - DISPLAY環境変数管理のエラーにより、Docker Desktop上のGUIアプリケーションが壊れていた。 2021年7月1日 - ヘッドレスLabtainersのMacパッケージインストールをサポート。 - routing-basicsラボの自動評価がtreataslocalファイルの欠如により失敗 - routing-basicsラボのタイポと誤ったアドレスを修正し、自動評価を修正。 - pcapanalysisの評価が失敗していた。 2021年6月10日 - すべてのラボマニュアルPDFがgithubリポジトリに配置された - vpnlabとvpnlab2の手順をPDFラボマニュアルに変換。 2021年5月25日 - 各ラボに検索可能なキーワードを追加。使用方法は"labtainer -h"を参照。 - routing-basicsラボとラボマニュアルを拡張 - routing-basics2ラボを削除。冗長になったため。 - 一部のコンテナでsudoが失敗。ホスト名がアンダースコアを削除し、hostsファイルと不一致になるため。 hostsファイルにアンダースコアなしのコンテナ名の追加エントリで修正。 - ラボのコレクションをパッケージ化する新しいLabpack機能、およびLabpackを作成するmakepackツール。 - ubuntu20使用時の/sbinディレクトリのエラーチェック -- サイレントに致命的となっていた。 - 新しいnetwork-basicsラボ 2021年5月5日 - ユーザ/グループ管理を紹介する新しいusersラボを導入 - centosコンテナのsyslogでApparmorホストメッセージを抑制 2021年4月28日 - 新しいbase2イメージにmanページが欠落していた。ベースイメージでunminimizeを使用して復元。 - OSSECホストベースIDSラボを導入。 2021年4月13日 - fixlocal経由でWineを起動する前にX11ソケットが再配置されなかったため、CyberCIEGEラボが失敗。 2021年4月9日 - 単純なC++プログラムでGDBを使用するための新しいgdb-cppチュートリアルラボ。 - 浮動小数点例外により、stdin/stdoutミラーリングのためのexec\_wrap.shの使用が露見していた。 2021年4月7日 - ldapラボがUbuntu 20に移行した際に失敗。問題はpwdのnscdキャッシュの問題に起因。ldapをUbuntu 20に移行 2021年3月23日 - RANDOMでのパラメータ化に上限が含まれていなかった。 - RANDOMにオプションのstepパラメータを追加。例:単語境界を確保するため。 - db-accessラボ:データベースコンピュータにmysql-workbenchを追加。 - cデータ構造の境界を超えたメモリ参照を例示する新しいoverrunラボ。 - printf関数によるメモリ参照を紹介する新しいprintfラボ。 2021年3月19日 - gradelabがmakdirsエラーを無視。共有フォルダでのWindows rmtreeの問題。 - gradelabが学生zipファイル名のスペースを処理。 - gradelabがMoodleからのzipファイル名(ビルドダウンロードを含む)を処理。 2021年3月12日 - labedit UI:ベースイメージのリストから古いwiresharkイメージを削除。 - labedit UI:一部のフォントサイズを拡大。 - grader webインターフェースが、マニュアル名が命名規則に従っていない場合にラボマニュアルを表示できなかった。 2021年3月11日 - labedit UIで新しいグローバルラボ構成パネルにレジストリ設定を追加。 2021年3月10日 - labedit UIの修正:ラボに構文エラーがある場合はビルドしない - labedit UIの「Lab running」インジケータを修正し、現在のラボを反映。 2021年3月8日 - HOST\_HOME\_XFERの使用を非推奨化。すべてのラボはlabtainer.configファイルに従ったディレクトリを使用。 - start.configにREGISTRYとBASE\_REGISTRYのドキュメントコメントを追加 2021年3月5日 - 結果が欠落している場合のgradelab webインターフェースのエラー処理。 - labeditのprecheck追加、mscバグ修正。 2021年2月26日 - dmz-exampleラボで、一部コンポーネントのルーティングとdnsmasqのセットアップにエラーがあった。 2021年2月18日 - UIが理由なくファイル時刻を更新していたため、イメージを再ビルドしていた - UIコードを整理し、冗長なデータコピーを削除。 2021年2月14日 - UIにローカルビルドオプションを追加 - centos6ベース用に空のfaux\_initを作成。 2021年2月11日 - ファイル編集のUI処理を修正。レイアウトを改訂し、未使用フィールドを削除。 - ubuntu20 base2ベース構成をssh2、network2、wireshark2とともに追加 - 新しいwiresharkは黒/ノイズウィンドウの問題を解決。 - /tmp/.X11-unixを/var/tmpにマップし、リンクを作成。ubuntu20で必要(/tmpを削除していた?)であり、他も修正する可能性がある。 2021年2月4日 - 結果アーティファクトにSIZEオプションを追加 - wireshark-introの評価とパラメータ化を簡素化し、PDFラボマニュアルを追加。 - パラメータリスト値を環境変数としてpregrade.shスクリプトに提供 - graderでX11を有効化 - update-designer.shをユーザのパスに配置。 2021年1月19日 - READMEの日付/リビジョンの管理を変更し、ソースリポジトリ内のファイルを更新するように。 - ラボを作成/編集するためのGUIを導入 -- labeditコマンドを参照。 2020年12月21日 - VirtualBox共有フォルダからzipファイルをコピーした際にgradelab関数が失敗していた。 - Instructor Guideを更新し、ホストコンピュータ上の学生zipファイルの管理について説明。 2020年12月4日 - tarの配布をGitHubリリースアーティファクトに移行 - 別個のdesigner tarファイルを廃止し、gitリポジトリのtarballを使用。 - 学生ラボアーティファクトの分析のためのgrader web機能のテスト - 完全なsmoketestからログをクリアし、removelabコマンドでgraderコンテナを削除。 2020年12月1日 - iptables2ラボの評価が、ランダムポートがnmapにとって「未知」であることに依存していた。 - 同期ディレクトリを使用し、ラボ起動前にsmoketestが開始されるのを遅延。 - Lab designer UI要素の統合を開始。 2020年10月13日 - MacおよびWindows上のDocker Desktopで実行するためのヘッドレス構成 - ヘッドレスサーバサポート、クラウドデプロイ用のcloud-configファイル - ヘッドレス構成のテストサポート - 起動時にrc.localが実行されるまでmynotifyを強制的に待機 - mynotifyサービスの出力を単一のタイムスタンプにマージする機能を改善 - stopgradeスクリプトをPython3に - SimLabがsystem psではなくdocker topを使用するように 2020年9月26日 - stoplabスクリプトを整理し、非ラボコンテナを無視するように - mysqlデータベースの制御された共有のためのdb-accessデータベースアクセス制御ラボを追加。 2020年9月17日 - X11設定のため、macs-hashラボがLeafpadを実行できなかった。 - Graderログが誤ったログファイルにリダイレクトされていた。instructor.pyからのエラーを捕捉するように - エラーがある場合、graderからホストのlogsディレクトリにinstructor.logをコピー。 2020年8月28日 - インストールスクリプトを修正し、python3-pipを使用するようにし、壊れたスクリプト(getinfo.pyとpull-all.py)を修正 - レジストリロジックが壊れており、テストシステムがテストレジストリを使用していなかった。開発ドキュメントを追加。 - OWASPベースのwebセキュリティラボ用にjuiceshopとowaspのベースファイルを追加 - check\_netsから不要なsudoを削除 - 自動評価用のCHECK\_OKドキュメントディレクティブを追加 - check\_netsを変更し、指示があればiptablesとルーティングの問題を修正するように。 2020年8月12日 - prestopスクリプトにタイムアウトを追加 - dmz-labにquizとcheckworkを追加 - -rオプションなしでdmz-labを再起動すると、ISPからのルーティングが壊れた。 - time\_delim結果に複数のファイルを許可。2020年8月6日 - X11ソケットが存在しない場合のエラー処理のバグ - クイズの問題文のカンマがパースエラーを引き起こしていた - iptables2ラボにクイズとcheckworkを追加 2020年7月28日 - クイズサポートを追加 -- これらはガイダンスクイズであり、評価クイズではない。デザイナーガイドを参照。 - checkworkコマンドで使用する現在状態の評価を追加。 2020年7月21日 - testsets/binをデザイナーのパスに追加 - デザイナーガイドの修正とIModuleステップの説明。 - ログエントリに対する正規表現を用いた時間範囲を定義するためのRANGE\_REGEX結果タイプを追加。 - ラボ起動時に必要であればX11ソケットが存在することを確認。 - mysql用のベースイメージを追加 - 結果解析でmysqlのログタイムスタンプ形式を処理。 2020年6月15日 - Birdオープンソースルーターを含む新しいベースイメージ - bird-bgp Border Gateway Protocolラボを追加。 - bird-ospf Open Shortest Path Firstルーティングプロトコルを追加。 - DNS変更の処理を改善、一部のサイトで一部のコンテナからの外部アクセスがブロックされていた。 - インターネットアクセスのない環境でLabtainersを使用する方法についてインストラクターガイドにセクションを追加。 2020年5月21日 - すべてのリポジトリをDocker Hubのlabtainersレジストリに移動 - 永続的なソフトウェアインストールを可能にするため、start.configで定義されたマウントをサポート - idaラボをIDAの永続インストールを使用するように変更 -- 新しい名前はida2 - DARPA Cyber Grand Challengeの200以上の脆弱なサービスを探索するためのcgcラボを追加 - SimLabにtype\_stringコマンドを追加 - NetFlowネットワークトラフィック分析を使用するためのnetflowラボを追加 - bufoverflowおよびformatstringラボの64ビット版を追加 2020年4月9日 - ファイル選択にワイルドカードが使用された場合、GraderがCONTAINSおよびFILE\_REGX条件の評価に失敗していた。 - symlabラボでhexeditを使用するためのヒントを含めた。 - 設定ファイルに期待される回答を公開することを避けるため、自動評価にhash\_equal演算子とhash-goals.pyを追加。 - pcap-libラボの自動評価。 2020年4月7日 - ログが$LABTAINER\_DIR/logsに移動された - Jenkinsを使用した再ビルドとテストを可能にするその他のクリーンアップ、ビルド用の一意の一時ディレクトリの使用を含む - ビルドサポート関数をlabutilsからbuild.pyに移動 - トラフィック分析プログラムのPCAPライブラリベースの開発のためのpcap-libラボを追加 2020年3月13日 - ラボ中に生成されたトラフィックでGrassMarlinを使用するためのplc-trafficラボを追加。 - 選択したネットワークからPCAPを収集するための「tap」コンテナを追加する機能を導入。 - コンテナへの外部アクセス、およびダミーUSBドライブをシミュレートするためのdummy\_hcdの使用についてGNS3ドキュメントを更新。 - kaliテンプレートをsystemdを使用しようとするのではなくfaux\_initを使用するように変更。 - ディストリビューション(tarファイル)をbox.comに移動 - SimLabのnetstatの使用をDNSルックアップを行わないように変更。 2020年2月26日 - labtainerコマンドがラボを見つけられない場合、ユーザーにupdate-labtainer.shの実行を提案 - すべてのネットワークトラフィックを表示するためのネットワークタップコンポーネントの予備サポートを追加。 - インターネットなしで使用されるVMを準備するためにラボイメージを取得するスクリプト。 - nmap-discoveryラボのユーザー名とパスワードを提供。 2020年2月18日 - :0を仮定するのではなく、ホスト(例:VM)からDISPLAY環境変数を継承。 2020年2月14日 - Ghidraソフトウェアリバースエンジニアリング入門演習を追加。 2020年2月11日 - GNS3環境内のコンテナへのリモートアクセスを説明するようにガイドを更新 - GNS3内の選択したコンポーネントとリンクを非表示。 - webtrackラボガイドの図が表示されなかった;これとnmap-sshのタイポ 2020年2月6日 - コンテナをリモートで管理する機能を導入、例:ファイルのプッシュ。 - USBドライブの挿入をシミュレートするGNS3環境機能を追加。 - Dockerビルドエラーの処理を改善。 2020年2月3日 - metasploitラボで、postgresqlサービスが被害者上で実行されていなかった。 - IModuleマニュアルの内容をLab Designerガイドに統合。 - さらなるIModuleサポート。 2020年1月27日 - IModules(インストラクターが開発したラボ)の初期サポートを導入。docs/imodules.pdfを参照。 - update-labtainer内の壊れたLABTAINER\_DIR環境変数を修正 - ACLラボのaccounting.txtファイルのアクセスモードを修正(rw-r-rになっていた)。fixlocal.shで明示的なchmodを使用。 2020年1月14日 - フレームワークとgradelabをPython3に移植(既存のPython2ラボは変更されない) - 後方互換のrandom.seedオプションを使用 - 非互換のrandintをハックして古い値を返す - python3を欠くプラットフォーム(またはrandom.seed互換性を壊すpython 3.5.2を含む古いVMアプライアンスなど)向けにpython2のサポートを継続。 - 必要に応じてpython2を選択するrebuild.pyのrebuildエイリアスを追加。 - Centosベースのラボのmanpageが失敗していた;ベースdockerファイル内でmandbを使用 - dmz-labのDMZネットワークのネットマスクが間違っていた(python3で検出);ラボマニュアルの内部ゲートウェイのIPアドレスも同様 - ghexをcentosラボから削除 -- centos 7ではもはや簡単にサポートされない - file-deletionラボはVMを再起動せずに完了する必要がある、これをラボマニュアルに記載。 - コンテナのデフォルトゲートウェイを無効にするNO\_GWスイッチをstart.configに追加。 --- [Read more](https://github.com/mfthomps/labtainers)