
블루 팀을 위한 모듈형 OSINT 허니팟
Manuka는 위협 행위자의 정찰 시도를 모니터링하고 블루 팀원에게 실행 가능한 정보를 생성하는 오픈소스 인텔리전스(OSINT) 허니팟입니다. 소셜 미디어 프로필 및 유출된 자격 증명과 같은 단계적 OSINT 소스로 구성된 시뮬레이션 환경을 생성하고, 적의 관심 징후를 추적하여 MITRE의 PRE-ATT&CK 프레임워크와 밀접하게 정렬합니다. Manuka는 블루 팀에게 공격 전 정찰 단계에 대한 추가 가시성을 제공하고 방어자에게 조기 경고 신호를 생성합니다.
규모와 정교함은 다양하지만, 대부분의 기존 허니팟은 네트워크에 초점을 맞춥니다. 이러한 허니팟은 공격자가 이미 네트워크를 탐색하고 있다는 가정 하에 사이버 킬 체인의 2단계(무기화)부터 7단계(목표에 대한 행동)까지의 공격자를 발견합니다.

Manuka는 사이버 킬 체인의 1단계(정찰)에서 OSINT 위협 탐지를 수행합니다. 조직은 네트워크 방어에 수백만 달러를 투자했음에도 불구하고 단 한 번의 Google 검색으로 쉽게 침해될 수 있습니다. 최근 예로는 해커들이 공개 웹에 남겨진 Zoom 통화를 통해 기업 회의, 치료 세션, 대학 수업을 노출시킨 사례가 있습니다. 기업은 경계에서 이러한 OSINT 위협을 탐지해야 하지만 이를 수행할 도구가 부족합니다.
Manuka는 확장 가능하도록 설계되었습니다. 사용자는 새로운 리스너 모듈을 쉽게 추가하고 Dockerized 환경에 연결할 수 있습니다. 여러 캠페인과 허니팟을 동시에 조정하여 허니팟 표면을 넓힐 수 있습니다. 또한 사용자는 다양한 사용 사례에 맞게 Manuka를 빠르게 커스터마이징하고 배포할 수 있습니다. Manuka의 데이터는 조직 워크플로의 다른 타사 분석 및 시각화 도구로 쉽게 이식될 수 있도록 설계되었습니다.
OSINT 허니팟을 설계하는 것은 OSINT 기술의 복잡성과 광범위함으로 인해 새로운 도전 과제를 제시합니다. 그러나 이러한 도구는 블루 팀원이 사이버 위협 인텔리전스 전략에서 "왼쪽으로 이동(shift left)"할 수 있게 해줍니다.

Manuka는 다음 주요 용어와 프로세스를 기반으로 구축됩니다.


프레임워크 자체는 단일 호스트에 배포할 수 있는 여러 Docker 컨테이너로 구성됩니다.
이러한 컨테이너는 단일 docker-compose 명령을 통해 오케스트레이션됩니다.
개발 중에는 각 컨테이너의 다음 포트에서 구성 요소가 실행됩니다.
manuka-client: 3000manuka-server: 8080manuka-listener: 8080클라이언트와 서버가 CORS 문제 없이 통신할 수 있도록 localhost:8080에 추가 nginx 계층이 /api/를 manuka-server로, /를 manuka-listener로 프록시 전달합니다.
또한 manuka-listener는 다음 포트에서 작동합니다.
8081 - 단계적 로그인 웹페이지8082 - 단계적 이메일 상호작용개별 구성 요소 저장소의 요구 사항을 참조하세요.
docker >= 19.03.8docker-compose >= 1.25.4ngok >= 2.3.35docker/secrets/postgres_password에 Postgres 비밀번호가 포함된 파일을 생성합니다.docker/secrets/google_credentials.json을 생성합니다.docker/secrets/google_topic에 추가합니다.docker/secrets/google_oauth2_token.json에 저장합니다.docker-compose -f docker-compose.yml -f docker-compose-dev.yml up --build --remove-orphansmanuka-listener gmail 푸시 서비스 초기화:
./ngok http <manuka-listener port> 및 HTTPS URL 기록.ngrok 콘솔에 POST /notifications 200 OK, Docker 콘솔에 Received push notification이 표시되어야 합니다.프로덕션에서는 다음 포트가 해당 서버에 매핑됩니다.
8080: manuka-client는 /, manuka-server는 /api80: manuka-listener-login은 /, manuka-listener-social은 /notifications이를 통해 서버를 가리키는 모든 도메인이 가짜 로그인 페이지로 나타나고, 관리 대시보드는 포트 8080에서 사용할 수 있습니다. 또한 관리 대시보드는 nginx 계층에서 HTTP 기본 인증으로 보호됩니다.
개별 구성 요소 저장소의 요구 사항을 참조하세요.
docker >= 19.03.8docker-compose >= 1.25.4ngok >= 2.3.35http://DOMAIN/notifications여야 합니다.docker/nginx/nginx.prod.conf.example를 docker/nginx/nginx.prod.conf로 복사하고 examplecompany.com을 프로덕션 도메인으로 바꿉니다.init-letsencrypt.sh를 실행하여 SSL 인증서를 생성합니다.COMPANY_NAME='Next Clarity Financial' NGINX_USERNAME=username NGINX_PASSWORD=password docker-compose -f docker-compose.yml -f docker-compose-prod.yml up --build --remove-orphans -d
NGINX_USERNAME 및 NGINX_PASSWORD는 대시보드 기본 인증용입니다.COMPANY_NAME은 가짜 로그인 페이지의 회사 이름입니다.소셜 리스너
Facebook 및 LinkedIn의 소셜 활동을 모니터링합니다. 현재 네트워크 연결 시도 알림을 지원합니다. 모니터링되는 소셜 미디어 계정은 이메일 알림이 활성화되어 있어야 합니다. 소셜 미디어 플랫폼에서 이메일 알림을 수신하는 해당 이메일 계정은 이러한 이메일을 중앙 Gmail 계정으로 전달하도록 구성되어야 합니다.
로그인 리스너
허니팟 사이트에서 유출된 자격 증명을 사용한 로그인 시도를 모니터링합니다.
OSINT - 오픈소스 인텔리전스