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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
TimeException — 시간 오라클을 사용하여 AV 실시간 검사에서 제외된 폴더를 찾는 도구 | Kitploit
도구/GitHubGitHub/bananabr/timeexception
ReconnaissanceInformation GatheringPenetration TestingRed TeamingAdversarial Attack
GitHubbananabr/timeexception

TimeException

시간 오라클을 사용하여 AV 실시간 검사에서 제외된 폴더를 찾는 도구

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

면책 조항

본 도구는 교육 목적으로만 제공됩니다. 이 저장소에 포함된 자료와 관련된 모든 행동과 활동은 전적으로 사용자의 책임입니다. 이 도구를 오용하면 해당 개인에 대한 형사 고발이 발생할 수 있습니다. 제공된 도구를 불법적으로 사용하여 법을 위반하는 개인에 대해 형사 고소가 제기되더라도 저자는 책임을 지지 않습니다.

이것은 무엇인가?

Windows 시스템에서 AV 실시간 검사에서 제외된 폴더를 식별하기 위해 만들어진 개념 증명 도구입니다.

어떻게 작동하나요?

이 도구는 폴더 경로를 인수로 받아 해당 하위 디렉터리를 Y 깊이만큼 반복합니다. Y는 사용자가 제공하는 최대 깊이 인수입니다. 도구는 각 디렉터리에 무작위 내용의 512바이트 파일 N개를 생성합니다. N은 사용자가 제공하는 샘플 크기입니다. N이 클수록 더 정밀해지고 오탐(false positive) 발생률이 줄어듭니다. N이 클수록 생성되는 파일 수가 많아지므로 도구 실행 시간이 길어집니다. 제 테스트에서는 5,000이 시간과 정확성 사이에 좋은 관계를 제공하는 것 같았습니다. 그런 다음 도구는 각 디렉터리에 파일을 만드는 데 걸린 평균 시간을 기록합니다. 마지막으로 도구는 디렉터리 중 평균 쓰기 시간이 전역 평균보다 최소 X% 이상 빠른 디렉터리가 있는지 확인합니다. X는 민감도(sensitivity) 매개변수라고 합니다. 제 테스트에 따르면 0.25(25%)가 대부분의 경우 잘 작동하는 것 같습니다.

왜 작동하나요?

AV 솔루션은 디스크에 기록되는 대부분의 콘텐츠를 검사하고 파일 쓰기 관련 호출을 후킹합니다. 이 추가 단계는 실시간 검사에서 제외된 폴더에 쓸 때 측정 가능한 시간 차이를 만들어낼 수 있습니다. 다음 그래프는 도구 초기 테스트 중 여러 폴더에 파일을 쓰는 데 걸린 평균 마이크로초 수를 나타냅니다. 실시간 검사에서 제외된 두 폴더는 그림에서 강조 표시되어 있습니다.

경로 x 경과 시간 그래프

사용 방법은?

컴파일

  • https://vcpkg.io/en/index.html 설치 및 구성
  • vcpkg를 사용하여 boost-process 의존성 설치
  • Visual Studio 2019+를 사용하여 프로젝트 컴파일

실행 모드

폴더 실행 모드

실행 모드 0(--mode 0)은 Defender 제외 목록의 폴더를 매핑하려고 시도합니다. 사용자는 --targets 인수를 통해 테스트할 폴더 목록을 제공해야 합니다. --sample-size 인수는 각 디렉터리에 생성되는 파일 수를 조정하는 데 사용할 수 있습니다.

예:

root@kitploit:~
TimeException.exe --sample-size 1000 --mode 0 --targets dirs.txt

확장자 실행 모드

실행 모드 1(--mode 1)은 Defender 제외 목록의 확장자를 매핑하려고 시도합니다. 사용자는 --targets 인수를 통해 테스트할 확장자 목록을 제공해야 합니다. 대상 파일의 확장자는 .ext 형식이어야 합니다(예: .png, .txt, .foobar 등). --sample-size 인수는 각 확장자에 대해 생성되는 파일 수를 조정하는 데 사용할 수 있습니다.

예:

root@kitploit:~
TimeException.exe --sample-size 1000 --mode 1 --targets exts.txt

프로세스 실행 모드

실행 모드 2(--mode 2)는 Defender 제외 목록의 프로세스를 매핑하려고 시도합니다. 사용자는 --targets 인수를 통해 테스트할 프로세스 이름 목록을 제공해야 합니다. 대상 파일의 확장자는 program.exe 형식이어야 합니다(예: calc.exe, mspaint.exe 등). 프로세스 실행 모드에는 벤치마커(benchmarker)가 필요합니다. 벤치마커는 --sample-size를 유효한 인수로 받아들이고 double 부동 소수점 숫자를 출력하는 콘솔 애플리케이션입니다. TimeException 자체가 벤치마커입니다. --sample-size 인수는 벤치마커가 결과를 계산하기 위해 수행하는 작업 수를 조정하는 데 사용할 수 있습니다.

예:

root@kitploit:~
TimeException.exe --sample-size 1500 --ref 3.7225 --mode 2 --benchmarker .\TimeException.exe --targets procs.txt

파일 실행 모드

실행 모드 3(--mode 3)은 아직 구현되지 않았습니다.

벤치마크 실행 모드

실행 모드 4(--mode 4)는 현재 디렉터리에 512바이트 파일을 쓰는 데 걸리는 평균 시간을 측정합니다. --sample-size 인수는 평균 쓰기 시간을 계산하는 데 사용되는 파일 수를 조정하는 데 사용할 수 있습니다.

벤치마크 모드는 TimeException의 기본 작동 모드입니다.

예:

root@kitploit:~
TimeException.exe --mode 4 --sample-size 5000

일반 사용 안내

root@kitploit:~
Usage:
TimeException.exe [options]

Options:
Usage:
-h|--help     Print usage instructions
--mode        Exceptions to look folder. 0=Folder, 1=Extensions, 2=Process, 3=file, 4=benchmark (Default=4)
--ref         Reference time value. Default=global average
--sample-size Sample size to use. Default=500
--sensitivity Sensitivity value. Default=0.25
--benchmarker Fully qualified path to a benchmarker executable
--verbose     Increase verbosity
--targets     File containing folder paths, extensions, or process names depending on the mode selected

참고 사항

  • 저는 대부분의 테스트에 Microsoft Defender를 사용했습니다. 다른 AV/EDR 엔진에서는 결과가 다를 수 있습니다.
  • 실제 Red Team 모의 침투에서는 도구가 감지한 폴더에 페이로드를 실제로 쓰기 전에 하루 중 다른 시간에 도구를 여러 번 실행할 것입니다. 디스크 부하는 다양하며 오탐이 발생할 수 있습니다.

"Buy Me A Coffee"

도구 다운로드