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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
nightHawkResponse — 침해 대응 포렌식 프레임워크 | Kitploit
도구/GitHubGitHub/biggiesmallsag/nighthawkresponse
Disk ForensicsIndicator of Compromise (IOC) ManagementReconnaissanceMemory ForensicsForensicsInformation GatheringDigital ForensicsThreat IntelligenceIncident ResponseLog Analysis
GitHubbiggiesmallsag/nighthawkresponse

nightHawkResponse

60712376년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

침해 대응 포렌식 프레임워크

저장소 보기

nightHawk Response

Elasticsearch 백엔드에서 비동기식 포렌식 데이터를 제시하기 위해 맞춤 제작된 애플리케이션입니다.
이 애플리케이션은 Mandiant Redline "collections" 파일을 수집하여 검색/스택 및 태깅에 유연성을 제공하도록 설계되었습니다.

이 애플리케이션은 단일 창에서 여러 조사(또는 수백 개의 엔드포인트)를 제어할 수 없는 문제를 해결하기 위해 탄생했습니다.

Redline 감사 데이터를 수집하기 위해 우리는 nightHawkResponse를 만들었습니다. 이는 이 프레임워크를 지원하도록 설계된 완전한 기능의 GOpher 애플리케이션입니다. 애플리케이션의 소스 코드는 이 저장소에 있으며, 컴파일된 바이너리는 ISO 내에 포함되어 있어 첫 부팅부터 수집할 준비가 되어 있습니다.

버전 2.0 - 예상 2020년 3월

현재 새로운 주요 버전을 개발 중이며 2020년 3월까지 출시할 예정입니다. 새 버전은 다음을 목표로 합니다.

  • Docker 기반 설치 (Kubernetes/Cloud/로컬 배포 가이드/구성 포함) (작업 중)
  • React로 다시 작성된 새로운 UI. 필수 기능만 간결하게 제공 (작업 중)
  • 점진적 및 재개 가능한 트라이어지 업로드 (완료)
  • Kibana nightHawkResponse 플러그인 (작업 중)
  • 단위 테스트가 포함된 간소화된 코드 베이스 (작업 중)
  • 간소화된 개발 환경 CI/CD (작업 중)

저장소 전체를 효과적으로 운영하고, 엔티티를 쉽게 관리하며, 모든 것을 최신 상태로 유지하기에는 너무 많은 요소가 있다는 것을 깨달았습니다. 또한 Elasticsearch에 저장된 핵심 데이터는 Kibana에서 더 효과적으로 사용되어야 한다고 믿기에, Kibana의 놀라운 워크플로우와 함께 이를 실현하는 플러그인을 개발하기로 결정했습니다.

버전 1.0.4

설치

  • 버전 1.0.4는 모든 Ubuntu x64 OS에서 작동합니다 (Ubuntu 16.04LTS에서 테스트 완료)
  • Ubuntu를 최신 패치로 업데이트
  • release/nhr-1.0.4.tar.gz 다운로드
  • nhr-1.0.4.tar.gz 압축 해제
  • nhr-1.0.4 디렉토리로 이동
  • nhr-setup.sh를 실행 가능하게 설정 (chmod +x nhr-setup.sh)
  • 의존성 및 nightHawk Response 패키지 설치 (sudo ./nhr-setup.sh install)
    참고: 설치 중 인터넷 접속이 필요합니다.
  • 초기 설치 시 Elasticsearch 인덱스 생성에 실패할 수 있습니다. 그런 경우 다시 실행하세요 (sudo ./nhr-setup.sh install)
  • 모든 구성 요소가 실행 중인지 확인
    ---- sudo systemctl status elasticsearch
    ---- sudo systemctl status kibana
    ---- sudo systemctl status rabbitmq-server
    ---- sudo systemctl status nginx
    ---- sudo systemctl status nighthawk-api
    ---- sudo systemctl status nighthawk-worker
  • https://ipaddress 로 접속 가능
  • 기본 사용자 이름과 비밀번호는 모두 admin/admin

API 문서는 Wiki에서 제공 예정

01/09/2016: 버전 1.0.3

  • 사용자 컨텍스트 및 사용자 계정 추가 (nighthawk/nighthawk로 로그인, Wiki 문서 참조)
  • 웹소켓을 통한 플랫폼 통계 및 업로드 정보 추가
  • 케이스 삭제, 엔드포인트 삭제, 케이스에서 엔드포인트 삭제 기능 추가
  • 웹소켓 기반 작업 워크플로우 섹션 추가 (가이드는 Wiki 문서 참조)
  • 주석/태그를 확장 가능한 객체로 변경, 하이라이트 활성화
  • 주석이 웹소켓에서 알림으로 표시됨 (자세한 내용은 Wiki 참조)
  • CaseName = Endpoint 이름 버그 수정
  • Mac/Windows/Linux에서 압축된 감사 파일 문제 해결
  • 반응형 디자인 업그레이드 기능
  • w32system 감사 유형 추가

기능:

동영상 데모: nightHawk Response 플랫폼

  1. 단일 뷰 엔드포인트 포렌식 (여러 감사 유형).
  2. 전역 검색.
  3. 타임라인.
  4. 스태킹.
  5. 태깅.
  6. 대화형 프로세스 트리 보기.
  7. 여러 파일 업로드 및 명명된 조사.

nightHawk ISO

nightHawk 사용자를 위해 모든 설정이 완료된 ISO를 제공합니다. 다음이 포함됩니다.

  1. 최신 nightHawk 소스.
  2. nightHawk 운영에 필요한 핵심 라이브러리가 포함된 CentOS 7 Minimal.
  3. Nginx 및 UWSGI가 리버스 프록시로 설정됨 (소켓 및 최적화, SSL 활성화).
  4. 최신 Elasticsearch/Kibana (원한다면 Kibana에 접근 및 사용 가능).
  5. 모든 핵심 서비스에 대한 Sysctrl.
  6. 모든 핵심 서비스에 대한 로깅 (로그 순환).
  7. 설정 가능한 시스템 설정 목록은 /opt/nighthawk/etc/nightHawk.json 파일에서 확인 가능.

시스템 시작:

제공된 ISO로 VM을 구축하기 전에 다음 사항을 고려하세요.

  1. CPU/RAM.

대기 중: 할당된 시스템 메모리의 1/4을 각 노드로 사용하는 이중 Elasticsearch 노드 설정. 예를 들어 2GB RAM을 할당하면 각 ES 노드는 512MB, 시스템은 1GB를 사용합니다.

다른 방식으로 설정하려면 SSH로 접속하여 원하는 대로 구성하세요.

  1. HDD.

최소 20GB를 권장합니다. 감사 파일이 클 수 있으므로 많은 컬렉션을 수용하기 위해 충분한 저장 공간을 할당하는 것이 좋습니다.

대기 중: 대규모 인스턴스를 위한 사용자 기반 스토리지 설정. 추가 파티션을 직접 설정할 수 있으며, ES 데이터 저장소를 새 파티션으로 가리키도록 몇 가지 변경을 할 수 있습니다.

설치:

ISO 다운로드: nightHawk v1.0.3

하드웨어를 구성하고 ISO를 VM에 마운트한 후 설치 스크립트를 시작하세요.

완료 후 브라우저(Chrome/FireFox)에서 https://192.168.42.173로 이동하세요.

'nighthawk/nighthawk'로 시스템에 로그인하고 'goto site'를 클릭하여 애플리케이션에 접속하세요.

Kibana에 접근해야 한다면 https://192.168.42.173:8443으로 이동하세요.

SSH로 접속해야 한다면 로그인 정보는 admin/nightHawk입니다.

IP 주소를 변경하려면 (애플리케이션 전체에 반영): /opt/nighthawk/bin/nighthawkctl set-ip <새_ip주소>

Redline 감사 수집 스크립트는 이 저장소의 루트에서 찾을 수 있습니다. 독립 실행형 Redline 수집기를 사용할 때 이 스크립트를 사용하면 nightHawk를 올바르게 채우는 데 필요한 문서가 생성됩니다.

업로드:

중요: 업로드할 감사 zip 파일 생성 (Redline 독립 실행형 수집기):
1단계: Sessions\AnalysisSessionX\Audits<ComputerName>으로 이동 (X는 분석 번호, 대부분 1).
2단계: 감사 파일이 포함된 폴더(예: 20160708085733)를 zip으로 압축.
3단계: 20160708085733.zip 업로드

중요: 기존 HX 감사 파일 사용 (HX 수집기): FireEye HX 감사는 .mans 확장자로 끝납니다. HX의 감사는 Redline 수집기와 달리 반환되는 .mans 파일이 실제로 zip 파일이므로 위의 Redline 감사처럼 추가 작업 없이 직접 업로드할 수 있습니다.

탐색 모음에서 "업로드" 아이콘을 클릭하고, 감사 .zip 파일(또는 여러 개)을 선택하고, 케이스 이름(입력하지 않으면 시스템이 자동 생성)을 입력한 후 제출하세요. Redline 감사 스크립트를 사용하여 컬렉션을 생성했다면 위의 "Redline 수집기" 지침을 따르세요.

처리되면 엔드포인트가 "현재 조사" 트리 노드 아래에 나타납니다. 엔드포인트 아래에는 해당 엔드포인트의 모든 감사 유형이 표시됩니다. 이 웹 앱의 업로드 기능은 pOpen 서브프로세스를 생성하여 GO 애플리케이션을 호출, Redline 감사를 파싱하고 데이터를 Elasticsearch에 푸시합니다. 업로드에는 순차적(sequential)과 동시적(concurrent) 두 가지 옵션이 있습니다.

참고: 동시 업로드는 한 번에 최대 5개로 제한되며 리소스를 많이 소모할 수 있습니다. 저사양 시스템에서는 2~3개로 제한하세요.

태깅:

(응답 보기에서) 테이블의 모든 행을 클릭하여 해당 데이터에 태그를 지정할 수 있습니다. 태그를 지정하면 주석 보기에서 주석을 볼 수 있습니다.

Elasticsearch:

다음에 대한 사용자 정의 매핑(git 루트에 제공됨) 및 조언 주석이 있습니다.

  1. 부모/자식 관계:

문서는 GO 앱을 통해 부모/자식 관계로 인덱싱됩니다. 이는 문서를 보기에 상대적으로 논리적인 경로를 제공하기 때문에 선택되었습니다. 예를 들어 부모는 엔드포인트 이름이고 자식은 감사 유형입니다. 대규모에서 부모/자식 관계 문서에 대한 집계를 수행하는 것도 합리적입니다. 스태킹 프레임워크는 부모를 배열로 구성한 다음 특정 감사 유형에 대한 모든 자식 문서 집계를 가져오는 방식에 의존합니다.

  1. 샤딩:

Elasticsearch 설정은 튜닝과 적절한 설계 인식이 필요합니다. 부모/자식 문서를 연결하는 방식 때문에 샤딩을 이해하는 것이 중요합니다. 자식 문서는 항상 부모로 라우팅되며 단독으로 존재할 수 없습니다. 따라서 인덱스에 존재하는 샤드의 수를 고려해야 합니다. 현재 이해로는 단일 샤드를 가진 여러 노드를 포함하는 설정을 선택하는 것이 현명할 수 있습니다. 이러한 설정에서 성능을 얻기 위해 샤드 라우팅 검색을 작업 중입니다.

현재 빠른 검색을 위한 최적의 구성을 설계 중입니다.

  1. 확장:

이 애플리케이션은 대규모 확장을 위해 설계되었습니다. 초기 설계 개념에서 단일 CPU 2GB Ubuntu VM에 3개의 ES 노드(Macbook Pro)로 약 400만 개 이상의 문서(또는 50개의 엔드포인트 수집)를 원활하게 실행할 수 있었습니다. 프로덕션 환경에서 64/128GB RAM 및 SAS 저장소 설정을 사용하면 많은 분석가가 동시에 작업하면서도 문서 검색 시 매우 빠른 응답 시간을 유지할 수 있습니다.

고려 사항:

  1. DataTables 혼합 처리:

    수집되는 여러 감사 유형은 테이블에 모든 문서를 반환하기에는 너무 큽니다. 예를 들어 URL 기록 및 레지스트리는 15,000개의 문서를 DOM에 반환할 수 있으며, 이를 렌더링하면 클라이언트 브라우저에 부담을 줍니다. 이를 해결하기 위해 특정 감사 유형의 결과를 페이지별로 표시하는 ServerSide 처리를 사용합니다. 따라서 백엔드에서 Elasticsearch를 통해 감사 유형의 문서를 검색할 수도 있습니다.

  2. 태깅:

    현재 문서에 태그를 지정하고 해당 주석을 볼 수 있습니다. 업데이트하거나 변경할 수 있습니다. 분석가는 문서에 날짜/분석가 이름/주석과 같은 컨텍스트를 제공할 수 있습니다.

의존성 (모두 사전 설치됨):

elasticsearch-dsl.py django 1.8 python requests

할 일:

프로세스 핸들 (진행 중).
시간 기반 생성기를 위한 시간 선택 슬라이더 (진행 중).
현재/이전 조사에 대한 컨텍스트 메뉴.
태깅 컨텍스트. 태깅 시스템은 분석가 창 간의 실시간 주석을 위해 웹소켓 루프에 통합될 예정 (진행 중).
애플리케이션 컨텍스트.
엔드포인트를 컨텍스트 간에 이동하는 기능.
노드 트리를 조사 날짜 기준으로 재설계 가능성.
선택적 스태킹, 현재 루트 노드 선택기가 활성화됨.
샤드 라우팅 검색.
Redline 감사 스크립트 템플릿.
AngularJS와의 더 광범위한 통합 (진행 중).
반응형 디자인. (진행 중).
핵심 설정 구성을 위한 관리 제어 페이지 (진행 중).

저자 및 참고:

비슷한 생각을 가진 분들이 이 프로젝트에 기여하기를 항상 환영합니다. 저희는 웹 디자인 전문가가 아닙니다. 더 나은 방법이 있다면 풀 리퀘스트를 요청해 주시고, 마음에 들면 병합하겠습니다.

Daniel Eden & Roshan Maskey

크레딧:

Mandiant Redline 개발자, AngularJS, Django 개발자, Angular-DataTables/DataTables, D3 (Bostock), Elasticsearch/ES-dsl.py, jsTree, qTip, GOlang, Python, Fahad Abdulaal (로고/동영상).

스크린샷:

alt tag alt tag alt tag alt tag alt tag alt tag

도구 다운로드