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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ketshash — 이벤트 뷰어 로그를 기반으로 의심스러운 권한 있는 NTLM 연결, 특히 Pass-The-Hash 공격을 탐지하는 작은 도구입니다. | Kitploit
도구/GitHubGitHub/cyberark/ketshash
Defensive ToolsNetwork SecurityPenetration TestingAuthenticationIncident ResponseLog Analysis
GitHubcyberark/ketshash

ketshash

이벤트 뷰어 로그를 기반으로 의심스러운 권한 있는 NTLM 연결, 특히 Pass-The-Hash 공격을 탐지하는 작은 도구입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

GitHub release License

Ketshash

이벤트 뷰어 로그를 기반으로 의심스러운 권한 있는 NTLM 연결, 특히 Pass-The-Hash 공격을 탐지하는 작은 도구입니다.

이 도구는 "Pass-The-Hash 탐지" 연구의 일환으로 발표되었습니다. "Pass-The-Hash 탐지"에 대한 자세한 내용은 블로그 게시물을 참조하세요:
https://www.cyberark.com/threat-research-blog/detecting-pass-the-hash-with-windows-event-viewer

전체 연구는 백서에서 확인할 수 있습니다:
https://www.cyberark.com/resource/pass-hash-detection-using-windows-events/
(직접 링크: http://lp.cyberark.com/rs/cyberarksoftware/images/wp-Labs-Pass-the-hash-research-01312018.pdf)

Demo

IMAGE ALT TEXT HERE

요구 사항

다음 권한이 있는 계정:

  • 원격 머신의 보안 이벤트 로그에 접근 권한
  • ActiveDirectory 읽기 권한 (표준 도메인 계정)
  • 동일한 시간으로 동기화된 컴퓨터 (그렇지 않으면 결과에 영향을 줄 수 있음)
  • 최소 PowerShell 2.0

개요

Ketshash는 다음 정보를 기반으로 의심스러운 권한 있는 NTLM 연결을 탐지하는 도구입니다:

  • 모니터링되는 머신의 보안 이벤트 로그 (로그인 이벤트)
  • Active Directory의 인증 이벤트

사용법

두 가지 옵션이 있습니다:

기본 사용법

  • PowerShell을 열고 다음을 실행합니다:
    • Import-Module .\Ketshash.ps1 또는 Ketshash.ps1 내용을 복사하여 PowerShell 세션에 붙여넣기
    • Invoke-DetectPTH <arguments>

Ketshash Runner

  • Ketshash.ps1이 KetshashRunner.exe와 같은 디렉터리에 있는지 확인하세요.
  • KetshashRunner.exe를 더블 클릭하고, 필요에 따라 설정을 변경한 후 Run을 누르세요.

alt text

Invoke-DetectPTH

매개변수:
  • TargetComputers - NTLM 연결을 탐지할 대상 컴퓨터의 배열.
  • TargetComputersFile - NTLM 연결을 탐지할 대상 컴퓨터 목록이 포함된 파일의 경로.
  • StartTime - 탐지가 시작되는 시간. 기본값은 현재 시간입니다.
  • UseKerberosCheck - 조직의 DC에서 TGT\TGS 로그온을 확인합니다. 기본값은 원본 머신에서 정당한 로그온을 검색하는 것입니다. 어쨌든 이 스위치의 유무와 관계없이 원본 머신에서 이벤트 ID 4648에 대한 쿼리는 여전히 수행됩니다.
  • UseNewCredentialsCheck - 로그온 유형 9(예: Mimikatz)의 로그온 이벤트를 확인합니다. 이는 선택 사항이며, 기본 알고리즘에서 이미 처리합니다. 이는 의심스러운 NTLM 연결을 탐지하는 또 다른 옵션을 보여주기 위해 존재합니다. Windows 10 및 Server 2016 버전에서는 이벤트 뷰어에서 "Microsoft-Windows-LSA/Operational"을 활성화해야 합니다. Windows 10 및 Server 2016에서는 "커널 개체 감사"를 활성화하면 LSASS에 쓰기와 같은 보다 정확한 정보를 제공합니다.
  • LogFile - 결과를 저장할 로그 파일 경로.
  • MaxHoursOfLegitLogonPriorToNTLMEvent - NTLM 이벤트 시간으로부터 거슬러 올라가 정당한 로그온을 검색할 시간(시간). 기본값은 2시간입니다.
예시 (권장):
root@kitploit:~
Invoke-DetectPTH -TargetComputers "MARS-7" -LogFile "C:\tmp\log.txt"

alt text

예시:
root@kitploit:~
Invoke-DetectPTH -TargetComputers "ComputerName" -StartTime ([datetime]"2017-12-14 12:50:00 PM") -LogFile "C:\tmp\log.txt" -UseKerberosCheck -UseNewCredentialsCheck

alt text

디버깅

스레드를 사용하기 때문에 기본 함수의 스크립트 블록을 디버깅할 수 없습니다. 해결 방법으로 Detect-PTHMultithreaded 전에 Invoke-Command를 사용할 수 있습니다:

root@kitploit:~
Invoke-Command -ScriptBlock $detectPTHScriptBlock -ArgumentList $TargetComputers, $startTime, $LogFile, $UseKerberosCheck, $UseNewCredentialsCheck, $MaxHoursOfLegitLogonPriorToNTLMEvent`

하나의 대상 컴퓨터만 탐지:

root@kitploit:~
Invoke-DetectPTH -TargetComputers "<computer_name>" ...

$TargetComputer를 [array] 대신 [string]으로 변경합니다. 이렇게 하면 기본 함수의 스크립트 블록 내에서 중단점을 사용할 수 있습니다.

참고 자료

추가 의견이나 질문이 있으면 Eviatar Gerzi (@g3rzi) 및 CyberArk Labs에 문의하실 수 있습니다.

도구 다운로드