EagleEye - 호스트 기반 IDS 및 네트워크 모니터링 시스템
이 프로젝트는 제 졸업 프로젝트라서 실제로 사용할 수준이 되려면 많은 작업이 필요합니다. 사용자 친화적이지 않고, 숙련된 사용자만을 위한 베타 버전이며, 교육 목적으로만 공개/제작했습니다!

- EagleEye는 두 부분으로 구성됩니다:
- 클라이언트 (Golang로 작성됨)
- 목적: 장치의 모든 패킷을 캡처하고 유명한 프로토콜에서 중요한 세부 정보를 추출한 다음, 수집된 모든 데이터를 마스터가 온라인 상태일 때 전송합니다!
- 사용법: 모니터링하려는 각 장치에 설치해야 합니다 (예: 회사의 직원 장치).
- 마스터: (Python 및 Bootstrap으로 작성됨)
- 목적: 클라이언트에서 전송된 모든 패킷을 수신하여 GUI 모니터링 테이블에 정리해 표시하고, 현재 시스템 사용자/시스템 정보 같은 연결된 장치 정보를 표시하며, 캡처된 데이터를 이미 작성된 위협 모델과 비교한 후, 일반적인 IDS 시스템이 하듯이 네트워크의 잠재적 보안 위협에 대해 마스터 사용자에게 경고합니다!
- 사용법: 클라이언트와 동일한 네트워크의 서버에서 실행해야 합니다 (예: 회사의 IT 부서 또는 블루 해킹 팀이 관리하는 서버일 수 있음).
자세한 내용은 침입 탐지 시스템(IDS)과 그 유형에 대해 읽어야 합니다. NIST 가이드를 추천합니다.
스크린샷
메인 GUI


모니터링 테이블
테이블의 버튼을 사용하면 테이블을 (CSV, Excel, PDF)로 내보내거나, 테이블 데이터를 클립보드에 복사하거나, 원할 경우 테이블 데이터를 인쇄할 수 있습니다.
모니터링 테이블 검색
간단 검색
상세 검색
보시다시피 여기서 검색을 사용하면 테이블에 표시된 모든 항목을 검색할 수 있습니다.
연결된 장치 테이블
새 클라이언트가 클라이언트에 연결되었을 때
각 클라이언트에 대한 정보
테이블은 5초마다 또는 페이지 새로고침 시 자동으로 새로고침됩니다!
위협 테이블
위협이 감지되었을 때
감지된 잠재적 위협에 대한 세부 정보 + 클릭 시 참조


위협에 대한 데스크톱 알림
테이블은 5초마다 또는 페이지 새로고침 시 자동으로 새로고침됩니다!
설치 지침
클라이언트
요구 사항
- 현재 Windows 시스템만 지원합니다 (레지스트리에서 가져오는 데이터 때문이며, 변경이 필요합니다).
- 다음 지침
설치 지침
- Golang이 설치되어 있는지 확인하십시오.
- 다음 명령어를 사용하여 gopacket 라이브러리를 설치하십시오:
go get github.com/google/gopacket
- 여기에서 npcap을 다운로드하여 설치하십시오.
- 필요에 따라 코드에서 다음 변수들을 변경하십시오:
- Line57: url 변수를 현재 마스터(Master) URL로 변경하십시오
- Line59: device 변수를 수신할 네트워크 인터페이스로 변경하십시오. Windows의 경우 이 문서가 필요합니다!
- Line66: filter 변수를 네트워크 패킷 캡처에 사용할 필터로 변경하거나, 그대로 비워 두십시오 (모든 패킷을 캡처하려는 경우). 필터 구문은 Wireshark 검색에서 사용하는 것과 동일한 bpf입니다. 이 가이드에서 배울 수 있습니다. 사용할 사람을 위해 주석에도 몇 가지 예제를 남겨 두었습니다.
- 물론 CMD에서 클라이언트 디렉터리로 이동하십시오.
- 이제 다음 명령어로 클라이언트를 스크립트로 실행할 수 있습니다:
go run main.go
- 컴파일/빌드하려면 다음 명령어를 사용할 수 있습니다:
go build -o client.exe main.go, 이 가이드가 필요할 수도 있습니다.
- 이 모든 것을 완료했다면, 이제 좀 쉬세요 😆 (농담입니다)
마스터
요구 사항
- 모든 OS.
- 다음 지침은 클라이언트보다 훨씬 쉽습니다. 걱정 마세요 LOL!
설치 지침
- Python 3(버전 3.5 이상)과 pip가 설치되어 있는지 확인하십시오.
- CMD에서 마스터 폴더로 이동한 후 다음 명령어로 요구 사항을 설치하십시오:
pip install -r requirements.txt 또는 python -m pip install -r requirements.txt
- Windows를 사용 중이고 CMD에서 컬러 출력이 중요하다면 다음 명령어를 실행하십시오:
pip install -r coloring-requirements.txt 또는 python -m pip install -r coloring-requirements.txt
- 이제 필요에 따라 변경할 몇 가지 변수가 있습니다 😆
- Line21: host_port 변수를 서비스할 포트로 변경하십시오 (기본값: 8000)
- Line23: serve_localhost 변수를 로컬 호스트에서만 마스터를 실행하려면 True로 변경하십시오 (기본값: True)
- Line24: view_browser 변수를 마스터가 서비스 URL을 브라우저에서 자동으로 열도록 하려면 True로 변경하십시오 (기본값: True)
- 이제
python interface.py로 마스터를 실행할 수 있습니다.
- 재미있게 즐기세요 :)
TODO 목록