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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Certiception — 내부 네트워크에서 공격자를 잡기 위한 ADCS 허니팟입니다. | Kitploit
도구/GitHubGitHub/srlabs/certiception
Defensive ToolsConfiguration AuditingIntrusion DetectionMisconfigurationLearning & EducationRed TeamingIncident Response
GitHubsrlabs/certiception

Certiception

내부 네트워크에서 공격자를 잡기 위한 ADCS 허니팟입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Certiception

Certiception은 ADCS(Active Directory Certificate Services)를 위한 허니팟입니다. 실제처럼 보이고 매력적인 미끼로 공격자를 유인하여 관련성이 높은 경보를 트리거하도록 설계되었습니다.

SRLabs 레드팀이 개발한 Certiception은 ADCS 환경에 취약해 보이는 인증서 템플릿을 만들고, 악용을 방지하기 위한 제한을 설정하며, 효과적인 알림 구성을 지원합니다.

원래 Troopers24에서 공개된 Certiception은 효과적인 디셉션에 대한 전략 가이드인 레드팀의 디셉션 가이드를 포함합니다.

tl;dr: 공격자의 관점에서: 취약해 보이고, 악용은 실패한다.

공격자의 관점에서 본 Certiception

Background

Red Team 및 인시던트 관리 업무에서 우리는 측면 이동과 권한 상승이 탐지되지 않는 경우가 많다는 것을 정기적으로 관찰합니다. 탐지가 발생하더라도 오탐(false positive)이 흔하기 때문에 적시에 대응하지 못하는 경우가 많습니다. 우리는 내부 허니팟(일명 카나리아, 일명 디셉션 기술)이 초기 방어를 통과한 위협을 탐지하는 효과적인 방법이라고 믿습니다.

내부 허니팟은 네트워크에 배치된 의도적인 공격자 함정입니다. 취약해 보이지만 악용 시 경보를 트리거합니다. 우리가 디셉션이 큰 잠재력을 가진다고 생각하는 이유는 다음과 같습니다:

  • 낮은 노력과 비용: SIEM과 같은 기존 도구를 활용하여 구성할 수 있습니다.
  • 관련성이 높은 경보: 허니팟이 트리거되면 심각한 위협을 암시하므로 해당 경보는 조사할 가치가 있습니다.
  • 낮은 노이즈: 악성 활동에서만 트리거되도록 설계된 내부 허니팟은 오탐률이 낮습니다.

잠재력에도 불구하고 우리는 근본적으로 비효율적인 디셉션 구성을 자주 접합니다. 방어자가 더 효과적인 허니팟을 만들 수 있도록 Certiception에는 광범위한 디셉션 전략 가이드가 포함되어 있습니다.

ADCS(Active Directory Certificate Services)는 허니팟을 배치하기에 이상적인 위치입니다:

  1. 쉬운 접근: 모든 도메인 사용자가 접근할 수 있어 공격자가 ADCS를 쉽게 발견할 수 있습니다.
  2. 높은 이해관계: 취약점은 전체 도메인 손상으로 이어질 수 있어 악용 매력이 매우 높습니다.
  3. 공통 지식: 취약점과 악용 도구는 널리 알려져 있습니다.
  4. 그럴듯함: 취약한 ADCS 템플릿은 흔해서 의심을 거의 사지 않습니다.
  5. 모니터링 부족: 많은 네트워크가 ADCS를 거의 모니터링하지 않아 신중한 공격자도 악용을 시도하게 만듭니다.

이것이 우리가 Certiception을 만든 이유입니다.

Concept

Certiception은 환경에 새 CA를 설정하고 ESC1 허니팟을 구성합니다.

Ansible 플레이북으로 구현되어 여러 역할을 호출합니다. 전체적으로 다음 단계가 실행됩니다:

  • 새 CA를 설정하고 "취약한" ESC1 템플릿을 추가한 후 새 CA에서만 활성화합니다
  • 인증서 서명 요청에 SAN이 포함된 경우 발급을 차단하도록 TameMyCerts 정책 모듈을 설치하고 구성합니다
  • 이벤트 로그에 템플릿 이름이 포함되도록 확장 감사 로그를 활성화합니다
  • SIEM에서 알림을 설정하기 위한 SIGMA 규칙을 출력합니다
  • 취약한 템플릿을 활성화하는 다른 CA를 탐지하기 위해 Certify를 이용한 지속적인 점검을 설정합니다 (아직 푸시되지 않았으며, 며칠 내로 저장소에 추가될 예정입니다)

CA 또는 템플릿 이름과 같은 매개변수는 허니팟을 위장하도록 사용자 지정할 수 있습니다.

이것이 Certiception이 작동하는 방식입니다::

Certiception 아키텍처 및 흐름

다른 유형의 ESC 취약점 지원과 기존 CA에 허니 템플릿을 추가하는 기능은 향후 계획되어 있습니다.

Alerting

Certiception은 CA의 기본 제공 Windows 이벤트와 TameMyCerts 정책 모듈이 생성한 이벤트를 사용합니다. Certiception은 필요한 정보가 포함된 기본 제공 CA 이벤트를 얻기 위해 허니 CA 서버에서 확장 감사 로그를 활성화합니다.

중요 및 중간 이벤트에 대한 알림을 제안합니다:

Certiception은 두 가지 서로 다른 알림에 대해 바로 사용할 수 있는 SIGMA 규칙을 출력합니다. 각 이벤트 ID가 SIEM에 온보딩되었는지 확인한 다음 SIGMA 규칙으로 알림을 설정하기만 하면 됩니다.

향후 릴리스에서는 새롭거나 추가적인 SIGMA 규칙이 도입될 수 있습니다.

Usage

다음 단계에 따라 ADCS 허니팟을 설정하세요.

Prerequisites

  • CA를 설치할 도메인 가입 Windows 서버
  • 이 저장소를 클론하고 Certiception을 실행할 서버에 Ansible 및 WinRM 연결이 가능한 머신
  • CA 및 악용 방지 기능을 설치할 서버에 대한 로컬 관리자 권한
  • 새 CA를 등록할 엔터프라이즈 관리자 계정
  • 지속적인 Certify 점검을 실행할 권한이 없는 기본 도메인 계정

Installing Certiception

참고: 현재 설정 작업에 사용되는 계정과 관련하여 다양한 테스트 랩 구성에서 안정성을 개선하고 있습니다. 직접 시도해 보고 싶다면 아마도 일주일 정도 더 기다리는 것이 좋습니다 :)

  1. inventory에서 일반 도메인 및 Ansible 연결 매개변수를 구성합니다.
  2. host_vars/honeypotCA.yml에서 허니팟에 대한 매개변수를 사용자 지정합니다.
  3. 향후 Certify 위치에 대한 EDR 예외를 생성합니다 (허니가 아닌 CA가 취약한 템플릿을 활성화하는지 모니터링하는 데 사용되며, Certify 기반 모니터링은 아직 공개되지 않았으므로 아직 필요하지 않습니다)
  4. Certiception Ansible 플레이북을 실행합니다.
root@kitploit:~
ansible-playbook -i inventory playbooks/certiception.yml
  1. 서버의 이벤트 로그를 SIEM에 온보딩하고 출력된 SIGMA 규칙으로 알림을 구성합니다.
  2. 설정을 검증하고 수동으로 테스트합니다.

Safety and security considerations

이 도구는 어떠한 보증이나 보장도 없이 제공됩니다. 기존 소프트웨어를 결합하여 설치 및 구성을 자동화합니다. Certiception이 수행하는 모든 설치 및 구성 단계에 대한 책임은 사용자에게 있습니다.

이 도구를 사용한다면 소스 코드를 읽고 무엇을 구성하는지 이해한 후 설치 후 설정을 검증할 것을 강력히 권장합니다.

또한 다음 사항을 고려할 것을 권장합니다:

  1. 출시 시점에 이 도구는 아직 커뮤니티의 검증을 받지 못했습니다. 시간이 지남에 따라 안전성 및 강화 개선이 이루어질 것으로 예상됩니다. 프로덕션 환경에서 수정 없이 실행하는 것은 권장하지 않습니다.
  2. ADCS 허니팟은 PKI 팀이 그 소유권을 인수할 때만 의미가 있습니다. 구성 변경을 수행할 때 허니팟에 미치는 영향을 고려해야 합니다. 예를 들어 정책 모듈도 함께 마이그레이션하지 않고 허니 CA를 새 서버로 마이그레이션하면 허니 템플릿이 악용 가능해집니다.
  3. 허니 템플릿 외에도 허니 CA는 네트워크의 다른 ADCS CA와 마찬가지로 보호하고 강화하며 관리해야 합니다
  4. 이 도구가 설정하는 CA는 CA 인증서가 디스크에 저장되고 HSM이 없는 일반 CA입니다
  5. Certiception은 CA 서버에서 Certify를 활용하여 실제 취약한 템플릿에 대한 기본 점검을 설정합니다. 프로덕션 환경에서는 이러한 지속적인 점검을 별도의 머신에서 실행할 것을 권장합니다. 점검은 템플릿 식별을 위한 "find" 명령에만 기반해서는 안 되며, 허니 CA에서 악용 가능하게 만드는 구성 변경을 탐지하기 위해 허니 템플릿의 악용 시도(SIEM 허용 목록에 포함)도 수행해야 합니다.

Future work

  • 기존 CA에 허니 템플릿을 배치할 수 있는 지원
  • 더 많은 ESC 오구성 지원 구현 (예: ESC3 및 ESC8)
  • 문제 발생을 방지하기 위한 추가 안전장치 및 강화 옵션 구현
  • 엔터프라이즈 관리자 대신 낮은 권한의 계정 사용
  • 거부된 CSR에 대한 덜 의심스러운 오류 메시지 추가
  • Certiception을 지문 인식하는 방법 조사 및 완화
  • 안전하지 않은 구성을 탐지하고 완화하기 위한 지속적인 모니터링 강화
  • 설치 스크립트 강화 (예: 사용된 계정의 자격 증명 노출 조사)

License

  • SRLabs의 Certiception은 Apache-2.0 License에 따라 공개되었습니다.
  • Ashley McGlone의 ADCSTemplate은 MIT License 조건에 따라 제공됩니다.
  • Uwe Gradenegger의 TameMyCerts는 Apache-2.0 License에 해당합니다.

Acknowledgements

  • 훌륭한 PKI 및 ADCS 블로그와 TameMyCerts 정책 모듈 개발자로서 기여해 주신 Uwe Gradenegger 님
  • 허니 템플릿을 만드는 데 사용하는 ADCSTemplate 스크립트를 제공해 주신 Ashley McGlone 님
  • ADCS 연구와 해당 Certify 도구를 제공해 주신 @harmj0y 및 @tifkin_ 님
  • ESC9 및 ESC10을 발견하고 Certipy를 개발하신 @ly4k_ 님
  • ESC11을 발견해 주신 @sploutchy 님
  • ESC12를 발견해 주신 Hans-Joachim Knobloch 님
  • Bloodhound로 ADCS 감사 및 ESC13을 연구해 주신 @Jonas_B_K 및 @_wald0 님
  • Active Directory 허니팟에 대한 이전 연구를 진행한 @PyroTek3 님
  • 이와 같은 영감을 주신 @gentilkiwi 님
  • 우리의 발표와 개발에 의견과 피드백을 제공해 주신 모든 친구와 동료 여러분

푸터

도구 다운로드
이벤트 소스이벤트 ID알림
TameMyCerts6 – 정책 위반으로 CSR 거부됨CRITICAL - SAN을 통한 악용 시도
Windows Security Log4886 – 인증서 등록 요청됨MEDIUM - 허니 템플릿 사용됨
Windows Security Log4887 – 인증서 발급됨사용되지 않음, 4886이 더 넓은 범위를 가짐
Windows Security Log4888 – 인증서 요청 거부됨사용되지 않음, 악성이 아닌 발급 실패 시 TameMyCerts 6이 더 정확함