Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHubmfthomps/labtainers

Labtainers

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

저장소 보기웹사이트

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

Labtainers는 50개 이상의 사이버 실습과 자체 실습을 구축할 수 있는 도구를 포함합니다. 단일 VM 어플라이언스를 가져오거나 Linux 시스템에 설치하면 학생들은 프로비저닝 및 관리 설정이 완료된 상태에서 이 실습과 향후 실습을 진행할 수 있습니다.

  • Docker 컨테이너를 통한 일관된 실습 실행 환경 및 자동 프로비저닝
  • 적당한 성능의 노트북에서도 가능한 다중 구성 요소 네트워크 토폴로지
  • 학생 실습 활동 및 진행 상황에 대한 자동 평가
  • 개별화된 실습 과제로 정답 공유 방지

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

설치 및 사용 방법은 Student Guide를, 학생 평가는 Instructor Guide를 참조하십시오. 실습 개발 및 사용자 정의는 Designer Guide에 설명되어 있습니다. 프레임워크에 대한 추가 정보는 Papers를 참조하십시오. Labtainers 웹사이트 및 다운로드(Labtainers가 사전 설치된 VM 어플라이언스 포함)는 https://nps.edu/web/c3o/labtainers에서 확인할 수 있습니다.

배포 생성일: 01/06/2026 12:28
리비전: v1.4.4i
커밋: 4f868e24
브랜치: 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 이슈를 보고하거나 [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 보고서 형식을 세로로 변경; 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일

  • 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" 사용
  • 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일

  • gcloud용 PowerShell 스크립트가 선택한 영역을 사용하여 VM 이름을 한정하도록 수정

2023년 1월 4일

  • systemd를 사용하는 컨테이너가 Ubuntu 22의 새로운 systemd에서 실패
  • google cloud 스크립트에 --zone 매개변수 추가, 값은 set_defaults 스크립트에서 파생

2022년 12월 21일

  • xforge 결과 기준에서 경로명을 요구하지 않도록 수정, POST가 edit profile에 발행되었는지 확인 추가, 공격자 http 서버가 홈 디렉토리에서 실행되도록 수정

2022년 12월 19일

  • 시스템 호출 추적을 소개하는 strace 실습 추가
  • /tmp/.X11-unix 디렉토리에 여러 장치가 있는 경우 X11 DISPLAY 값이 잘못됨
  • 인수 없이 python/bash/sh 등을 사용할 때 capinout이 충돌하는 문제 수정

2022년 12월 9일

  • Azure VM 생성 스크립트가 Azure Community Gallery의 사전 빌드된 Labtainer 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 잠금 디렉토리 경로 수정; 네트워크 tap을 사용하는 실습 실패 원인
  • plc-traffic netmon 컴퓨터에 새로운 grassmarlin Java 환경에 필요한 openjfx 추가
  • chown -R이 docker에서 매우 느리므로 lab 시작 속도 향상을 위해 사용하지 않음
  • 컨테이너 /tmp 디렉토리에서 X11 링크 삭제 방지 시도 재수정
  • webtrack 방문 사이트 카운트 수정 및 live-headers 목표 제거 (해당 도구 더 이상 사용 불가). 실습 매뉴얼 단계 명확화

2022년 3월 2일

  • 새로운 ssh-tunnel 실습 추가 (GWD 님 감사합니다!)
  • labedit이 new_lab_setup에서 설정한 X11 값을 반영하지 못하는 문제 수정
  • 컨테이너를 매개변수화하지 않는 옵션 추가

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 파일 누락; 실습 매뉴얼에서 불필요한 단계 제거

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이 켜진 상태에서 성공을 기대하지 않음, 실행 여부 평가
  • 학생이 결과가 없는 경우 웹 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 구성 필드에서 분리하여 별도 값으로 설정
  • IModule 명령이 실습이 시작되기 전에 실행되면 실패

2021년 7월 5일

  • DISPLAY 환경 변수 관리 오류로 Docker Desktop에서 GUI 애플리케이션 실패

2021년 7월 1일

  • Mac에서 headless Labtainers 패키지 설치 지원
  • 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일

  • X11 소켓이 fixlocal을 통해 Wine을 시작하기 전에 재배치되지 않아 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 추가
  • 새로운 overrun 실습: c 데이터 구조 범위를 넘는 메모리 참조 설명
  • 새로운 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 파일의 디렉토리 사용
  • start.config에 REGISTRY 및 BASE_REGISTRY에 대한 문서 주석 추가

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 날짜/리비전 관리를 소스 저장소에서 파일 업데이트로 변경
  • 실습 생성/편집을 위한 GUI 도입 -- labedit 명령어 참조

2020년 12월 21일

  • VirtualBox 공유 폴더에서 zip 파일이 복사될 때 gradelab 기능 실패
  • Instructor Guide 업데이트: 호스트 컴퓨터에서 학생 zip 파일 관리 설명

2020년 12월 4일

  • tar 배포를 GitHub 릴리스 아티팩트로 전환
  • 별도의 designer tar 파일 제거, git repo tarball 사용
  • 학생 실습 아티팩트 분석을 위한 grader 웹 기능 테스트
  • 전체 smoketest에서 로그 지우기 및 removelab 명령어에서 grader 컨테이너 삭제

2020년 12월 1일

  • iptables2 실습 평가가 임의 포트가 nmap에 "알 수 없음"으로 표시되는 것에 의존
  • 동기화 디렉토리를 사용하여 smoketest가 실습 시작 전에 시작되지 않도록 지연
  • Lab designer UI 요소 통합 시작

2020년 10월 13일

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

2020년 9월 26일

  • stoplab 스크립트 정리: 실습이 아닌 컨테이너 무시
  • MySQL db의 공유 제어를 위한 db-access 데이터베이스 접근 제어 실습 추가

2020년 9월 17일

  • macs-hash 실습에서 X11 설정으로 인해 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 문서 지시문 추가
  • check_nets가 iptables 및 라우팅 문제를 수정하도록 변경 (지시된 경우)

2020년 8월 12일

  • prestop 스크립트에 타임아웃 추가
  • dmz-lab에 퀴즈 및 checkwork 추가
  • -r 옵션 없이 dmz-lab을 다시 시작하면 ISP 밖으로의 라우팅이 깨짐
  • time_delim 결과에 여러 파일 허용August 6, 2020
  • X11 소켓이 없을 때 오류 처리 버그
  • 퀴즈 질문에 쉼표가 있을 때 파싱 오류
  • iptables2 랩에 퀴즈 및 checkwork 추가

July 28, 2020

  • 퀴즈 지원 추가 -- 이는 안내용 퀴즈이며, 평가용 퀴즈가 아닙니다. 설계자 가이드를 참조하세요.
  • checkwork 명령어와 함께 사용할 현재 상태 평가 추가

July 21, 2020

  • 설계자의 경로에 testsets/bin 추가
  • 설계자 가이드 수정 및 IModule 단계에 대한 설명 추가
  • 로그 항목에서 정규식을 사용하여 시간 범위를 정의하는 RANGE_REGEX 결과 유형 추가
  • 랩 시작 시 X11 소켓이 필요한 경우 존재 여부 확인
  • mysql용 기본 이미지 추가
  • 결과 파싱에서 mysql 로그 타임스탬프 형식 처리

June 15, 2020

  • Bird 오픈 소스 라우터가 포함된 새로운 기본 이미지
  • bird-bgp Border Gateway Protocol 랩 추가
  • bird-ospf Open Shortest Path First 라우팅 프로토콜 랩 추가
  • DNS 변경 처리 개선, 일부 사이트에서 일부 컨테이너의 외부 접속이 차단됨
  • 인터넷 접속이 불가능한 환경에서 Labtainers 사용에 대한 강사 가이드 섹션 추가

May 21, 2020

  • 모든 저장소를 Docker Hub labtainers 레지스트리로 이동
  • 지속적인 소프트웨어 설치를 위해 start.config에 정의된 마운트 지원
  • IDA의 지속적 설치를 위해 ida 랩 변경 -- 새 이름은 ida2
  • DARPA Cyber Grand Challenge의 200개 이상의 취약한 서비스를 탐구하는 cgc 랩 추가
  • SimLab에 type_string 명령어 추가
  • NetFlow 네트워크 트래픽 분석을 위한 netflow 랩 추가
  • bufoverflow 및 formatstring 랩의 64비트 버전 추가

April 9, 2020

  • 파일 선택에 와일드카드가 사용된 경우 CONTAINS 및 FILE_REGX 조건 평가 실패
  • symlab 랩에서 hexedit 사용에 대한 힌트 포함
  • 자동 평가에서 예상 답변을 설정 파일에 게시하지 않도록 hash_equal 연산자 및 hash-goals.py 추가
  • pcap-lib 랩 자동 평가

April 7, 2020

  • 로그가 $LABTAINER_DIR/logs로 이동됨
  • Jenkins를 사용한 재빌드 및 테스트 허용을 위한 기타 정리(고유 임시 디렉터리 사용 포함)
  • 빌드 지원 함수를 labutils에서 build.py로 이동
  • PCAP 라이브러리 기반 트래픽 분석 프로그램 개발을 위한 pcap-lib 랩 추가

March 13, 2020

  • 랩 중 생성된 트래픽과 함께 GrassMarlin을 사용하기 위한 plc-traffic 랩 추가
  • 선택한 네트워크에서 PCAP을 수집하기 위해 "tap" 컨테이너를 추가하는 기능 도입
  • 컨테이너 외부 접속 및 USB 드라이브 시뮬레이션을 위한 dummy_hcd 사용에 대한 GNS3 문서 업데이트
  • systemd 사용 대신 faux_init을 사용하도록 kali 템플릿 변경
  • 배포판(tar 파일)을 box.com으로 이동
  • SimLab에서 netstat 사용 시 DNS 조회를 하지 않도록 변경

February 26, 2020

  • labtainer 명령어가 랩을 찾지 못하면 update-labtainer.sh 실행을 사용자에게 제안
  • 모든 네트워크 트래픽을 보기 위한 네트워크 탭 구성 요소의 예비 지원 추가
  • 인터넷 없이 사용할 VM을 준비하기 위해 랩 이미지를 가져오는 스크립트
  • nmap-discovery 랩에 사용자 이름 및 비밀번호 제공

February 18, 2020

  • :0을 가정하는 대신 호스트(예: VM)에서 DISPLAY 환경 변수 상속

February 14, 2020

  • Ghidra 소프트웨어 리버스 엔지니어링 입문 연습 추가

February 11, 2020

  • GNS3 환경 내 컨테이너 원격 접속 설명을 위한 가이드 업데이트
  • GNS3 내에서 선택된 구성 요소 및 링크 숨기기
  • webtrack 랩 가이드의 그림이 표시되지 않음; nmap-ssh에서도 오타

February 6, 2020

  • 컨테이너 원격 관리(예: 파일 푸시) 기능 도입
  • USB 드라이브 삽입 시뮬레이션을 위한 GNS3 환경 함수 추가
  • Docker 빌드 오류 처리 개선

February 3, 2020

  • metasploit 랩에서 피해자의 postgresql 서비스가 실행되지 않음
  • IModule 설명서 내용을 Lab Designer 가이드에 병합
  • 추가 IModule 지원

January 27, 2020

  • IModule(강사 개발 랩)에 대한 초기 지원 도입. docs/imodules.pdf 참조
  • update-labtainer에서 깨진 LABTAINER_DIR 환경 변수 수정
  • ACL 랩에서 accounting.txt 파일의 접근 모드 수정(rw-r-r이 됨). fixlocal.sh에서 명시적 chmod 사용

January 14, 2020

  • 프레임워크 및 gradelab을 Python3로 포팅(기존 Python2 랩은 변경되지 않음)
    • 하위 호환 가능한 random.seed 옵션 사용
    • 호환되지 않는 randint를 해킹하여 이전 값 반환
    • python3가 없는 플랫폼(또는 python 3.5.2를 포함하여 random.seed 호환성을 깨뜨리는 오래된 VM 어플라이언스 등)을 위해 python2 계속 지원
    • 필요시 python2를 선택하는 rebuild.py에 대한 rebuild 별칭 추가
  • CentOS 기반 랩 매뉴얼 페이지가 작동하지 않음; 기본 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 브랜치를 사용하도록 소스 제어 절차 수정

October 9, 2019

  • dmz-lab의 dns 구성 요소에서 dnsmasq 제거. 일부 설치에서 bind가 실패하는 원인이었음

October 8, 2019

  • 테스트 레지스트리 설정의 구문 오류; 큰 파일에 대한 랩 디자이너 정보; bigexternal.txt 파일 가져오기

September 30, 2019

  • 일부 사용자에게 DockerHub 레지스트리 검색이 다시 실패. json에 대한 html 접두사 무시

September 20, 2019

  • onewayhash 평가는 학생이 선택한 파일에서 hmac 작업을 허용해야 함

September 5, 2019

  • metasploit 랩 재빌드, metasploit-framework에 버그가 있음. 그리고 "treataslocal" 파일이 svn에서 이동 시 누락됨. metasploit 랩 매뉴얼의 오타 수정

August 30, 2019

  • 컨테이너 디렉터리 존재 확인 되돌리기, 항상 존재하지는 않음

August 29, 2019

  • 랩 이미지 풀이 docker hub에서 실패, github 또는 curl의 변경 때문? cloudflare로의 리디렉션 처리. GNS3 지원 추가. dmz-lab dnssec 수정

July 11, 2019

  • CentOS6 컨테이너를 위한 자동 평가, firefox 메모리 문제 수정, start.config 파일에서 임의의 docker create 인수 지원

June 6, 2019

  • Centos6 베이스 도입, 아직 자동 평가 지원 안 함

May 23, 2019

  • 필드 구분자의 오타로 인해 setuid-env 자동 평가 실패

May 8, 2019

  • Capabilities 랩 매뉴얼 수정

May 2, 2019

  • Acl 랩의 bobstuff.txt 권한 수정. fixlocal.sh에서 명시적 chmod 사용
  • 학생 가이드 개정: 본문에서 stop 및 -r 옵션 사용 명확히 설명

March 9, 2019

  • checkwork 함수가 컨테이너를 재사용하여 학생들이 이전 랩 작업의 아티팩트를 제거하지 못하도록 함
  • symkey 랩에 BMP 이미지 형식을 설명하는 부록 추가

February 22, 2019

  • vpn 및 vpn2 랩에서 http 서버 시작 실패. 재작업될 때까지 해당 랩에서 자동 평가 제거

January 7, 2019

  • gdblesson 자동 평가 수정, 최소한 작동하게 함

January 27, 2019

  • routing-basics2 랩 매뉴얼 수정 및 라우팅 수정하여 내부 웹 서버에 대한 외부 접속 활성화

December 29, 2018

  • routing-basics2 수정, routing-basics와 동일한 문제 및 게이트웨이 resolv.conf의 잘못된 IP 주소

December 5, 2018

  • routing-basics 랩 수정, isp 및 게이트웨이 구성 요소에서 DNS 확인이 손상됨

November 14, 2018

  • backups2의 아카이브 머신에서 /run/nologin 제거 -- 이 nologin 문제에 대한 일반적인 해결책 필요

November, 5, 2018

  • file-integrity 랩 기본 aid.conf를 파일 수정 시간 대신 메타데이터 변경 추적으로 변경

October 22, 2018

  • macs-hash 랩 verydodgy.com 해상도가 랩 재시작 시 실패
  • notify_cb.sh가 없으면 Notify 함수 실패

October 12, 2018

  • 파일 크기에 대한 ulimit 설정, 1G로 제한

October 10, 2018

  • 매개변수화된 파일 강제 수집
  • centos-xtra 베이스라인에 leafpad 및 ghex를 명시적으로 포함하고 종속 이미지 재빌드

September 28, 2018

  • ACL 랩에서 공유 파일의 접근 모드 수정
  • pass-crack의 질문 명확화
  • 랩 시작 시간보다 오래된 파일을 무시하도록 아티팩트 수집 수정
  • 양자 컴퓨팅 알고리즘 랩 추가

September 12, 2018

  • setuid-env 채점 구문 오류 수정
  • iptables2 예제 방화벽 규칙의 구문 오류 수정
  • centos 랩 재빌드, lamp 파생 상품이 waitparam 및 force를 위해 lamp.xtr을 사용하도록 하고 httpd가 완료될 때까지 기다리도록 함

September 7, 2018

  • CyberCIEGE를 랩으로 추가
  • read_pre.txt 정보를 이미지 풀 전에 표시하고 중단 기회 제공

September 5, 2018

  • gradelab 함수에 sakai 대량 다운로드 처리 복원
  • 사용하지 않는 강사 스크립트 제거

September 4, 2018

  • 네트워크 인터페이스당 여러 IP 주소 허용
  • Wine용 기본 이미지 추가
  • GRFICS 가상 ICS 시뮬레이션 추가

August 23, 2018

  • GrassMarlin 랩 추가 (ICS 네트워크 탐색)

August 23, 2018

  • GrassMarlin 랩 추가 (ICS 네트워크 탐색)

August 21, 2018

  • AWS 인증 문제에 대한 또 다른 수정 (DockerHub가 AWS 사용)
  • new_lab_setup.py를 svn 대신 git 사용하도록 수정
  • plc-forensics 랩을 기본 랩과 고급 랩(plc-forensics-adv)으로 분할

August 17, 2018

  • 권위 있는 저장소로 git & GitHub로 전환

August 15, 2018

  • plc-forensics 랩 평가를 더 일반화하도록 수정; 랩 매뉴얼을 Labtainer의 wireshark를 반영하도록 개정

August 15, 2018

  • 학생들이 랩 작업에 대한 자동 평가 결과를 볼 수 있는 "checkwork" 명령어 추가
  • iptables2 및 iptables-ics 랩에 iptables 패킷 드롭 로깅 포함
  • goal.config에서 is_true 및 is_false의 구식 인스턴스 제거
  • 부울 평가를 수정하여 "NOT foo" 처리, 더 많은 피연산자가 필요했음

August 9, 2018

  • results.config 파일에서 매개변수 대체 지원
  • results.config에 TIME_DELIM 결과 유형 추가
  • iptables 랩 재작업, 숨겨진 nmap 명령어 제거, 맞춤 서비스 도입

August 7, 2018

  • labtainer-student 디렉터리에 학생 가이드 링크 추가
  • VM 데스크탑에 학생 가이드 링크 추가
  • iptables-ics 수정: 종료 시 긴 지연 방지; 회귀 테스트 수정
  • 학생이 VM 브라우저를 사용하여 아티팩트 zip 파일을 강사에게 전송하도록 제안하는 노트를 가이드에 추가

August 1, 2018

  • 자동 평가에 일반 Docker 이미지 사용; 랩별 "instructor" 이미지 생성 중지

July 30, 2018

  • fixlocal.sh 스크립트가 waitparam을 전제 조건으로 하는 서비스를 시작하는 경우 waitparam.service를 차단 해제(플래그 디렉터리 생성)해야 한다는 문서 추가
  • PLC 애플리케이션 방화벽 및 화이트리스트 연습을 위한 plc-app 랩 추가

July 25, 2018

  • 목표 처리에 string_contains 연산자 추가
  • formatstring 랩 평가 수정: 유출된 비밀이 항상 표시된 문자열의 끝에 있지 않을 수 있음을 고려

July 24, 2018

  • SSH Agent 랩 추가 (ssh-agent)

July 20, 2018

  • 오프라인 빌드 지원, 선택적으로 모든 이미지 풀 건너뛰기
  • Dockerfile 템플릿에 apt/yum 저장소 복원 복원
  • 인증 오류를 피하기 위해 Docker 레지스트리 blob 검색 시 리디렉션 URL 처리 (curl --location에 의존하지 않음)

July 12, 2018

  • 랩 종료 전 선택된 구성 요소에서 설계자 지정 스크립트 실행을 허용하는 prestop 기능 추가
  • ssl 랩에서 호스트 이름 지정 수정, 자동 평가를 손상시키고 있었음
  • dmz-lab 초기 상태 수정: 내부 네트워크에서 DNS 해상도 허용
  • FILE\REGEX 처리가 여러 줄 검색을 제대로 처리하지 못함
  • 새로 재빌드된 이미지에서 파생된 프레임워크 버전이 잘못된 기본값을 가짐

July 10, 2018

  • LDAP 랩 추가
  • systemd 기반 Ubuntu 이미지로의 전환 완료, 사용하지 않는 파일 제거
  • 동시성을 위해 lab_sys tar 파일을 컨테이너별 tmp 디렉터리로 이동

July 6, 2018

  • 모든 Ubuntu 기본 이미지가 systemd 기반 버전으로 대체됨
  • 레지스트리의 Labtainer 컨테이너 이미지가 이제 기본 이미지 ID로 태그되고 기본 이미지를 반영하는 레이블을 가짐
  • 특정 설치는 보유한 기본 이미지와 일치하는 이미지를 풀하여 사용함
  • VM 이미지를 사용하는 경우, 당사 웹사이트의 최신 VM 이미지로 교체하는 것이 좋음
  • 새 랩은 최신 기본 이미지를 다운로드하지 않으면 실행되지 않음; 이로 인해 VM에 여러 버전의 큰 기본 이미지(각 500MB 이상)가 저장될 수 있음
  • 랩 중지 시 실행 중이던 프로세스에서 아티팩트가 손실됨 -- capinout 프로세스를 제대로 종료하지 못함

June 27, 2018

  • Ubuntu systemd 이미지 지원 추가
  • labtainer-student/bin에서 SimLab.py의 이전 복사본 제거
  • apt 및 yum 소스를 /var/tmp로 이동
  • 평가에서 "boolean"과 "count_greater" 사용의 차이점 명확화
  • start.config의 Add-HOST를 네트워크의 모든 구성 요소를 포함하도록 확장
  • 기존 컨테이너의 복사본을 기반으로 컨테이너를 추가하는 옵션을 new_lab_setup.py에 추가

June 21, 2018

  • root에 대한 DISPLAY 환경 설정
  • svn status 출력의 빌드 종속성 처리 수정
  • radius 랩 추가
  • SimLab append 버그 수정
  • new_lab_setup.py로 파일 이름 변경 시 적절한 경우 svn 사용

June 19, 2018

  • 여러 탭이 있는 터미널 생성 시 start.conf에 정의된 컨테이너 순서 유지
  • 설계자 매뉴얼 명확화: 평가 설정 파일의 경로 식별
  • 강사에게 이메일 제공 요청 프롬프트 제거
  • 버전 번호 확인 시 오류 검사 잘못됨
  • 평가 json에 랩 시작 및 재시작의 타임스탬프 포함
  • 양방향 인증 및 인증서 생성을 포함하는 SSL 랩 추가

June 14, 2018

  • 매개변수화에 진단 추가, 일부 설치가 실패하는 이유 추적
  • 컨테이너가 이미 생성된 경우 매개변수화되었는지 확인, 그렇지 않으면 중단하여 손상되거나 반쯤 만들어진 컨테이너 방지
  • 프로그램 버전 번호 수정: svn HEAD 사용

June 15, 2018

  • xterms에 나타난 일반 텍스트 지침을 pdf 파일로 변환
  • 아직 풀되지 않은 이미지의 버전 처리 버그 수정
  • 생성되었지만 매개변수화되지 않은 컨테이너 발견 시 사용자에게 "-r" 옵션으로 랩 재시작 요청
  • 설계자 유틸리티 추가: rm_svn.py -- 제거된 파일이 이미지 재빌드를 트리거하도록 함

June 13, 2018

  • Ubuntu 18 시스템에 xterm 설치
  • gnome-terminal 탭 처리의 새 버전에서 발생한 손상 해결

June 11, 2018

  • 버전 확인 추가: 이미지와 프레임워크 비교
  • 다양한 랩 매뉴얼 명확화

June 2, 2018

  • Ubuntu 18에 설치할 때 docker-ce 대신 docker.io 사용
  • capinout이 "sudo su" 모니터링 명령어 뒤에 권한 상승되지 않은 사용자 명령어가 올 때 충돌 발생
  • routing 및 resolv.conf 설정을 fixlocal.sh 대신 /etc/rc.local로 이동하여 컨테이너 시작/중지 시에도 유지되도록 함

May 31, 2018

  • 줄 바꿈 없이 터미널에서 텍스트 줄바꿈을 유발하는 Docker 버그 해결
  • 파이프를 고려하도록 COMMAND_COUNT 확장
  • 원격 서버로의 백업 및 전체 파티션 백업을 포함하는 백업 랩의 새 버전 생성
  • sshlab 지침을 ssh-copy-id 유틸리티를 사용하도록 변경
  • CentOS에서 SSH 로그인을 허용하기 위해 parameterize.sh에서 /run/nologin 파일 삭제

May 30, 2018

  • new_lab_setup.py 확장: 사용할 기본 이미지 식별 허용
  • 중앙 집중식 로깅을 포함하는 centos-log의 새 버전 생성
  • 평가 검증이 "time_not_during" 옵션을 수락하지 않음
  • Docker 컨테이너에서 Labtainers 관리를 위한 Labtainer Master 통합 시작

May 25, 2018

  • 다양한 서비스에서 10초 대기 제거. xinetd 응답을 지연시켜 자동화된 테스트 중단
  • snort 랩 채점 수정: 알람에 "CONFIDENTIAL"만 필요하도록 함. 랩에서 사용하지 않는 파일 제거
  • 프로그램이 랩 중지 시 실행 중이던 경우 프로그램 종료 시간이 기록되지 않음

May 21, 2018

  • retlibc 채점 수정: 중복 목표 제거, 자동 평가 실패 중
  • 개별 랩 및 랩 템플릿에서 mynotify.py 복사본 제거, 이미 lab_sys/sbin의 일부이지만 acl 랩 수정 사항이 업데이트되지 않음

May 18, 2018

  • exec_wrap에서 신호 메시지 마스킹하여 segv 오류 메시지가 올바르게 표시되도록 함
  • capinout이 때때로 stdout을 잃음, cmd 종료 시 명령어 stdout 확인
  • formatstring 채점 수정: segmentation fault 메시지 캐치
  • SimLab에 type_function 기능 추가: 스크립트의 stdout을 입력 (formatstring simlab 참조)
  • SimLab에서 작은따옴표/큰따옴표 결합 제한 제거
  • SimLab에 window_wait 지시문 추가: 지정된 제목의 창을 찾을 때까지 일시 중지
  • 물리적 세계 터미널의 제목을 상태 반영하도록 plc 랩 수정, 이는 테스트를 더 쉽게 만듦
  • bufoverflow 랩 매뉴얼 링크 수정

May 15, 2018

  • 회귀 테스트 및 랩 개발을 위한 SimLab 도구 사용에 대한 부록 추가: 랩 수행 시뮬레이션
  • SimLab에 wait_net 함수 추가: 선택한 네트워크 연결이 종료될 때까지 일시 중지
  • acl 자동 평가를 FILE_REGEX로 변경하여 여러 줄 일치 지원
  • xsite 랩에 대한 SimLab 테스트

May 11, 2018

  • home.tar에서 발견된 파일을 강제 수집하기 위한 "noskip" 파일 추가, Firefox places.sqlite 검색에 필요
  • sqlite 데이터베이스를 추출 전 write ahead buffer와 병합
  • symkeylab 랩 매뉴얼 수정
  • symkeylab 및 pubkey에 대한 채점 추가
  • simlab 도구 개선: include 지원, 창 이름 지정 수정

May 9, 2018

  • file-deletion 랩의 매개변수화 수정. 랩 매뉴얼의 오류 수정
  • Python 스크립트에서 shell=True 사용을 대체하여 프로세스 감소 및 PID 추적 허용
  • backups, pass-crack 및 macs-hash 매뉴얼 정리

May 8, 2018

  • 경쟁 조건 처리: gnome-terminal이 xterm 지시 터미널이 명령어를 실행하기 전에 docker 명령어를 실행하지 못하도록 함
  • instuctor가 "-d"로 시작한 랩을 중지할 때 오류를 표시하지 않음
  • nmap-ssh 채점 변경: 랩의 의도를 더 잘 반영
  • olberger가 github에서 제안한 여러 문서 및 스크립트 수정

May 7, 2018

  • C 기반 capinout 프로그램을 사용하여 이전 capinout.sh 대신 stdin 및 stdout 캡처. trunk/src-tool/capinout 참조. 모니터링되는 프로그램을 중단하는 ctrl-C 사용 및 telnet/ssh에서 비밀번호 표시와 관련된 제한 제거
  • saki bulk_download zip 처리 지원 포함: 별도로 제출된 보고서 추출 및 누락된 제출 요약
  • 사용자 제공 이메일이 인쇄 가능한 문자인지 확인하는 검사 추가
  • 채점 시 사용자 제공 이메일이 zip 파일 이름과 일치하지 않으면 결과를 채점하되, 표에 cheating을 나타내는 노트 포함. 학생이 이메일 주소에 쓰레기를 입력하는 경우 복구 필요
  • telnetlab 채점 변경: tcpdump 출력에서 비밀번호를 찾지 않음 -- capinout 수정으로 서버에 문자 단위 전송이 올바르게 처리됨
  • install-docker.sh의 오타 수정 및 해당 스크립트에서 sudo를 사용하여 docker dns 설정 변경

April 26, 2018

  • 랩 시작 시 "labtainer" 사용, 중지 시 "stoplab" 사용으로 전환
  • labtainer 명령어에 --version 옵션 추가
  • log_ts 및 log_range 결과 유형, time_not_during 목표 연산자 추가. centos-log 및 sys-log 채점을 이러한 기능을 사용하도록 개선
  • labsys.tar를 /tmp 대신 /var/tmp에 배치, 확장 전에 삭제되는 경우가 있었음
  • VM 재부팅 후 root로 X 애플리케이션 실행 실패
  • CentOS 기반 랩에 "User Command" 매뉴얼 페이지 추가
  • 학생으로부터 docs 파일 수집을 방해하는 최근 버그 수정
  • smoke-tests 수정: 학생별 결과 줄만 비교, 공백 제거April 20, 2018
  • denyhosts 서비스가 처음에 시작되지 않아 student_startup.sh로 시작을 이동.
  • 모든 faux_init 서비스를 파라미터화 이후로 이동 -- 컨테이너 두 번째 부팅 시 rsyslog가 시작되지 않음.

April 19, 2018

  • acl 실습에서 트로이 목마 단계의 성능 평가가 제대로 이루어지지 않음.
  • 기본적으로 학생 문서 수집.
  • denyhost 실습이 denyhosts(또는 tcp 래퍼?)가 iptables를 수정하는 것을 반영하도록 변경. 또한, denyhosts 서비스가 일부 경우에 시작되지 않음.
  • Labtainers 업데이트 시, 아카이브에 있는 파일보다 최신인 파일을 덮어쓰지 않음 -- 학생 실습 보고서 보존.

April 12, 2018

  • 실습 목표의 문서화를 추가하고, 강사가 실습을 시작할 때 강사에게 이를 표시.
  • 프로그램이 treataslocal에 있을 때 precheck 함수의 올바른 사용, capintout.sh에 전체 프로그램 경로 전달.
  • 이미지 빌드 시가 아닌 런타임에 instr_config 파일 복사.
  • 자동 평가 디버깅에 관한 Designer Guide 섹션 추가.
  • 실습 보고서 파일 이름의 대소문자 오류.
  • 불필요한 chown 함수로 인해 instructor.py가 가끔 충돌.
  • 실습 자동 테스트 지원 (SimLab 및 smoketest 참조).
  • testsets 및 distrib을 trunk 아래로 이동.

April 5, 2018

  • Firefox 프로필을 수정하여 "Firefox를 오랫동안 사용하지 않았습니다..." 메시지 제거.
  • 레지스트리에서 불필요한 풀 제거 -- 대신 Docker Hub API를 통해 이미지 날짜 가져오기.

March 28, 2018

  • 시스템 파일에 "docker cp" 대신 명시적 tar 사용 (Docker는 링크를 따르지 않음.)
  • backups 실습 수정: 별도 파일 시스템 사용 및 매뉴얼 업데이트.

March 26, 2018

  • 다중 사용자 모드 지원 (Lab Designer User Guide 참조).
  • lab_bin 및 lab_sys 파일에 대한 빌드 종속성 제거. 이제 실습 파라미터화 중에 복사됨.
  • capinout.sh를 /sbin으로 이동하여 root로 실행 시 찾을 수 있도록 함.

March 21, 2018

  • CLONE 추가: 동일한 컨테이너의 여러 인스턴스 허용 (예: 여러 동시 학생이 공유하는 실습).
  • kali-test 실습을 macvlan 및 CLONE의 예시로 적용.
  • capinout.sh 스크립트를 /sbin에 복사하여 sudo su 후 root가 찾을 수 있도록 함.

March 15, 2018

  • 외부 호스트와의 통신을 위한 macvlan 네트워크 지원.
  • Kali Linux 베이스 및 Metasploitable 2 이미지 추가 (kali-test 참조).

March 8, 2018

  • stop.py 사용 시 실습 이름 불필요.
  • 잘못된 네트워크로 인한 오류를 포착하고 사용자에게 수정 방법 안내.
  • NPS의 로컬 apt 및 yum 레포지토리 사용 지원 추가.

February 21, 2018

  • dmz-lab 추가.
  • "checklocal"을 "precheck"로 변경하여 명령 실행 전에 실행됨을 반영.
  • inotify 이벤트 보고를 precheck.sh 사용과 분리, inotify 이벤트 목록에 선택적 출력 파일 이름 포함 허용.
  • bash 훅을 root 작업으로 확장, 해당 bash_history 플러시.
  • start.config 필드의 파라미터화 허용 (예: 무작위 IP 주소).
  • systemctl 또는 /etc/init.d를 통해 시작된 서비스 모니터링 지원.
  • 시간 구분 한정자 도입: 타임스탬프 로그 파일을 관심 있는 구성 변경으로 구분된 범위로 구성 (dmz-lab 참조).

February 5, 2018

  • results.config 파일의 부울 값이 이제 목표 값으로 처리됨.
  • 아티팩트 결과 식별을 위한 정규 표현식 지원 추가.
  • 대체 Docker 레지스트리 지원 (로컬 테스트 레지스트리 포함).
  • 실습 및 실습 매뉴얼의 여러 수정.
  • capinout 모니터링 훅이 종료 시 하위 프로세스를 종료하지 않음.
  • 아티팩트 수집 전에 모니터링 중인 프로세스 종료.
  • labtainer.wireshark를 기본 컨테이너로 추가, Dockerfiles 정리.

January 30, 2018

  • snort 실습 추가.
  • syslog 등의 로그 파일 타임스탬프를 타임스탬프 결과에 통합.
  • 중간 타임스탬프 JSON 결과 파일에서 정의되지 않은 결과 값 제거.
  • time_during 목표 평가 작업을 수정하여 타임스탬프를 결과 목표 값에 연결.

January 24, 2018

  • 탭 창 사용으로 인해 강사 측이 실패함, 큰따옴표 사용.
  • 빌드 종속성 결정 시 _tar 디렉터리의 파일(.tar 제외) 무시.
도구 다운로드