
오픈소스 프레임워크로, 자동화된 게임봇, 스크립트 실행, VPN 라우팅 및 클라우드 기반 인프라 관리를 통해 교육자와 트레이너를 위한 공격/방어 CTF 대회를 호스팅할 수 있습니다.
이것은 Shellphish가 iCTF를 호스팅하는 데 사용하는 프레임워크입니다.
iCTF 프레임워크는 2014년 Usenix 3GSE 워크숍에서 발표된 논문에 설명되어 있습니다.
우리는 교육자와 트레이너가 자신만의 A/D CTF를 호스팅할 수 있기를 바라며 이 프레임워크를 공개했습니다. 이 프레임워크는 상업적 사용이 무료이지만, 우리가 제공할 수 있는 지원은 제한적입니다.
향후 각 구성 요소에 대한 더 많은 기술 문서를 공개할 계획입니다; 현재로서는 게임을 만드는 방법에 대한 지침을 여기에서 찾을 수 있습니다.
질문이 있으시면 [email protected]로 이메일을 보내주십시오.
면책 조항: 이 프레임워크는 아직 개발 중이며 이 릴리스는 BETA 버전으로 간주되어야 합니다. 새로운 풀 리퀘스트와 이슈를 환영합니다 :)
이것은 게임의 상태를 추적하는 중앙 데이터베이스입니다. 데이터베이스 VM에서 실행되며 RESTful API를 제공합니다. 이 데이터베이스는 팀이 직접 접근해서는 안 되며, 대신 팀 서비스 구성 요소를 통해 접근해야 합니다.
Gamebot은 경쟁을 진행하는 구성 요소입니다. 경쟁은 틱(ticks)으로 나뉩니다. 각 틱이 시작될 때 gamebot은 scriptbot이 실행해야 하는 스크립트(예: 플래그 설정, 플래그 검색, 서비스 테스트 스크립트)를 결정하고 중앙 데이터베이스에 일정을 기록합니다. 그런 다음 데이터베이스에서 이전 틱에 대한 데이터(예: 제출된 플래그 및 서비스 검사 상태)를 추출하여 각 팀에 할당할 점수를 계산합니다. 새 점수는 데이터베이스에 저장되므로 대시보드 구성 요소에서 표시할 수 있습니다.
Scriptbot은 gamebot이 예약한 스크립트의 실행을 담당합니다. Scriptbot은 중앙 데이터베이스에서 실행 예약된 스크립트를 추출한 다음 실행합니다. 예를 들어, 스크립트는 이전 틱에서 설정된 플래그를 검색하거나 서비스가 작동 중이고 기능하는지 확인합니다.
라우터 구성 요소는 경쟁에서 팀 간의 트래픽을 라우팅하는 역할을 합니다. 이 구성 요소는 OpenVPN 서비스를 구현합니다. 각 팀에는 팀의 라우터 역할을 하는 VM이 제공됩니다. 팀 간의 트래픽은 팀이 scriptbot 생성 트래픽과 팀 트래픽을 구별하지 못하도록 익명화되어야 합니다.
자세한 내용은 클래스 CTF 실행에 관한 위키 페이지를 방문하십시오.