BloodHound는 Active Directory (AD)의 취약점을 식별하는 강력한 도구입니다. 사이버 범죄자들은 이 도구를 악용해 악용 가능한 Active Directory 권한들의 연결 고리를 시각화함으로써, 막강한 Domain Admin 그룹의 멤버십을 포함해 더 높은 권한을 획득할 수 있습니다.
이 가이드는 침투 테스터가 BloodHound를 사용해 이러한 취약점을 먼저 식별할 수 있도록 도와, 기업이 공격을 저지할 수 있게 하는 데 목적이 있습니다.
엄선한 관련 콘텐츠:
Active Directory 보안 모범 사례BloodHound란 무엇이며 어떻게 작동하나요?
BloodHound는 그래프 이론을 사용해 소스 Windows 도메인에서 숨겨진 관계, 사용자 권한, 세션, 공격 경로를 식별하는 Active Directory 정찰 및 공격 경로 관리 도구입니다. 주요 목적은 사이버 보안 전문가에게 위협 행위자로부터 IT 생태계를 방어하는 데 필요한 통찰을 제공하는 것입니다.
BloodHound는 어떻게 작동하나요? Electron으로 컴파일된 단일 페이지 JavaScript 웹 앱이며, Windows AD 객체를 Neo4j 데이터베이스의 노드로 저장합니다. PowerShell ingestor가 있고, 4.0 버전부터 Azure를 지원합니다.
Active Directory 감사 및 보고
자세히 알아보기Active Directory 권한 수집
BloodHound는 데이터 시각화 및 분석 도구이므로 SharpHound 또는 AzureHound와 같은 데이터 수집 도구와 함께 사용하는 것이 좋습니다. Active Directory 권한의 집합을 수집하려면 다음 단계를 수행하세요:
- 먼저 AzureHound 또는 SharpHound의 최신 버전을 다운로드하여 설치한 다음 실행합니다.
- 기본적으로 여러 개의 JSON 파일을 생성한 뒤 하나의 zip 파일에 넣습니다. 해당 zip 파일을 BloodHound에 드래그 앤 드롭하세요.
- 아래 설명대로 BloodHound를 사용하여 데이터를 탐색하세요.
BloodHound가 Active Directory 권한과 함께 작동하는 방식
BloodHound는 AD 침투 테스터가 공격 경로를 파악할 수 있도록 돕습니다. 공격 경로란 환경 내에서 공격자가 가로로 이동(lateral)하고 권한을 상승(elevate)할 수 있게 해줄 수 있는 접근 권한의 연쇄와 기타 보안 취약점의 연결을 의미합니다. 예를 들어, 검색 창을 사용해 Domain Users 그룹을 찾아보고, 해당 그룹이 어딘가에서 로컬 관리자 권한을 보유하는지, 그리고 어떤 AD 개체를 제어할 수 있는지를 확인할 수 있습니다.
사실, 수년 동안 많은 조직이 Active Directory 권한에 대한 통제력을 잃어버립니다. 회사가 성장하고 변화함에 따라 조직은 사용자가 더 이상 필요로 하지 않는 권한을 제거하는 것을 잊게 되고, 그 결과 공격자가 악용할 수 있는 취약점이 만들어집니다.
일반적으로 악용되는 권한에는 다음이 포함됩니다:
- 비밀번호 재설정 — 현재 비밀번호를 알지 못하더라도 사용자 계정의 비밀번호를 변경할 수 있는 권한
- 추가 구성원 — 특정 그룹에 사용자를 추가할 수 있는 권한
- 전체 제어 — 사용자 또는 그룹에 대해 원하는 대로 무엇이든 할 수 있는 권한
- 소유자 쓰기 / DACL 쓰기 — 개체에 대한 권한과 소유권을 변경할 수 있는 권한
- 쓰기 — 개체 특성에 기록(쓰기)할 수 있는 권한
- 확장 권한 — Reset Password(TechNet의 전체 참고 자료는 click here)를 포함한 다양한 권한의 조합
BloodHound를 사용하여 Active Directory 권한을 수집하는 방법
공격 경로를 매핑하는 첫 번째 단계는 권한을 수집하는 것입니다. 권한을 수집하려는 도메인에 조인된 컴퓨터에서 다음 PowerShell 명령을 실행하세요:
Invoke-Bloodhound -CollectionMethod ACLs
이렇게 하면 모든 Active Directory 권한의 CSV 내보내기가 생성되며, 이후 이를 BloodHound에 가져올 것입니다.
예시 공격 경로
공격 경로의 몇 가지 예를 살펴보겠습니다.
공격 경로 1: 비밀번호 재설정
이번에 살펴볼 첫 번째 BloodHound 공격 경로는 사용자 비밀번호를 재설정할 수 있는 기능입니다.
비밀번호를 재설정할 수 있는 권한은 BloodHound에서 “ForceChangePassword”라는 레이블의 공격 경로로 표시됩니다:
여러 차례의 비밀번호 재설정을 연계하면, 아래 그림과 같이 권한이 없는 계정에서 Domain Admin으로 이동할 수 있을 수도 있습니다:
사용자가 계정을 활발히 사용 중이라면 비밀번호가 재설정되는 것을 사용자가 알아차릴 수 있습니다. 따라서 공격자는 계정의 마지막 로그인 시간을 확인해 노출되지 않고 비밀번호 재설정을 수행할 수 있는지 판단할 수 있습니다.
공격 경로 2: 그룹 멤버십
또 다른 공격 경로는 그룹에 구성원을 기록(추가)할 수 있는 권한을 악용합니다. 공격자는 사용자를 그룹에 추가함으로써, 자신이 목표로 하는 민감한 데이터에 접근할 수 있는 그룹에 스스로를 추가할 수 있을 때까지 접근 권한을 서서히 높일 수 있습니다. 이 방법은 공격자에게 매우 유용한데, 자신이 원하는 데이터에 접근하기 위해 Domain Admins 같은 고도로 권한이 높은 그룹의 멤버가 필요한 경우가 드물고, 권한이 상대적으로 낮은 그룹에 사용자를 추가해도 경보가 발생하는 경우가 거의 없기 때문입니다.
BloodHound에서는 그룹을 변경할 수 있는 권한이 아래와 같이 “AddMember”라는 라벨이 붙은 공격 경로로 표시됩니다:
여러 그룹 멤버십 변경을 연결해 보면, 공격자는 목표에 도달할 때까지 권한을 서서히 늘릴 수 있습니다. 아래 예시는 권한이 없는 일반 사용자가 그룹 멤버십 변경을 통해 Domain Admin이 되는 과정을 보여줍니다:
공격 경로 3: 권한 변경
개체에 대한 권한을 변경하면 원하는 거의 모든 작업을 할 수 있습니다. 예를 들어, 그룹의 멤버십을 변경할 수 있는 권한을 스스로에게 부여하거나, 암호를 재설정하거나, 확장 속성에서 유용한 정보를 추출할 수 있습니다. 이는 Local Administrator Password Solution (LAPS).
BloodHound에서는 개체에 대한 권한을 변경할 수 있는 기능이 “WriteDacl”로 표시됩니다:
여러 권한 변경을 연결하면 공격자가 측면 이동을 수행하고 더 높은 권한을 획득할 수 있으며, 아래와 같이 나타납니다:
공격 경로 4: 조합 공격
대부분의 공격 경로는 여러 유형의 권한을 포함합니다. 아래 예시는 권한이 낮은 사용자 계정 “Michael”에서 Domain Admin 계정으로 이어지는 3가지 공격 경로를 보여줍니다:
Netwrix가 Active Directory 권한 공격으로부터 보호하는 데 어떻게 도움이 되는지
보안을 강화하려면 위에서 설명한 권한을 먼저 검토하세요. 해당 권한은 가장 흔히 악용되는 권한 중 하나이기 때문입니다.
BloodHound는 Windows AD 도메인에서 발생할 수 있는 잠재적 문제를 시각화하는 데 유용한 방법입니다. 하지만 많은 수작업이 필요합니다. 따라서 프로젝트나 기술 요청으로 이미 바쁜 상황에서는 특히, 사이버보안 팀이 BloodHound를 사용해 자산과 시스템을 보호하기 어려울 수 있습니다.
Windows Active Directory 도메인의 공격 표면을 줄이는 가장 좋은 방법 중 하나는 Netwrix의 end-to-end Active Directory 보안 솔루션을 사용하는 것입니다. 강력하고 포괄적이며 사용이 쉬운 당사 소프트웨어는 Active Directory를 안전하게 구성하고, 위험 완화 우선순위를 정하며, 전반적인 보안 수준을 강화하는 데 도움을 줍니다. 특히 당사 도구는 다음을 가능하게 해줍니다.
- 귀하의 AD 보안 수준에서 위험을 식별하고 평가한 뒤 우선순위를 정합니다
- 신원 도용을 방지하세요
- 권한 변경 사항을 계속 추적하세요
- Golden Ticket 공격과 같은 고도화된 위협을 포함해 위협을 신속하게 감지하고 대응하세요. Golden Ticket attacks 및 Kerberoasting
- 번개처럼 빠른 AD 복구로 업무 중단을 최소화하세요
Netwrix Directory Manager 무료 체험판을 신청하세요
공유하기
더 알아보기
저자 소개
Joe Dibley
보안 연구원
Netwrix의 보안 연구원이며 Netwrix Security Research Team의 일원입니다. Joe는 Active Directory, Windows 및 다양한 엔터프라이즈 소프트웨어 플랫폼과 기술 분야의 전문가로, 새로운 보안 위험, 복잡한 공격 기법, 그리고 이에 대한 대응(완화)과 탐지 방법을 연구합니다.