
공격/방어 Capture the Flag 대회 중 네트워크 흐름을 분석하는 도구
caronte$Caronte는 공격/방어 유형의 캡처 더 플래그(Capture The Flag) 이벤트에서 네트워크 흐름을 분석하기 위한 도구입니다. pcap 파일에 캡처된 TCP 패킷을 재조립하여 TCP 연결을 재구성하고, 각 연결에서 사용자 정의 패턴을 찾기 위해 분석합니다. 패턴은 정규식 또는 프로토콜별 규칙을 사용하여 정의할 수 있습니다. 연결 흐름은 데이터베이스에 저장되며 웹 애플리케이션으로 시각화할 수 있습니다. REST API도 제공됩니다.
curl을 통해 로컬 또는 원격으로, 또는 GUI를 통해 로드 가능
curl, fetch 및 python requests를 통해 복제 가능Caronte를 설치하는 방법은 두 가지입니다:
해야 할 일은 다음과 같습니다:
git clone https://github.com/eciavatta/caronte.git으로 리포지토리 클론caronte 폴더 내에서 docker-compose up -d 실행http://localhost:3333 열기먼저 종속성을 설치해야 합니다:
다음으로 두 부분으로 구성된 프로젝트를 컴파일해야 합니다:
go mod download && go build로 컴파일 가능cd frontend && yarn install && yarn build로 컴파일 가능Caronte를 실행하기 전에 인증이 없는 MongoDB 인스턴스를 시작합니다 https://docs.mongodb.com/manual/administration/install-community/. MongoDB 포트를 공용 인터페이스에 노출하지 않도록 주의하십시오.
./caronte로 바이너리를 실행합니다. 사용 가능한 구성 옵션은 다음과 같습니다:
-bind-address address where server is bind (default "0.0.0.0")
-bind-port port where server is bind (default 3333)
-db-name name of database to use (default "caronte")
-mongo-host address of MongoDB (default "localhost")
-mongo-port port of MongoDB (default 27017)
구성은 그래픽 인터페이스나 API를 통해 첫 번째 시작 시 런타임에 이루어집니다. 다음을 설정해야 합니다:
server_address: 취약한 머신의 IP 주소입니다. pcap의 모든 연결의 대상 주소여야 합니다. 각 취약 서비스에 고유 IP가 있는 경우, 이 매개변수는 CIDR 주소도 허용합니다. 주소는 IPv4 또는 IPv6일 수 있습니다.flag_regex: 플래그와 일치하는 정규식입니다. 일반적으로 대회 규칙 페이지에서 제공됩니다.auth_required: true인 경우 분석기를 보호하기 위해 기본 인증이 활성화됩니다.accounts 배열: 권한이 있는 사용자의 자격 증명을 포함합니다.Go 언어로 작성된 백엔드는 서비스로 설계되었습니다. React를 사용하여 작성된 프론트엔드에서 사용하는 REST API를 노출합니다. 사용 가능한 API 목록과 설명은 여기에서 확인할 수 있습니다: https://app.swaggerhub.com/apis-docs/eciavatta/caronte/WIP
아래는 도구의 주요 기능을 보여주는 몇 가지 스크린샷입니다.




caronte는 Emiliano Ciavatta가 만들었으며 GPL-3.0 라이선스에 따라 라이선스가 부여됩니다.