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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
geoip-attack-map — syslog를 추적하고 IP/포트 번호를 구문 분석하여 공격자를 실시간으로 시각화하는 사이버 보안 GeoIP 공격 지도입니다. | Kitploit
도구/GitHubGitHub/matthewclarkmay/geoip-attack-map
Information GatheringNetwork SecurityThreat Intelligence
GitHubmatthewclarkmay/geoip-attack-map

geoip-attack-map

syslog를 추적하고 IP/포트 번호를 구문 분석하여 공격자를 실시간으로 시각화하는 사이버 보안 GeoIP 공격 지도입니다.

저장소 보기
3672158년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

가장 먼저

현재 제 삶에서 이 프로젝트를 유지할 시간이 많지 않습니다. 저는 이 도전을 JavaScript를 배우고, 이미 알고 있던 Python을 향상시키기 위한 수단으로 시작했습니다. 구현 방식에 대해 다르게 할 수 있었던 점이 분명히 있을 것이며, 제 코드를 다운로드하여 살펴보는 누군가로부터 건설적인 비판을 받더라도 기분 나쁘지 않을 것입니다. 이 작업을 하면서 엄청나게 많은 것을 배웠다고 생각하며, 오픈 소스 커뮤니티가 계속해서 저에게 많은 것을 가르쳐 주길 바랍니다 :)

참고: 제가 이 프로젝트를 유지하지 않기 때문에 몇 가지 기능이 바로 작동하지 않을 수 있습니다. 예를 들어, 합법적인 MapBox API 키를 지불하지 않았기 때문에 지도가 표시되지 않을 수 있습니다. 이를 해결하려면 직접 MapBox 계정을 만들고 자신의 키를 사용해야 할 것입니다.

사이버 보안 GeoIP 공격 지도 시각화

이 geoip 공격 지도 시각화 도구는 실시간으로 조직에 대한 네트워크 공격을 표시하기 위해 개발되었습니다. 데이터 서버는 syslog 파일을 따라가며 소스 IP, 대상 IP, 소스 포트, 대상 포트를 추출합니다. 프로토콜은 일반적인 포트를 통해 결정되며, 시각화는 프로토콜 유형에 따라 색상이 다릅니다. 데모 비디오는 여기를 클릭하세요. 이 프로젝트는 2015년 Palmetto Cyber Defense Competition을 위한 사이버 방어 경쟁 네트워크 트래픽 시각화 도구를 만든 Sam Cappella 덕분에 가능했습니다. 저는 주로 그의 코드를 참고했지만, 디스플레이 서버와 웹앱의 시각적 측면을 만드는 과정에서 몇 가지 함수를 차용했습니다. 또한 Dylan Madisetti님께도 구현의 특정 측면에 대해 조언을 주셔서 특별히 감사드립니다.

중요

이 프로그램은 전적으로 syslog에 의존하며, 모든 장비가 로그를 다르게 포맷하기 때문에 로그 파싱 함수를 사용자 지정해야 합니다. 조직에서 보안 정보 및 이벤트 관리 시스템(SIEM)을 사용한다면, 로그를 정규화하여 정규식 작성 시간을 크게 절약할 수 있습니다.

  1. 모든 syslog를 SIEM으로 보냅니다.
  2. SIEM을 사용하여 로그를 정규화합니다.
  3. 정규화된 로그를 이 소프트웨어를 실행하는 상자(syslog-ng를 실행하는 모든 Linux 머신에서 작동)로 보내 데이터 서버가 파싱할 수 있게 합니다.

설정

  1. /etc/redis/redis.conf에서 bind 127.0.0.1을 bind 0.0.0.0으로 변경해야 합니다. DataServer를 AttackMapServer와 다른 머신에서 실행하려는 경우에 필요합니다.
  2. /AttackMapServer/index.html의 WebSocket 주소가 AttackMapServer의 IP 주소를 가리키도록 하여 브라우저가 WebSocket 주소를 알 수 있게 합니다.
  3. MaxMind GeoLite2 데이터베이스를 다운로드하고 DataServer.py의 db_path 변수를 데이터베이스를 저장한 위치로 변경합니다.
    • ./db-dl.sh
  4. 본사 위도/경도를 index.html의 hqLatLng 변수에 추가합니다.
  5. syslog-gen.py 또는 syslog-gen.sh를 사용하여 "즉시 사용 가능한" 더미 트래픽을 시뮬레이션합니다.
  6. 중요: 기억하세요. 이 코드는 파싱 함수를 개인화한 후에만 프로덕션 환경에서 올바르게 실행됩니다. 기본 파싱 함수는 ./syslog-gen.sh 트래픽만 파싱하도록 작성되었습니다.

버그, 피드백 및 질문

오류나 버그를 발견하면 알려주세요. 질문과 피드백도 환영하며, [email protected]으로 보내거나 이 저장소에 이슈를 열어주세요.

배포 예시

Ubuntu 16.04 LTS에서 테스트되었습니다.

  • 애플리케이션 클론:

    root@kitploit:~
    git clone https://github.com/matthewclarkmay/geoip-attack-map.git
    
  • 시스템 종속성 설치:

    root@kitploit:~
    sudo apt install python3-pip redis-server
    
    
  • Python 요구사항 설치:

    root@kitploit:~
    cd geoip-attack-map
    sudo pip3 install -U -r requirements.txt
    
    
  • Redis 서버 시작:

    root@kitploit:~
    redis-server
    
    
  • 데이터 서버 DB 구성:

    root@kitploit:~
    cd DataServerDB
    ./db-dl.sh
    cd ..
    
    
  • 데이터 서버 시작:

    root@kitploit:~
    cd DataServer
    sudo python3 DataServer.py
    
    
  • Syslog 생성 스크립트 시작 (DataServer 디렉토리 내):

    • 새 터미널 탭 열기 (Ubuntu에서는 Ctrl+Shift+T).

      root@kitploit:~
      ./syslog-gen.py
      ./syslog-gen.sh
      
  • 공격 맵 서버 구성, 플래그를 올바른 위치에 압축 해제:

    • 새 터미널 탭 열기 (Ubuntu에서는 Ctrl+Shift+T).

      root@kitploit:~
      cd AttackMapServer/
      unzip static/flags.zip
      
  • 공격 맵 서버 시작:

    root@kitploit:~
    sudo python3 AttackMapServer.py
    
도구 다운로드
  • 브라우저에서 공격 맵 서버 접속:

    • http://localhost:8888/ 또는 http://127.0.0.1:8888/

    • 다른 컴퓨터의 브라우저를 통해 접속하려면 AttackMapServer를 실행하는 머신의 외부 IP를 사용합니다.

    • AttackMapServer 디렉토리의 /static/map.js 파일에서 IP 주소를 편집합니다. 다음에서:

      root@kitploit:~
      var webSock = new WebSocket("ws:/127.0.0.1:8888/websocket");
      
    • 예를 들어 다음과 같이 변경합니다:

      root@kitploit:~
      var webSock = new WebSocket("ws:/192.168.1.100:8888/websocket");
      
    • 공격 맵 서버를 다시 시작합니다:

      root@kitploit:~
      sudo python3 AttackMapServer.py
      
    • 다른 컴퓨터에서 브라우저를 다음 주소로 지정합니다:

      root@kitploit:~
      http://192.168.1.100:8888/