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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/senzee1984/edrprison
IDS/IPS EvasionPost-ExploitationNetwork SecurityRed TeamingAdversarial Attack
GitHubsenzee1984/edrprison

EDRPrison

합법적인 WFP 콜아웃 드라이버를 활용하여 EDR 에이전트가 텔레메트리를 전송하지 못하도록 방지

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

EDRPrison

공동 저자: @oops4git(https://github.com/oops4git)

EDRPrison은 합법적인 WFP 콜아웃 드라이버인 WinDivert를 활용하여 EDR 시스템을 효과적으로 무력화합니다. Shutter, FireBlock, EDRSilencer와 같은 도구에서 영감을 얻은 이 프로젝트는 네트워크 기반 우회 기술에 중점을 둡니다. 이전 도구들과 달리 EDRPrison은 내장 WFP에만 의존하는 대신 외부의 합법적인 WFP 콜아웃 드라이버를 설치하고 로드합니다. 또한 EDR 프로세스 또는 해당 실행 파일과 직접 상호작용하지 않고 런타임 필터를 동적으로 추가하여 EDR 프로세스의 아웃바운드 트래픽을 차단합니다.

요약하자면, EDRPrison은 다음과 같은 주요 기능과 역량을 보유하고 있습니다.

  • 합법적인 WFP 콜아웃 드라이버: 무해한 프로필을 유지하면서 기능을 향상시키기 위해 합법적인 WFP 콜아웃 드라이버를 활용합니다.
  • EDR 프로세스 탐지: 사전 정의된 프로세스 이름을 기반으로 실행 중인 EDR 프로세스를 검색합니다.
  • 패킷 식별: EDR 프로세스에서 발생한 패킷을 식별합니다.
  • 동적 필터 추가: 패킷의 소스 프로세스를 기반으로 WFP 필터를 동적으로 추가합니다.
  • 비간섭적 접근 방식: EDR 프로세스 및 해당 실행 파일과의 직접적인 상호작용을 피하여 은닉성을 보장하고 탐지 위험을 줄입니다.

더 자세한 기술적 내용은 다음 문서를 참조하세요: https://winslow1984.com/books/malware/page/edrprison-borrow-a-legitimate-driver-to-mute-edr-agent

구성 요소

EDRPrison을 성공적으로 실행하려면 상승된 권한이 필요합니다. EDRPrison은 다음 세 가지 구성 요소로 이루어져 있습니다.

  • EDRPrison: 메인 프로그램 및 해당 의존성입니다. 첫 실행 시 WinDivert 드라이버를 설치합니다.
  • WinDivert64.sys: 서명된 WFP 콜아웃 드라이버입니다.
  • WinDivert.dll: WinDivert 프로젝트의 구성 요소입니다.

이점 및 개선 사항

EDRPrison은 이전 도구들보다 몇 가지 향상 및 개선된 기능을 제공하여 네트워크 기반 EDR 우회를 위한 더욱 강력하고 은밀한 도구입니다.

  1. EDR 프로세스 실행 파일에 정적 WFP 필터를 추가하는 대신, EDRPrison은 패킷의 소스 프로세스를 기반으로 런타임 WFP 필터를 동적으로 추가합니다.
  • EDR 프로세스 또는 EDR 실행 파일에 대한 핸들을 얻는 것을 피하여 탐지 및 EDR 시스템 간섭 위험을 줄입니다.
  • 합법적인 WFP 콜아웃 드라이버를 로드함으로써 EDRPrison은 무해한 프로필을 유지하면서 기능을 확장합니다.
  • 알려진 문제

    1. 현재 EDRPrison은 C#으로 작성되어 디스크에 여러 파일이 존재해야 하므로 은닉성이 저하됩니다. C++로 재구현하여 메인 프로그램이 메모리에서 완전히 실행될 수 있게 함으로써 은닉성을 향상시킬 계획입니다.
    2. 프로그램 실행과 일부 EDR 프로세스의 네트워크 연결 초기 차단 사이에 지연이 있습니다. 이 지연으로 인해 처음 몇 초 동안 텔레메트리가 클라우드 서버로 전송될 수 있습니다. 즉각적인 인터셉트와 차단을 보장하기 위해 이 문제를 해결하는 중입니다.

    테스트 예시

    제게 주어진 리소스로 인해 지금까지는 물리적 서버에서 Elastic Endpoint와 Microsoft Defender for Endpoint(MDE)를 대상으로 EDRPrison을 테스트했습니다.

    Elastic Endpoint 및 MDE 관련 프로세스는 소스 코드에 하드코딩되어 있습니다. 테스트 중 보안 시스템은 메인 프로그램과 WinDivert를 모두 탐지하지 못했습니다.

    Mimikatz와 같은 몇 가지 일반적인 악성코드 샘플을 테스트했습니다. 인터넷 연결이 없더라도 EDR 시스템은 해시 기반 서명과 같은 기본 탐지 기능을 유지하므로 이러한 샘플은 여전히 탐지될 수 있습니다. 악성코드 실행 후 패킷 수가 증가했으며, 이는 해당 패킷에 알림 데이터가 포함되어 있음을 나타냅니다.

    image

    일부 탐지는 로컬에서 발생하지만 EDR 패널에는 표시되지 않습니다. 인터넷 연결이 없으면 EDR 시스템은 머신러닝 및 클라우드 컴퓨팅과 같은 고급 기능을 활용하여 더욱 정교한 악성코드 공격을 방지할 수 없습니다.

    image

    image

    추가 EDR 테스트

    다음 코드 조각을 수정하여 더 많은 EDR 프로세스를 하드코딩하세요.

    root@kitploit:~
            static void initData()
            {
                processDictionary.TryAdd("MsMpEng.exe", 1);
                processDictionary.TryAdd("MsSense.exe", 1);
                processDictionary.TryAdd("SenseIR.exe", 1);
                processDictionary.TryAdd("SenseNdr.exe", 1);
                processDictionary.TryAdd("SenseCncProxy.exe", 1);
                processDictionary.TryAdd("SenseSampleUploader.exe", 1);
                processDictionary.TryAdd("elastic-endpoint.exe", 1);
                processDictionary.TryAdd("elastic-agent.exe", 1);
            }
    

    탐지 및 완화

    다음 방법을 사용하여 EDRPrison의 사용을 탐지하거나 완화할 수 있습니다. 그러나 환경에 따라 일부 탐지는 오탐(FP)을 유발할 수 있습니다.

    드라이버 로드 이벤트

    시스템에 WinDivert 드라이버가 이미 설치되어 있지 않은 경우, EDRPrison은 첫 실행 시 콜아웃 드라이버를 설치합니다. OS와 텔레메트리 데이터 모두 이 이벤트를 기록합니다.

    WinDivert 파일 존재 여부

    EDRPrison 및 WinDivert에 의존하는 다른 프로그램은 디스크에 WinDivert64.sys와 WinDivert.dll이 존재해야 합니다. 이러한 파일을 모니터링하면 해당 프로그램을 탐지하는 데 도움이 될 수 있습니다.

    WinDivert 사용 탐지 도구

    WinDivertTool과 같은 도구는 현재 WFP(Windows Filtering Platform)를 사용 중인 프로세스를 탐지할 수 있습니다.

    image

    EDR 프로세스에 대한 패킷 드롭/차단 작업

    Elastic에는 보안 소프트웨어 프로세스에 대한 패킷 드롭 또는 차단 작업을 식별할 수 있는 탐지 규칙이 있으며, 이는 EDRPrison의 존재를 나타낼 수 있습니다.

    등록된 WFP 공급자, 필터 및 콜아웃 검토

    WFPExplorer 도구는 관리자가 활성 WFP 세션, 등록된 콜아웃 및 필터를 검토하는 데 도움을 줍니다.

    image

    image

    image

    image

    관리자 권한 불필요

    잠재적인 향후 기능으로 드라이버 설치에 대한 추가 보호 기능을 추가하여 WinDivert와 같은 드라이버의 무단 사용에 대한 보안을 더욱 강화할 수 있습니다.

    탐지를 우회하기 위한 레드팀 전략

    레드팀 관점에서 환경의 보안 구성에 따라 앞서 언급한 탐지를 우회하기 위해 여러 전략을 사용할 수 있습니다.

    WinDivert의 대안 모색

    환경에서 WinDivert가 악성으로 간주되는 경우, 서명된 오픈소스 대체 드라이버를 사용할 수 있습니다. 이러한 대안은 악성 사용 기록이 더 적어야 하며 패킷 인터셉트, 재주입 및 기타 조작 기술을 계속 지원해야 합니다.

    설치된 또는 내장 WFP 콜아웃 드라이버 재사용

    승인되지 않은 외부 드라이버가 허용되지 않는 환경에서는 설치된 또는 내장 WFP 콜아웃 드라이버를 리버스 엔지니어링하는 것이 어렵지만 가능합니다. 해당 콜아웃 함수를 재사용함으로써 레드팀은 기존 드라이버를 활용할 수 있습니다. 많은 보안 소프트웨어 솔루션에는 용도 변경이 가능한 자체 WFP 콜아웃 드라이버가 포함되어 있습니다.

    인터셉트된 패킷에 대한 작업 변경

    인터셉트된 패킷을 차단하거나 드롭하는 대신 레드팀은 패킷을 리다이렉트하거나 프록시할 수 있습니다. 이 방법은 패킷 드롭 또는 차단 작업에 초점을 맞춘 탐지 규칙을 피하면서도 EDR 프로세스에 대한 원하는 간섭을 달성할 수 있습니다.

    크레딧

    다음 리소스들은 연구 중에 저에게 큰 영감과 도움을 주었습니다. 모든 작성자에게 감사를 표합니다:

    https://github.com/netero1010/EDRSilencer

    https://github.com/dsnezhkov/shutter

    https://www.mdsec.co.uk/2023/09/nighthawk-0-2-6-three-wise-monkeys/

    https://github.com/amjcyber/EDRNoiseMaker

    https://www.securityartwork.es/2024/06/17/edr-silencer-2/

    https://windowsir.blogspot.com/2024/01/edrsilencer.html

    https://github.com/TechnikEmpire/HttpFilteringEngine

    https://reqrypt.org/windivert.html

    https://learn.microsoft.com/en-us/defender-cloud-apps/network-requirements

    https://learn.microsoft.com/en-us/defender-endpoint/configure-network-connections-microsoft-defender-antivirus

    https://github.com/microsoft/windows-driver-samples/tree/main/network/trans/WFPSampler

    https://github.com/TechnikEmpire/CitadelCore

    https://github.com/TechnikEmpire/HttpFilteringEngine

    도구 다운로드