
RedEye는 Red & Blue Team 운영을 지원하는 시각적 분석 도구입니다.
이 GitHub 저장소는 더 이상 활발히 개발되지 않습니다. 버그 수정을 위해 커뮤니티 이슈 및 풀 리퀘스트를 검토하겠지만, 새로운 기능 추가는 고려하지 않습니다.
RedEye는 CISA와 DOE의 Pacific Northwest National Laboratory가 개발한 오픈소스 분석 도구로, 레드팀이 명령 및 제어 활동을 시각화하고 보고하는 것을 돕습니다. 이 도구를 통해 운영자는 복잡한 데이터를 평가하고 표시하며, 완화 전략을 평가하고, 레드팀 평가에 대응하여 효과적인 의사 결정을 내릴 수 있습니다. 이 도구는 Cobalt Strike와 같은 로그를 파싱하여 데이터를 쉽게 이해할 수 있는 형식으로 제공합니다. 사용자는 도구에 표시된 활동에 태그를 추가하고 댓글을 달 수 있습니다. 운영자는 RedEye의 프레젠테이션 모드를 사용하여 이해관계자에게 결과와 워크플로를 제시할 수 있습니다.
RedEye는 운영자가 다음을 효율적으로 수행할 수 있도록 지원합니다:
./RedEye --redTeam --password <your_password>
./RedEye # Or simplify double-click the "RedEye" executable
MacOS 문제 - RedEye를 처음 실행할 때 "확인되지 않음" 오류가 발생할 수 있습니다. "시스템 환경설정" > "보안 및 개인정보 보호" > "일반"으로 이동하여 "계속 열기"를 클릭해야 합니다. 자세한 내용은 Apple 지원 페이지를 참조하세요.
RedEye는 레드팀 프로세스의 두 단계를 다루는 두 가지 모드가 있습니다. 레드팀 모드는 C2 데이터 가져오기, 가져온 데이터 편집, 댓글 및 프레젠테이션 작성을 허용합니다. 캠페인 데이터를 선별하고 주석을 추가한 후, 레드팀은 캠페인을 독립적인 .redeye 파일로 내보내고 블루팀에게 전달하여 보고 및 수정을 할 수 있습니다. 블루팀 모드는 레드팀이 내보낸 선별된 데이터를 보기 위해 RedEye를 간소화된 읽기 전용 모드로 실행합니다.
참고: 레드팀과 블루팀 모드 모두 동일한 RedEye 애플리케이션 바이너리에서 시작할 수 있습니다.
다운로드한 바이너리는 두 부분으로 구성됩니다:
RedEye 애플리케이션 바이너리parsers 폴더 (예: cobalt-strike-parser Cobalt Strike 로그 파서 바이너리)레드팀 모드에서 RedEye를 실행하는 세 가지 옵션이 있습니다:
--redTeam 및 비밀번호 옵션을 전달합니다:
./RedEye --redTeam --password <your_password>
docker-compose.yml의 환경 변수를 업데이트합니다.docker-compose -f docker-compose.yml up -d redeye-core
블루팀 모드는 레드팀이 선별, 주석 추가 및 내보낸 데이터를 표시하기 위한 간소화된 읽기 전용 UI입니다. 이 모드는 블루팀의 시작을 더 간단하게 하기 위해 기본적으로 실행됩니다.
블루팀 버전은 'RedEye' 애플리케이션 바이너리를 더블 클릭하여 실행할 수 있습니다. RedEye는 (기본적으로) http://127.0.0.1:4000에서 실행되며 자동으로 기본 브라우저를 엽니다.
RedEye 애플리케이션과 동일한 디렉토리에 campaigns 폴더가 있으면 RedEye는 해당 폴더 내의 .redeye 캠페인 파일을 가져오려고 시도합니다. 캠페인 파일은 레드팀 모드에서 내보낼 수 있습니다.
블루팀용 버전을 준비하려면 다음 두 단계를 따르세요:
RedEye 애플리케이션 바이너리를 빈 폴더에 복사합니다.campaigns 폴더를 만들고 보내려는 .redeye 캠페인 파일을 안에 넣습니다.Folder/
RedEye
campaigns/
Campaign-01.redeye
Campaign-02.redeye
.redeye 파일은 블루팀 모드에서 "+ 캠페인 추가" 대화 상자를 통해 업로드할 수도 있습니다.
이 레포지토리에는 다운로드 가능한 예제 데이터셋이 있습니다. ./applications/redeye-e2e/src/fixtures 폴더에 위치해 있습니다.
GitHub 레포지토리의 특정 폴더만 다운로드하려면 download-directory.github.io와 같은 도구를 사용할 수 있습니다.
./Redeye -h를 입력하여 옵션을 확인하세요
-d, --developmentMode [boolean] put the database and server in development mode
-r, --redTeam [boolean] run the server in red team mode
--port [number] the port the server should be exposed at
-p, --password [string] the password for user authentication
--parsers [string...] A list of parsers to use or a flag to use all parsers in the parsers folder
-t, --childProcesses [number] max # of child processes the parser can use
-h, --help display help for command
RedEye 바이너리 옆에 있는 config.json 파일에서 서버 매개변수를 구성할 수도 있습니다.
{
"password": "937038570",
"redTeam": true,
"parsers": ["cobalt-strike-parser", "brute-ratel-parser"] // or true/false
}
npm install -g yarnyarn install // 모든 패키지 설치yarn release:all (Linux, macOS, Windows용 바이너리 빌드)yarn release:(mac|windows|linux) .Node.js >= v16 설치 yarn을 npm을 통해 전역으로 설치
npm install -g yarn
패키지 종속성 설치
yarn install
개발 모드에서 프로젝트 실행
yarn start
서버와 클라이언트를 두 개의 별도 터미널에서 실행하는 것이 좋습니다.
yarn start:client
...다른 터미널에서
yarn start:server
Linux, macOS, Windows용 바이너리 빌드
yarn release:all
특정 플랫폼용으로 빌드하려면 all을 플랫폼 이름으로 바꾸세요
yarn release:(mac|windows|linux)