Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Labtainers — Labtainers: Docker 기반 사이버 연구실 프레임워크 | Kitploit
도구/GitHubGitHub/mfthomps/labtainers
Vulnerability AnalysisForensicsWeb SecurityNetwork SecurityDigital ForensicsCryptographyCTFPenetration TestingIntrusion DetectionLearning & EducationBinary ExploitationLabs & Practice
310791011개월 전Kitploit 검토 완료
GitHubmfthomps/labtainers

Labtainers

Labtainers: Docker 기반 사이버 연구실 프레임워크

저장소 보기웹사이트

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
Labtainers: Docker 기반 사이버 랩 프레임워크
==============================================

Labtainers에는 50개 이상의 사이버 랩 실습과 직접 제작할 수 있는 도구가 포함되어 있습니다. 단일 [VM 어플라이언스][vm-appliance]를 가져오거나 Linux 시스템에 설치하면, 학생들은 이 실습과 향후 랩 실습을 위한 프로비저닝 및 관리 설정을 완료할 수 있습니다.

* Docker 컨테이너를 통한 일관된 랩 실행 환경 및 자동 프로비저닝
* 적당한 성능의 노트북 컴퓨터에서의 다중 구성 요소 네트워크 토폴로지
* 학생 랩 활동 및 진행 상황의 자동 평가
* 해결책 공유를 방지하기 위한 개별화된 랩 실습

Labtainers는 학생들이 자신의 컴퓨터에 설치된 Linux 배포판과 패키지에 관계없이 전적으로 자신의 컴퓨터 내에서 랩을 수행할 수 있는 통제되고 일관된 실행 환경을 제공합니다. Labtainers는 [VM 어플라이언스][vm-appliancee] 또는 Docker가 설치된 모든 Linux에서 실행됩니다. 또한 Labtainers는 [Student Guide][student-guide]에 설명된 대로 Azure와 같은 클라우드 기반 VM으로도 사용할 수 있습니다.

설치 및 사용 방법은 [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>

## Content
[Distribution and Use](#distribution-and-use)

[Guide to directories](#guide-to-directories)

[Support](#support)

[Release notes](#release-notes)

## Distribution and Use
라이선스 및 배포 정보는
[docs/license.md 파일](https://github.com/mfthomps/labtainers/blob/master/docs/license.md)을 참조하십시오.

## Guide to directories

* 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 패키지 미러링용 유틸리티 스크립트.

## Support
GitHub 이슈 보고서를 사용하거나 [email protected]로 이메일을 보내주십시오.

<https://my.nps.edu/web/c3o/support1>도 참조하십시오.


## Release notes

표준 Labtainers 배포판에는 새로운 랩 개발에 필요한 파일이 포함되어 있지 않습니다. 해당 파일은 labtainer/trunk/setup\_scripts 디렉터리에서 ./update-designer.sh를 실행하십시오.

설치 스크립트와 update-designer.sh 스크립트는 환경 변수를 설정하므로, Labtainers를 처음 사용하기 전에 로그아웃/로그인하거나 새로운 bash 셸을 시작하는 것이 좋습니다.

2026년 1월 6일
- 들여쓰기로 인해 설치 스크립트에 발생한 버그를 수정했습니다.

2025년 12월 30일
- checkwork 보고서 형식을 세로형으로 수정; headless용 비디오 가이드; 편의 경로

2025년 10월 15일
- packet-introspection 랩을 수정하여 maxmind 지리 위치 데이터베이스의 링크를 업데이트하고 레거시 데이터베이스 사용을 명시했습니다.

2025년 4월 24일
- pull request #96에 따라 누락된 디렉터리를 올바르게 생성하도록 imodule을 수정했습니다.

2024년 11월 22일
- Google Cloud VM을 교체했습니다. 이번에는 컨테이너 내부의 systemd 실패 때문이었습니다.

2024년 9월 23일
- 잘못된 Docker 버전을 사용하던 Google Cloud VM을 교체했습니다.

2024년 9월 10일
- imodule 경로 생성 시 오타

2024년 7월 26일
- 컨테이너에서 실행할 때 충돌하는 것으로 보이는 grantpt clib 함수를 사용하지 않도록 capinout을 수정했습니다.

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"를 사용하십시오.
- headless labtainers에서 소켓 권한을 강제합니다.
- headless 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. 탭 완성이 최신 버전만 표시하도록 수정했습니다. (이슈 #77)
- X11 경쟁 조건으로 인해 CyberCIEGE 랩 설치가 실패했습니다. (이슈 #76)
- CyberCIEGE readme에 학생들이 수집한 로그를 $HOME 디렉터리에 저장하도록 안내하는 내용을 추가했습니다. (이슈 #75)
- Radius 랩 checkwork가 "radiusd not running"을 잘못 보고했으며, prestop 스크립트가 누락되었습니다. (이슈 #74)
- MACVLAN\_EXT 옵션을 사용할 때 Labedit이 시작 구성 파일을 손상시켰습니다. (이슈 #73)

2023년 2월 1일
- 비기본 사용자의 Bash 기록이 저장되지 않았습니다.
2023년 1월 26일
- VM 이름을 한정하기 위해 선택한 영역을 사용하도록 gcloud용 powershell 스크립트를 수정했습니다.
2023년 1월 4일
- systemd를 사용하는 컨테이너가 Ubuntu 22에 있는 최신 systemd에서 실패했습니다.
- set\_defaults 스크립트에서 파생된 값을 사용하여 google cloud 스크립트에 --zone 매개변수를 추가했습니다.
2022년 12월 21일
- xforge 결과 기준이 경로명을 기대하지 않도록 수정하고, 프로필 편집을 위해 POST가 발행되었는지 확인하는 검사를 추가했습니다. 또한 공격자
  http 서버가 홈 디렉터리에서 실행되도록 수정했습니다.
2022년 12월 19일
- 시스템 호출 추적을 소개하는 strace 랩을 추가했습니다.
- /tmp/.X11-unix 디렉터리에 여러 장치가 있는 경우 X11 DISPLAY 값이 잘못되었습니다.
- 인수 없이 python/bash/sh/etc를 사용하면 capinout이 충돌했습니다.
2022년 12월 9일
- Azure Community Gallery의 사전 빌드된 Labtainer VM 이미지를 사용하도록 Azure vm 생성 스크립트를 수정했습니다.
- 클라우드 VM의 터미널이 시작 중이나 터미널을 마우스 오른쪽 버튼으로 클릭할 때 알 수 없는 이유로 충돌합니다. 터미널을 시작/중지하여
  해결을 시도했습니다.
2022년 12월 5일
- 아티팩트를 수집할 때 비기본 사용자의 디렉터리에서 수정된 파일(예: bash 기록)을 포함합니다.
- 새로운 "other user" 파일을 표시하도록 웹 평가를 변경했습니다.
- 각 컨테이너의 .local/bin에 있는 파일을 아티팩트에 포함합니다. 강사가 웹 평가를 통해 이러한 파일을 사용할 수 있도록 하기 위한 것입니다.
- 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 함수의 이름을 수정했습니다. 이슈 #63

2022년 8월 4일
- labedit 프로그램이 잘못된 JDK로 재빌드되어 이전 JRE에서 labedit을 실행할 수 없었습니다.

2022년 7월 18일
- IModule 내에서 Ubuntu20 기반 컨테이너 생성이 실패했습니다. 이슈 #61.

2022년 3월 23일
- tap lock 디렉터리 경로를 수정했습니다. 네트워크 탭을 사용하는 랩의 실패 원인이었습니다.
- java 환경의 새로운 grassmarlin에 필요한 openjfx를 갖도록 plc-traffic netmon 컴퓨터를 업데이트했습니다.
- docker에서 매우 느린 chown -R을 피하여 랩 시작 속도를 높였습니다.
- 컨테이너 /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의 결과 태그 값을 제외하도록 평가 목표 카운트 지시문을 수정했습니다.
- debug 옵션으로 시작된 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 옵션을 추가했습니다.
- DockerHub에 대한 빈번한 쿼리를 피하기 위해 로컬 릴리스 날짜를 참조하도록 refresh\_mirror를 수정했습니다. 이러한 각 쿼리는 이미지 풀에 해당하며,
  이제 이를 수익화하려고 합니다.

2021년 9월 30일
- bufoverflow 랩 가이드와 채점을 수정하여 ASLR이 켜진 상태에서 성공을 기대하지 않고, 실행되었는지 평가합니다.
- 학생이 결과를 가지고 있지 않은 경우를 위한 웹 grader의 오류 처리.
- 더 이상 사용되지 않는 랩이 실행될 때 경고를 출력합니다.
- 사용되지 않는 "\_leaked\_secret" 설명을 제거하고 leaked\_no\_scanf의 값을 명확히 하도록 formatstring 채점을 변경했습니다.
- 또한 취약한 실행 파일의 이름을 허용하도록 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 구성 필드에서 분리하여 자체 값으로 만들었습니다.
- 랩을 시작하기 전에 IModule 명령을 실행하면 실패했습니다.

2021년 7월 5일
- DISPLAY 환경 변수 관리의 오류로 Docker Desktop에서 GUI 애플리케이션이 중단되었습니다.

2021년 7월 1일
- headless Labtainers의 Mac 패키지 설치를 지원합니다.
- treataslocal 파일 부족으로 routing-basics 랩 자동 평가가 실패했습니다.
- routing-basics 랩의 오타와 잘못된 주소를 수정하고 자동 평가를 수정했습니다.
- pcapanalysis 평가가 실패했습니다.

2021년 6월 10일
- 모든 랩 매뉴얼 PDF가 이제 github repo에 있습니다.
- 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일
- Ubuntu 20으로 이동했을 때 ldap 랩이 실패했습니다. 문제는 nscd의 pwd 캐시 문제로 추적되었습니다. ldap을 Ubuntu 20으로 이동했습니다.

2021년 3월 23일
- RANDOM으로 매개변수화할 때 상한이 포함되지 않았습니다.
- RANDOM에 선택적 단계 매개변수를 추가했습니다. 예: 단어 경계를 보장하기 위해.
- 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 웹 인터페이스가 랩 매뉴얼을 표시하지 못했습니다.

2021년 3월 11일
- labedit UI에서 새로운 전역 랩 구성 패널에 레지스트리 설정을 추가했습니다.

2021년 3월 10일
- labedit UI 수정: 랩에 구문 오류가 있으면 빌드하지 않도록 수정
- labedit UI "Lab running" 표시기가 현재 랩을 반영하도록 수정했습니다.

2021년 3월 8일
- HOST\_HOME\_XFER 사용을 폐기했습니다. 모든 랩은 labtainer.config 파일에 따른 디렉터리를 사용합니다.
- REGISTRY 및 BASE\_REGISTRY에 대한 문서 주석을 start.config에 추가했습니다.

2021년 3월 5일
- 결과가 누락된 경우 gradelab 웹 인터페이스의 오류 처리.
- 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 처리를 수정했습니다. 레이아웃을 수정하고 사용하지 않는 필드를 제거했습니다.
- ssh2, network2 및 wireshark2와 함께 ubuntu20 base2 기본 구성을 추가했습니다.
- 새로운 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 날짜/개정 관리를 소스 repo의 파일을 업데이트하도록 변경했습니다.
- 랩 생성/편집을 위한 GUI를 소개했습니다. labedit 명령을 참조하십시오.

2020년 12월 21일
- VirtualBox 공유 폴더에서 zip 파일을 복사할 때 gradelab 함수가 실패했습니다.
- 호스트 컴퓨터에서 학생 zip 파일 관리를 설명하도록 Instructor Guide를 업데이트했습니다.

2020년 12월 4일
- tar 배포를 GitHub 릴리스 아티팩트로 전환했습니다.
- 별도의 designer tar 파일을 제거하고 git repo tarball을 사용합니다.
- 학생 랩 아티팩트 분석을 위한 grader 웹 기능 테스트
- 전체 smoketest에서 로그를 지우고 removelab 명령에서 grader 컨테이너를 삭제합니다.

2020년 12월 1일
- iptables2 랩 평가가 nmap에 "알려지지 않은" 임의 포트에 의존했습니다.
- 랩 시작 전에 smoketest가 시작되지 않도록 sync 디렉터리를 사용하여 지연시켰습니다.
- Lab designer UI 요소 통합을 시작했습니다.

2020년 10월 13일
- Mac 및 Windows의 Docker Desktop에서 실행하기 위한 headless 구성
- headless 서버 지원, 클라우드 배포를 위한 cloud-config 파일
- headless 구성에 대한 테스트 지원
- 부팅 시 rc.local이 실행될 때까지 mynotify가 기다리도록 강제합니다.
- mynotify 서비스가 출력을 단일 타임스탬프로 병합하는 기능을 개선했습니다.
- stopgrade 스크립트용 Python3
- SimLab이 이제 system ps 대신 docker top을 사용합니다.

2020년 9월 26일
- 랩이 아닌 컨테이너를 무시하도록 stoplab 스크립트를 정리했습니다.
- mysql db의 통제된 공유를 위한 db-access 데이터베이스 접근 제어 랩을 추가했습니다.

2020년 9월 17일
- X11 설정으로 인해 macs-hash 랩에서 Leafpad를 실행할 수 없었습니다.
- Grader 로깅이 잘못된 로그 파일로 리디렉션되었으며, 이제 instructor.py의 오류를 캡처합니다.
- 오류가 있는 경우 grader에서 호스트 로그 디렉터리로 instructor.log를 복사합니다.

2020년 8월 28일
- python3-pip를 사용하도록 설치 스크립트를 수정하고 깨진 스크립트(getinfo.py 및 pull-all.py)를 수정했습니다.
- 레지스트리 로직이 깨졌으며, 테스트 시스템이 테스트 레지스트리를 사용하지 않았습니다. 개발 문서를 추가했습니다.
- OWASP 기반 웹 보안 랩을 위한 juiceshop 및 owasp 기본 파일을 추가했습니다.
- check\_nets에서 불필요한 sudo를 제거했습니다.
- 자동 평가를 위한 CHECK\_OK 문서 지시문을 추가했습니다.
- 지시된 경우 iptables 및 라우팅 문제를 수정하도록 check\_nets를 변경했습니다.

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" 컨테이너를 추가하는 기능 도입.
- 컨테이너에 대한 외부 접근 및 dummy\_hcd를 사용한 USB 드라이브 시뮬레이션에 대한 GNS3 문서 업데이트.
- kali 템플릿을 systemd 사용 시도 대신 faux\_init을 사용하도록 변경.
- 배포판(tar 파일)을 box.com으로 이동
- SimLab의 netstat 사용을 dns 조회를 하지 않도록 변경.

2020년 2월 26일
- labtainer 명령이 랩을 찾지 못하면 사용자에게 update-labtainer.sh 실행을 제안
- 모든 네트워크 트래픽을 보기 위한 네트워크 tap 구성 요소에 대한 예비 지원 추가.
- 인터넷 없이 사용될 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 서비스가 victim에서 실행되지 않았습니다.
- 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을 재부팅하지 않고 완료해야 합니다. 랩 매뉴얼에 이를 명시하세요.
- 컨테이너의 기본 게이트웨이를 비활성화하기 위해 start.config에 NO\_GW 스위치 추가.
- Metasploit 랩, 권한으로 실행하면 호스트 VM이 충돌합니다. systemd가 활성화된 경우 su에서 긴 지연이 발생합니다. 따라서 systemd 없이 실행하세요.
  랩 매뉴얼에서 데이터베이스 사용 제거, 새로운 no\_gw 스위치를 사용하도록 구성
- 라이선싱/약관에 대한 파일 헤더 업데이트; 통합 라이선스 파일 추가.
- publish.py를 수정하여 기본적으로 테스트 레지스트리를 사용하도록 하고, -d를 사용하여 default\_registry 사용을 강제.
- 각 브랜치에 대해 다른 테스트 레지스트리를 사용하고 릴리스의 최종 테스트를 위해 premaster 브랜치를 사용하도록 소스 제어 절차 개정.

2019년 10월 9일
- dmz-lab의 dns 구성 요소에서 dnsmasq 제거. 일부 설치에서 bind가 실패하는 원인이었습니다.

2019년 10월 8일
- 테스트 레지스트리 설정의 구문 오류; 대용량 파일에 대한 랩 디자이너 정보; bigexternal.txt 파일 가져오기

2019년 9월 30일
- 일부 사용자에게 DockerHub 레지스트리 검색이 다시 실패했습니다. json에 대한 html 접두사 무시.

2019년 9월 20일
- onewayhash 평가는 학생이 선택한 파일에 대한 hmac 작업을 허용해야 합니다.

2019년 9월 5일

---

[Read more](https://github.com/mfthomps/labtainers)
도구 다운로드