Microsoft Defender for Identity 보안 경고 랩 설정

Microsoft Defender for Identity 보안 경고 랩의 목표는 의심스러운 활동 및 네트워크에 대한 잠재적 공격을 식별하고 검색하는 Defender for Identity의 기능을 보여 주는 것입니다. 4부 시리즈의 첫 번째 랩에서는 Defender for Identity의 불연속 검색에 대해 테스트하기 위한 랩 환경을 만드는 방법을 안내합니다. 보안 경고 랩은 Defender for Identity의 서명 기반 기능에 중점을 둡니다. 이러한 고급 기계 학습, 사용자 또는 엔터티 기반의 동작 검색은 최대 30일간의 실제 네트워크 트래픽을 사용한 학습 기간이 필요하기 때문에 랩에 포함되어 있지 않습니다. 이 시리즈의 각 랩에 대한 자세한 내용은 Defender for Identity 보안 경고 랩 개요를 참조하세요.

이 랩에서는 다음을 수행합니다.

  • 랩 서버 및 컴퓨터 설정
  • 사용자 및 그룹을 사용하여 Active Directory 구성
  • Defender for Identity 설정 및 구성
  • 서버 및 컴퓨터에 대한 로컬 정책 설정
  • 예약된 작업을 사용하여 기술 지원팀 관리 시나리오 모방

사전 요구 사항

  1. 랩 도메인 컨트롤러 1개와 랩 워크스테이션 2개.

  2. AD에 연결된Defender for Identity 인스턴스.

  3. 랩의 도메인 컨트롤러에서 최신 버전의 Defender for Identity 센서를 다운로드하고설치합니다.

  4. Privileged Access WorkstationSAMR 정책 사용 경험

권장 사항

가능한 한, 랩 설정 지침을 따르는 것이 좋습니다. 랩이 제안된 랩 설정과 유사할수록 더 쉽게 Defender for Identity 테스트 절차를 수행할 수 있습니다. 랩 설정이 완료되면 제안된 해킹 조사 도구를 사용하여 작업을 수행하고 이러한 작업에 대한 Defender for Identity 검색을 검토할 준비가 됩니다.

전체 랩 설정은 가능한 한, 다음 다이어그램과 비슷해야 합니다.

Defender for Identity 테스트 랩 설정

서버 및 컴퓨터

이 표에서는 컴퓨터 및 필요한 구성을 자세히 설명합니다. IP 주소는 쉽게 따라할 수 있도록 참조 목적으로만 제공됩니다.

이러한 랩의 예제에서 포리스트 NetBIOS 이름은 CONTOSO입니다. AZURE.

FQDN OS IP 용도
ContosoDC.contoso.azure Windows Server 2012 R2 10.0.24.4 Defender for Identity 센서가 로컬에 설치된 도메인 컨트롤러
VictimPC.contoso.azure Windows 10 10.0.24.5 공격 대상자 PC
AdminPC.contoso.azure Windows 10 10.0.24.6 도메인 관리자 PC(“보안 관리자 워크스테이션” 또는 “권한 있는 관리자 워크스테이션”이라고도 함)

Active Directory 사용자 및 그룹

이 랩에는 기본 사용자 3명과 서비스 계정 1개가 있습니다. 서비스 계정은 Defender for Identity에 대한 계정이며, LDAP 동기화 목적과 SAMR 둘 다에 사용됩니다.

Ron HelpDesk가 구성원인 “Helpdesk” SG(보안 그룹)가 있습니다. 이 SG는 기술 지원팀을 모방합니다. Helpdesk 구성원에게 해당 컴퓨터의 로컬 관리자 권한을 부여하는 그룹 정책 개체와 SG가 쌍을 이룹니다. 이 설정은 프로덕션 환경의 실제 관리 모델을 시뮬레이트하는 데 사용됩니다.

전체 전체 이름 SAMAccount 용도
Jeff Leatherman JeffL 곧 효과적인 피싱 공격의 희생자가 될 예정입니다.
Ron HelpDesk RonHD Ron은 Contoso IT 팀의 “지원 담당자”입니다. RonHD는 “Helpdesk” 보안 그룹의 구성원입니다.
Samira Abbasi SamiraA Contoso에서 이 사용자는 도메인 관리자입니다.
Defender for Identity 서비스 AATPService Defender for Identity의 서비스 계정 account

Defender for Identity 기본 랩 환경

기본 랩을 구성하기 위해 Active Directory에 사용자와 그룹을 추가하고, SAM 정책을 편집하고, Defender for Identity에 중요한 그룹을 추가하겠습니다.

ContosoDC의 Active Directory 사용자 하이드레이션

랩을 간소화하기 위해 Active Directory에 가상 사용자와 그룹을 만드는 프로세스를 자동화했습니다. 이 스크립트는 이 랩의 필수 구성 요소로 실행됩니다. 스크립트를 사용하거나 수정하여 랩의 Active Directory 환경을 하이드레이션할 수 있습니다. 스크립트를 사용하지 않으려면 수동으로 하이드레이션할 수 있습니다.

도메인 관리자로 ContosoDC에서 다음을 실행하여 Active Directory 사용자를 하이드레이션합니다.

# Store the user passwords as variables
$SamiraASecurePass = ConvertTo-SecureString -String 'NinjaCat123' -AsPlainText -Force
$ronHdSecurePass = ConvertTo-SecureString -String 'FightingTiger$' -AsPlainText -Force
$jefflSecurePass = ConvertTo-SecureString -String 'Password$fun' -AsPlainText -Force
$AATPService = ConvertTo-SecureString -String 'Password123!@#' -AsPlainText -Force

# Create new AD user SamiraA and add her to the domain admins group
New-ADUser -Name SamiraA -DisplayName "Samira Abbasi" -PasswordNeverExpires $true -AccountPassword $samiraASecurePass -Enabled $true
Add-ADGroupMember -Identity "Domain Admins" -Members SamiraA

# Create new AD user RonHD, create new Helpdesk SG, add RonHD to the Helpdesk SG
New-ADUser -Name RonHD -DisplayName "Ron Helpdesk" -PasswordNeverExpires $true -AccountPassword $ronHdSecurePass -Enabled $true
New-ADGroup -Name Helpdesk -GroupScope Global -GroupCategory Security
Add-ADGroupMember -Identity "Helpdesk" -Members "RonHD"

# Create new AD user JeffL
New-ADUser -Name JeffL -DisplayName "Jeff Leatherman" -PasswordNeverExpires $true -AccountPassword $jefflSecurePass -Enabled $true

# Take note of the "AATPService" user below which will be our service account for Defender for Identity.
# Create new AD user Defender for Identity Service

New-ADUser -Name AatpService -DisplayName "Azure ATP/ATA Service" -PasswordNeverExpires $true -AccountPassword $AATPService -Enabled $true

ContosoDC에서 SAM-R 기능 구성

Defender for Identity 서비스가 SAM-R 열거를 올바르게 수행하고 횡적 이동 경로를 빌드할 수 있도록 허용하려면 SAM 정책을 편집해야 합니다. 그룹 정책을 수정하여 네트워크 액세스 정책에 나열된 구성된 계정 외에도 Defender for Identity 서비스 계정을 추가하도록 해야 합니다. 도메인 컨트롤러를 제외한 모든 컴퓨터에 그룹 정책을 적용해야 합니다.

  1. 다음 아래에서 SAM 정책을 찾습니다. 정책 > Windows 설정 > 보안 설정 > 로컬 정책 > 보안 옵션 > “네트워크 액세스: SAM에 대한 원격 호출을 허용한 클라이언트 제한” _

    Defender for Identity가 횡적 이동 경로 기능을 사용할 수 있도록 그룹 정책을 수정합니다.

  2. 최신 Windows 시스템에서 이 작업을 수행할 수 있도록 승인된 계정 목록에 Defender for Identity 서비스 계정인 AATPService를 추가합니다.

    서비스 추가

Defender for Identity에 중요한 그룹 추가

“Helpdesk” 보안 그룹을 중요한 그룹으로 추가하면 Defender for Identity의 횡적 이동 그래프 기능을 사용할 수 있습니다. 도메인 관리자일 필요는 없지만 많은 리소스에서 권한이 있는 매우 중요한 사용자 및 그룹에 태그를 지정하는 것이 가장 좋습니다.

  1. Microsoft 365 Defender설정으로 이동한 다음 ID로 이동합니다.

    설정, ID로 차례로 이동합니다.

  2. 엔터티 태그 아래에서 중요를선택합니다.

    태그 설정 형식입니다.

  3. 그룹에서태그 그룹을 선택합니다. 태그로 선택할 수 있는 그룹이 있는 창이 열립니다. 이 예제에서는 기술 지원팀 그룹을 선택합니다.

    “Helpdesk”에 Defender for Identity 중요한 그룹으로 태그를 지정하여 이 권한 있는 그룹에 대해 횡적 이동 그래프 및 보고서를 사용하도록 설정합니다.

  4. 그룹을 선택한 후 선택 항목 추가를 선택합니다.

Defender for Identity 랩 기본 설정 검사 목록

이 시점에는 기본 Defender for Identity 랩이 있어야 합니다. Defender for Identity가 사용할 준비가 되고, 사용자가 스테이징되었습니다. 검사 목록을 검토하여 기본 랩이 완료되었는지 확인합니다.

단계 작업 상태
1 ContosoDC에 Defender for Identity 센서가 설치됨(필수 구성 요소 단계)
2 Active Directory에 사용자 및 그룹이 생성됨
3 Defender for Identity 서비스 계정 권한이 SAMR에 대해 올바르게 구성됨
4 Helpdesk 보안 그룹이 Defender for Identity에서 중요한 그룹으로 추가됨

랩 워크스테이션 설정

기본 Defender for Identity 랩이 설정되었는지 확인하면 워크스테이션 구성을 시작하여 이 시리즈의 다음 세 랩을 준비할 수 있습니다. 이 랩이 활성 상태로 보이도록 VictimPC 및 AdminPC를 하이드레이션하겠습니다.

VictimPC 로컬 정책

랩의 다음 단계에서는 로컬 정책 설정을 완료합니다. VictimPC는 로컬 관리자 그룹의 구성원으로 JeffL 및 Helpdesk 보안 그룹을 둘 다 포함합니다. 대부분의 조직처럼 JeffL는 해당 디바이스인 VictimPC의 관리자입니다.

로컬 관리자로, 자동화된 PowerShell 스크립트를 실행하여 로컬 정책을 설정합니다.

# Add JeffL to local Administrators group on VictimPC
Add-LocalGroupMember -Group "Administrators" -Member "Contoso\JeffL"
# Add Helpdesk to local Administrators group on VictimPC
Add-LocalGroupMember -Group "Administrators" -Member "Contoso\Helpdesk"

VictimPC의 관리자 그룹을 검사하여 최소한 Helpdesk 및 JeffL이 구성원으로 포함되어 있는지 확인합니다.

Helpdesk 및 JeffV는 VictimPC에 대한 로컬 관리 그룹에 있어야 합니다.

VictimPC에서 기술 지원팀 지원 시뮬레이션

작동하는 관리형 네트워크를 시뮬레이트하려면 VictimPC 머신에서 예약된 작업을 만들어 RonHD로 “cmd.exe” 프로세스를 실행합니다.

  1. VictimPC의 관리자 권한 PowerShell 콘솔에서 다음 코드를 실행합니다.

    $action = New-ScheduledTaskAction -Execute 'cmd.exe'
    $trigger = New-ScheduledTaskTrigger -AtLogOn
    $runAs = 'Contoso\RonHD'
    $ronHHDPass = 'FightingTiger$'
    Register-ScheduledTask -TaskName "RonHD Cmd.exe - AATP SA Playbook" -Trigger $trigger -User $runAs -Password $ronHHDPass -Action $action
    
  2. JeffL로 머신에 로그인합니다. Cmd.exe 프로세스는 로그인 후 RonHD의 컨텍스트에서 시작하여 머신을 관리하는 기술 지원팀을 시뮬레이션합니다.

VictimPC에서 바이러스 백신 끄기

테스트를 위해 랩 환경에서 실행 중인 바이러스 백신 솔루션을 모두 끕니다. 이렇게 하면 연습 중에 바이러스 백신 우회 기술이 아닌 Defender for Identity에 집중할 수 있습니다.

바이러스 백신 솔루션을 먼저 끄지 않으면 다음 섹션에서 도구 중 일부를 다운로드할 수 없게 됩니다. 또한 공격 도구가 스테이징된 후 바이러스 백신을 사용하도록 설정한 경우 바이러스 백신을 다시 해제한 후 도구를 다시 다운로드해야 합니다.

일반 해커 도구 스테이징

경고

다음 도구는 조사 목적으로만 제공됩니다. Microsoft는 이러한 도구를 소유하고 있지 않으므로 해당 동작을 보장하거나 보증할 수 없고, 하지도 않습니다. 이 도구는 예고 없이 변경될 수 있습니다. 따라서 이러한 도구는 오직 테스트 랩 환경에서만 실행해야 합니다.

Defender for Identity 보안 경고 플레이북을 실행하려면 다음 도구를 다운로드한 뒤 VictimPC에 복사해야 합니다.

도구 URL
Mimikatz GitHub - Mimikatz
PowerSploit GitHub - PowerSploit
PsExec PsExec 설명서
NetSess JoeWare Tools

커뮤니티에서 사이버 위험과 영향을 더 잘 파악할 수 있도록 이러한 조사 도구를 작성해 주신 분들께 감사드립니다.

AdminPC 로컬 정책

AdminPC의 로컬 관리자 그룹에 Helpdesk를 추가해야 합니다. 그런 다음 로컬 관리자 그룹에서 도메인 관리자 를 제거합니다. 이 단계는 도메인 관리자인 Samira가 AdminPC의 관리자가 아니도록 합니다. 이는 자격 증명 예방 조치의 모범 사례입니다. 이 단계는 수동으로 수행하거나 제공된 PowerShell 스크립트를 사용합니다.

  1. AdminPCHelpdesk를 추가하고, 다음 PowerShell 스크립트를 실행하여 로컬 관리자 그룹에서 ‘Domain Admins’를 ‘제거’합니다.

    # Add Helpdesk to local Administrators group
    Add-LocalGroupMember -Group "Administrators" -Member "Contoso\Helpdesk"
    # Remove Domain Admins from local Administrators group
    Remove-LocalGroupMember -Group "Administrators" -Member "Domain Admins"
    
  2. 스크립트를 실행하면 HelpdeskAdminPC의 로컬 관리자>구성원 목록에 포함됩니다. AdminPC용 로컬 관리 그룹의 기술 지원팀

AdminPC에서 도메인 활동 시뮬레이션

SamiraA로 시뮬레이트된 도메인 활동이 필요합니다. 이 단계는 수동으로 수행하거나 제공된 PowerShell 스크립트를 사용할 수 있습니다. PowerShell 스크립트는 5분마다 도메인 컨트롤러에 액세스하며, Samira로 시뮬레이트된 네트워크 활동이 발생합니다.

AdminPC의 PowerShell 프롬프트에서 SamiraA로 다음 스크립트를 실행합니다.

while ($true)
{
    Invoke-Expression "dir \\ContosoDC\c$"
    Start-Sleep -Seconds 300
}

워크스테이션 설정 검사 목록

검사 목록을 검토하여 워크스테이션 설정이 완료되었는지 확인합니다.

단계 작업 상태
1 JeffL 및 Helpdesk를 VictimPC의 로컬 관리자로 추가
2 VictimPC에서 RonHD로 실행되는 예약된 작업 만들기
3 VictimPC에서 바이러스 백신 솔루션 끄기
4 VictimPC에서 해킹 도구 스테이징
5 Helpdesk 추가 및 AdminPC의 로컬 관리자 그룹에서 Domain Admins 제거
6 Samira로 PowerShell 스크립트를 실행하여 도메인 활동 시뮬레이션

작업이 완료됨

이제 Defender for Identity 랩을 사용할 준비가 되었습니다. 이 설정에서 사용한 방법은 리소스가 무엇 또는 누구에 의해 관리되어야 하며 관리 작업에 로컬 관리자 권한이 필요함을 알고 있어서 선택된 것입니다. 랩에서 관리 워크플로를 시뮬레이트하는 다른 방법은 다음과 같습니다.

  • RonHD의 계정으로 VictimPC에 로그인했다가 로그아웃
  • 예약된 작업의 다른 버전 추가
  • RDP 세션
  • 명령줄에서 'runas' 실행

최상의 결과를 얻으려면 일관성을 위해 랩에서 자동화할 수 있는 시뮬레이션 방법을 선택합니다.

다음 단계

정찰 단계부터 시작하여 사이버 공격 킬 체인의 각 단계에 대한 Defender for Identity 보안 경고 플레이북을 사용하여 Defender for Identity 랩 환경을 테스트합니다.

커뮤니티 조인

Defender for Identity 및 관련 보안에 대해 더 궁금한 점이 있거나 다른 사용자와 논의하고 싶으신가요? Defender for Identity 커뮤니티에 참여하세요!