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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Loki — IOC 및 YARA 기반 스캐너로, 파일 이름 정규식, YARA 시그니처, 해시 매칭, 그리고 엔드포인트에서의 C2 백커넥트 검사를 통해 침해 지표를 탐지합니다. | Kitploit
도구/GitHubGitHub/neo23x0/loki
Indicator of Compromise (IOC) ManagementVulnerability ScannersHash AnalysisForensicsMalware AnalysisDigital ForensicsThreat IntelligenceIncident Response
GitHubneo23x0/loki

Loki

IOC 및 YARA 기반 스캐너로, 파일 이름 정규식, YARA 시그니처, 해시 매칭, 그리고 엔드포인트에서의 C2 백커넥트 검사를 통해 침해 지표를 탐지합니다.

저장소 보기
3.8k6127개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

Not Maintained

새로운 오픈소스 YARA 스캐너 LOKI RS(Rust)를 작성했습니다. LOKI(Python)는 이제 공식적으로 지원이 종료되었습니다.

중요 참고 사항

이 프로젝트는 현재 유지보수 비활성 모드입니다. 즉, 버그 수정 및 간단한 이슈에 대한 풀 리퀘스트는 병합하지만, 새로운 기능을 추가하거나 기존 기능을 확장할 시간이 부족합니다. 수년간 저는 이 프로젝트보다 다양한 개선 사항을 제공하는 고급 스캐너 THOR 개발에 집중해 왔습니다. 무료 버전인 THOR Lite를 사용할 수 있습니다. 더 빠르고 안정적이며 CI 환경에서 엄격하게 테스트되었습니다. 더 나은 솔루션입니다. 오픈소스, 무료 및 상용 스캐너 비교는 여기에서 확인할 수 있습니다.

또한 LOKI의 Rust 기반 버전인 LOKI 2 작업을 시작했습니다. 하지만 현재 LOKI 릴리스와 기능적 동등성을 언제 달성할지는 확실하지 않습니다. 또한, 어떤 스캐너가 귀하의 요구에 가장 적합한지 결정하는 데 도움이 되는 플로우 차트를 만들었습니다.

Logo

Loki - 간단한 IOC 및 YARA 스캐너

침해 지표(IOC)를 위한 간단한 스캐너

탐지는 네 가지 탐지 방법을 기반으로 합니다:

root@kitploit:~
1. 파일 이름 IOC
   전체 파일 경로/이름에 대한 정규식 일치

2. Yara 규칙 확인
   파일 데이터 및 프로세스 메모리에 대한 Yara 서명 일치

3. 해시 확인
   알려진 악성 해시(MD5, SHA1, SHA256)와 스캔된 파일 비교
   
4. C2 백 연결 확인
   프로세스 연결 엔드포인트와 C2 IOC 비교(v10 버전부터 신규)
   

추가 확인:

root@kitploit:~
1. Regin 파일 시스템 확인 (--reginfs 사용)
2. 프로세스 이상 확인 ([Sysforensics](http://goo.gl/P99QZQ) 기반)
3. SWF 압축 해제 스캔 (v0.8 버전부터 신규)
4. SAM 덤프 확인

Windows 바이너리는 PyInstaller로 컴파일되었으며 x86 및 x64 기반 시스템에서 x86 응용 프로그램으로 실행되어야 합니다.

LOKI 실행 및 보고서 분석 방법

실행

  • 릴리스 섹션에서 최신 버전의 LOKI 다운로드
  • 프로그램 패키지 압축 풀기
  • 인터넷에 연결된 시스템에서 loki-upgrader.exe를 실행하여 최신 서명 가져오기
  • 스캔할 대상 시스템에 프로그램 폴더 가져오기: 이동식 미디어, 네트워크 공유, 대상 시스템의 폴더
  • 명령줄 "cmd.exe"를 관리자 권한으로 열고 실행 (관리자 권한 없이도 LOKI를 실행할 수 있지만 일부 검사가 비활성화되고 디스크의 관련 개체에 액세스할 수 없음)

보고서

  • 생성된 보고서는 GREEN, YELLOW 또는 RED 결과 줄을 표시합니다.
  • 발견 사항을 직접 분석하십시오:
    1. 기밀 샘플을 Virustotal.com에 업로드
    2. 웹에서 파일 이름 검색
    3. 규칙 이름의 키워드 검색 (예: EQUATIONGroupMalware_1 > "Equation Group" 검색)
    4. 샘플의 MD5 해시를 웹에서 검색
  • 오른쪽 사이드바에서 접근 가능한 "Issues" 섹션을 통해 오탐을 보고해 주시기 바랍니다. 트리거된 오탐 지표(해시 및/또는 파일 이름 및 규칙 이름)를 언급해 주십시오.

요구 사항

컴파일된 EXE를 사용하는 경우 요구 사항이 없습니다.

직접 빌드하려면:

  • yara: Windows(x86)용 컴파일된 패키지의 최신 버전을 사용하는 것이 좋습니다. 여기에서 다운로드: https://github.com/VirusTotal/yara-python/releases
  • colorama: 색상 표시
  • psutil: 프로세스 확인
  • pywin32: 경로 변환 (Windows 전용; PyInstaller 이슈)

사용법

root@kitploit:~
usage: loki.py [-h] [-p path] [-s kilobyte] [-l log-file] [-r remote-loghost]
               [-t remote-syslog-port] [-a alert-level] [-w warning-level]
               [-n notice-level] [--allhds] [--alldrives] [--printall]
               [--allreasons] [--noprocscan] [--nofilescan] [--vulnchecks]
               [--nolevcheck] [--scriptanalysis] [--rootkit] [--noindicator]
               [--dontwait] [--intense] [--csv] [--onlyrelevant] [--nolog]
               [--update] [--debug] [--maxworkingset MAXWORKINGSET]
               [--syslogtcp] [--logfolder log-folder] [--nopesieve]
               [--pesieveshellc] [--nolisten]
               [--excludeprocess EXCLUDEPROCESS] [--force]

Loki - 간단한 IOC 스캐너

선택적 인수:
  -h, --help            도움말 메시지 표시 후 종료
  -p path               스캔할 경로
  -s kilobyte           확인할 최대 파일 크기(KB, 기본값 5000 KB)
  -l log-file           로그 파일
  -r remote-loghost     원격 syslog 시스템
  -t remote-syslog-port
                        원격 syslog 포트
  -a alert-level        경고 점수
  -w warning-level      경고 점수
  -n notice-level       알림 점수
  --allhds              모든 로컬 하드 드라이브 스캔 (Windows 전용)
  --alldrives           모든 드라이브 스캔 (네트워크 드라이브 및 이동식 미디어 포함)
  --printall            스캔된 모든 파일 출력
  --allreasons          점수에 영향을 준 모든 이유 출력
  --noprocscan          프로세스 스캔 건너뛰기
  --nofilescan          파일 스캔 건너뛰기
  --vulnchecks          취약점 검사 실행
  --nolevcheck          Levenshtein 거리 검사 건너뛰기
  --scriptanalysis      스크립트 통계 분석을 통한 난독화 코드 탐지 (베타)
  --rootkit             루트킷 검사 건너뛰기
  --noindicator         진행 표시기 표시하지 않음
  --dontwait            종료 시 대기하지 않음
  --intense             집중 스캔 모드 (알 수 없는 파일 유형 및 모든 확장자도 스캔)
  --csv                 CSV 로그 형식을 STDOUT에 출력 (머신 처리용)
  --onlyrelevant        경고 또는 알림만 출력
  --nolog               로컬 로그 파일 쓰지 않음
  --update              "signature-base" 하위 저장소에서 서명 업데이트
  --debug               디버그 출력
  --maxworkingset MAXWORKINGSET
                        스캔할 프로세스의 최대 작업 세트 크기(MB, 기본값 100 MB)
  --syslogtcp           syslog 로깅에 UDP 대신 TCP 사용
  --logfolder log-folder
                        로그 파일이 지정되지 않은 경우 로깅에 사용할 폴더
  --nopesieve           pe-sieve 스캔 수행하지 않음
  --pesieveshellc       pe-sieve 셸코드 스캔 수행
  --nolisten            수신 연결 표시하지 않음
  --excludeprocess EXCLUDEPROCESS
                        스캔에서 제외할 실행 파일 이름 지정, 여러 번 사용 가능
  --force               특정 폴더 강제 스캔 (LOKI 코드에서 하드 제외된 경우에도)

서명 및 IOC

버전 0.15부터 Yara 서명은 하위 저장소 signature-base에 있습니다. LOKI를 ZIP 파일로 다운로드하면 하위 저장소를 가져올 수 없습니다. 저장소를 클론하면 포함됩니다.

해시 및 파일 이름에 대한 IOC 파일은 './signature-base/iocs' 폴더에 저장됩니다. './signature-base/yara' 폴더에 있는 모든 '.yar' 파일은 이미 포함된 규칙 세트와 함께 초기화됩니다. 서명 일치 시 메시지 수준을 정의하려면 'score' 값을 사용하십시오.

해시, C2 및 파일 이름 IOC는 './signature-base/iocs' 하위 폴더에 파일을 추가하여 추가할 수 있습니다. 모든 해시 IOC 및 파일 이름 IOC 파일은 LOKI에서 사용하는 형식(기본 파일 참조)을 따라야 합니다. 파일 이름에 "hash", "filename" 또는 "c2" 문자열이 포함되어야 초기화 시 가져옵니다.

해시 IOC의 경우(새 줄로 구분, 해시 유형은 자동 감지):

root@kitploit:~
Hash;Description [Reference]

파일 이름 IOC의 경우(새 줄로 구분):

root@kitploit:~
# (선택 사항) Description [Reference]
Filename as Regex[;Score as integer[;False-positive as Regex]]

사용자 정의 스캔 제외

버전 v0.16.2부터 LOKI는 "./config" 폴더의 "excludes.cfg"를 통해 사용자 정의 제외 정의를 지원합니다. 각 줄은 디렉터리 탐색 중 전체 파일 경로에 적용되는 정규식입니다. 이를 통해 드라이브 이름에 관계없이 특정 디렉터리, 특정 폴더의 파일 확장자, 바이러스 백신 검사에 민감한 제품에 속하는 모든 파일 및 디렉터리를 제외할 수 있습니다.

'''exclude.cfg'''는 다음과 같습니다:

root@kitploit:~
# 제외된 디렉터리
#
# - 스캔에서 제외할 디렉터리 추가
# - 백슬래시 이중 이스케이프
# - 값은 대소문자를 구분하지 않음
# - Windows에서는 백슬래시, Linux/Unix/OSX에서는 슬래시 사용
# - 각 줄에는 전체 경로의 일부와 일치하는 정규식(대소문자 구분 안 함)이 포함됩니다.
#   예:
#   Regex: \\System32\\
#   일치: C:\Windows\System32\cmd.exe
#
#   Regex: /var/log/[^/]+\.log
#   일치: /var/log/test.log
#   불일치: /var/log/test.gz
#

# 유용한 예시
\\Ntfrs\\
\\Ntds\\
\\EDB[^\.]+\.log
Sysvol\\Staging\\Nntfrs_cmp
\\System Volume Information\\DFSR

스크린샷

Loki 스캔

Screen

Regin 일치

Screen

Regin 오탐

Screen

해시 기반 IOC

Screen

파일 이름 기반 IOC

Screen

생성된 로그 파일

Screen

연락처

LOKI 스캐너 회사 홈페이지 https://www.nextron-systems.com/loki/

트위터 @cyb3rOps @thor_scanner

APT 스캐닝을 위한 기업용 솔루션에 관심이 있다면 Loki의 큰 형 THOR를 확인하세요.

스캐너 컴파일

PyInstaller를 다운로드하고 pyinstaller 프로그램 디렉터리로 이동하여 다음을 실행하십시오:

root@kitploit:~
python ./pyinstaller.py -F C:\path\to\loki.py

그러면 하위 폴더 ./loki/dist에 loki.exe가 생성됩니다.

프로 팁 (선택 사항)

msvcr100.dll을 포함하여 대상 OS 호환성을 개선하려면 ./loki/loki.spec 파일에서 a.binaries,를 포함하는 줄을 다음과 같이 변경하십시오:

root@kitploit:~
a.binaries + [('msvcr100.dll', 'C:\Windows\System32\msvcr100.dll', 'BINARY')],

Mac OS X(또는 이후 버전) 또는 Linux에서 LOKI 사용

  • loki용 Python 가상 환경을 초기화합니다. 이를 위해서는 Python 모듈 venv가 설치되어 있어야 하며, python -m venv path/to/venv를 실행합니다(path/to/venv는 가상 환경 경로). path/to/venv/bin/python --version을 실행하여 가상 환경을 테스트합니다. 가상 환경 모듈 pip, setuptools, wheel을 업그레이드하려면 path/to/venv/bin/python -m pip install --upgrade pip setuptools wheel을 실행합니다.
  • 라이브러리 설치 path/to/venv/bin/python -m pip install colorama yara-python psutil rfc5424-logging-handler netaddr
  • loki-upgrader.py 실행 path/to/venv/bin/python path/to/loki/loki-upgrader.py (path/to/loki는 Loki 저장소 경로).
  • loki 실행 sudo path/to/venv/bin/python loki.py

Yara 소스

Yara 소스는 여기에서 다운로드하세요.

백신 - 오탐

컴파일된 스캐너가 백신 엔진에 의해 탐지될 수 있습니다. 이는 스캐너가 일부 파일 시스템 및 프로세스 스캐닝 기능을 구현한 컴파일된 파이썬 스크립트이기 때문이며, 이러한 기능은 컴파일된 악성 코드에서도 사용됩니다.

컴파일된 실행 파일을 신뢰하지 않는다면 직접 컴파일하세요.

라이선스

Loki - Simple IOC Scanner Copyright (c) 2015 Florian Roth

이 프로그램은 자유 소프트웨어입니다. 자유 소프트웨어 재단이 발표한 GNU 일반 공중 사용 허가서(GPL) 버전 3 또는 (선택에 따라) 이후 버전의 조건에 따라 재배포 및/또는 수정할 수 있습니다.

이 프로그램은 유용하기를 바라며 배포되지만, 어떠한 보증도 없습니다. 상품성 또는 특정 목적에의 적합성에 대한 묵시적 보증도 없습니다. 자세한 내용은 GNU 일반 공중 사용 허가서를 참조하십시오.

이 프로그램과 함께 GNU 일반 공중 사용 허가서의 사본을 받아야 합니다. 그렇지 않다면 http://www.gnu.org/licenses/를 참조하십시오.

도구 다운로드