202603-dd-security-workshop-lab

CloudSecurity 실습

리소스: Find and Remediate Cloud Vulnerabilities with Cloud Security Misconfigurations

첫번째 단계 - Misconfiguration 활성화

두번째 단계 - Datadog Cloud Security 사용

  1. Cloud Storage Bucket should not be anonymously or publicly accessible 룰이 안보일 경우 잠시 기다리세요. 체크하는 시간이 필요합니다.

  2. 아래 명령어 설명
    gsutil iam ch -d allUsers gs://BUCKET_NAME
    gsutil iam ch -d allAuthenticatedUsers gs://BUCKET_NAME

    a. gsutil iam ch : bucket/object의 IAM binding(권한 부여)을 변경(change)
    b. d : 해당 binding을 삭제(delete)
    c. 첫 명령어는 버킷 IAM에서 allUsers(인터넷 누구나, 익명 포함) 에게 부여된 권한을 제거
    d. 두번째는 allAuthenticatedUsers(Google 계정으로 인증된 누구나) 에게 부여된 권한을 제거 (즉, “구글 계정만 있으면 누구나 접근 가능” 같은 넓은 공개를 닫는 용도)
    Pasted image 20260310174354.png

  1. website-bucket이 리소스로 보이지 않을 경우 잠시 기다려 주세요.
    Pasted image 20260310174845.png
    다시 체크하는데 시간이 소요되니 해당 실습은 미리 view로 저장하고. 건너띄고 3번째로 진행해도 됩니다.
    Pasted image 20260310175332.png

세번째 단계 - 규정준수 보고서 & 대시보드

  1. PCI를 찾으라고 하는데 PCI DSS 선택하시면 됩니다.

CloudSIEM & 자동화 실습

Overview

현대 보안 운영은 전례 없는 도전에 직면해 있습니다. 조직이 클라우드 사용 범위를 확장하고 신기술을 도입함에 따라 보안 신호의 양은 기하급수적으로 증가하고 있습니다. 보안 팀은 매일 수백에서 수천 건의 경보를 수신하며, 각 경보가 실제 위협인지 판단하기 위해 조사가 필요합니다. 이러한 정보의 홍수는 역설을 초래합니다: 가시성이 높아질수록 중요한 위협을 제때 식별하고 대응하기가 더 어려워집니다.

수동 보안 프로세스는 이 문제를 더욱 악화시킵니다. 잠재적 위협이 탐지되면 보안 엔지니어는 신호를 조사하고, 여러 시스템에서 컨텍스트를 수집하며, 적절한 대응을 결정하고, 다양한 플랫폼에 걸쳐 수정 조치를 실행해야 합니다. 각 단계마다 시간이 소요되며, 이 과정은 종종 팀원 간의 협업을 필요로 합니다. 단일 조사만으로도 수 시간이 걸릴 수 있으며, 그 사이 공격자는 접근 권한을 확대하거나 민감한 데이터를 유출할 수 있습니다.

Datadog 워크플로 자동화는 보안 팀의 위협 대응 방식을 혁신합니다. 2,000개 이상의 즉시 사용 가능한 액션을 통해 코드 작성 없이도 정교한 보안 워크플로를 구축할 수 있습니다. Datadog 보안 도구와 통합 시 이러한 워크플로는 자동으로 트리거되어 대응 시간을 몇 시간에서 몇 초로 단축합니다.
Pasted image 20260310182516.png

워크플로 자동화는 최소한의 개발 노력으로 보안 대응 모범 사례를 구현할 수 있도록 지원하는 사용자 정의 가능한 설계도도 제공합니다.
Pasted image 20260310182529.png

이 과정에서는 Datadog 워크플로 자동화를 사용하여 여러 보안 워크플로를 구축하게 됩니다. 다음을 수행하는 방법을 배우게 됩니다:

참고 본 과정은 Datadog 워크플로 자동화 및 클라우드 SIEM에 중점을 두지만, 학습하게 될 개념과 기술은 클라우드 보안, 워크로드 보호, 앱 및 API 보호를 포함한 다른 Datadog 보안 도구에도 적용 가능합니다.

실습 환경에서 이러한 기술을 연습하게 되며, AWS 샌드박스 환경에서 실제 보안 위협에 대응하는 방법을 익히게 됩니다. 본 과정을 완료하면 기술 스택 전반에 걸쳐 위협을 탐지, 조사 및 해결하는 자동화된 보안 워크플로를 구축할 준비가 될 것입니다.

첫 번째 강의로 넘어가 워크플로 자동화의 기본 구성 요소를 살펴보십시오.

첫번째 단계

  1. workflow에서 Connection(AWS 연결 권한)이 동일한지 반드시 Check해 주세요.

두번째 단계

아래 명령어 실행 후 CloudSIEM Signal이 잡힐때까지 잠시 기다려 주세요.

. /root/helper-scripts/suspicious-actions-by-user/compromised-user-2-actions.sh compromised-user-2
참고 - 공격 시뮬레이션 스크립트
#!/bin/bash

# Compromised User 2 SNS Enumeration Attack Simulation Script
# This script simulates Amazon SNS enumeration across multiple regions using a long-term access key
# Designed to trigger the "Amazon SNS enumeration in multiple regions using a long-term access key" detection rule

set -e

# Configuration
PROFILE="${1:-compromised-user-2}"

# List of AWS regions to enumerate SNS across (using 6 regions to exceed the >3 threshold)
REGIONS=(
    "us-east-1"
    "us-west-2"
    "eu-west-1"
    "ap-southeast-1"
    "ap-northeast-1"
    "ca-central-1"
)

# Validate profile argument
if [ -z "$PROFILE" ]; then
    echo "Error: Profile cannot be empty"
    echo "Usage: $0 [AWS_PROFILE]"
    echo "Example: $0 compromised-user-2"
    exit 1
fi

echo "🔍 SNS Enumeration Attack Simulation - Targeting SMS capabilities across regions..."
echo "Using AWS profile: ${PROFILE}"
echo "👤 Acting as compromised user: ${PROFILE}"
echo "🌍 Target regions: ${REGIONS[*]}"
echo ""

# Current timestamp for logging
TIMESTAMP=$(date +%s)

echo "🚨 Suspicious Activity: Amazon SNS enumeration across multiple regions..."
echo "Attacker is probing SMS capabilities to potentially conduct SMS phishing attacks"
echo ""

# SNS Enumeration Activity 1: GetSMSAttributes across multiple regions
echo "📱 Phase 1: Enumerating SMS attributes across regions..."
for region in "${REGIONS[@]}"; do
    echo "  → Checking SMS attributes in region: ${region}"
    aws sns get-sms-attributes \
        --region ${region} \
        --profile ${PROFILE} \
        2>/dev/null || echo "    ❌ GetSMSAttributes failed in ${region} (expected due to permissions/service availability)"
    
    # Add small delay between regions to simulate realistic attacker behavior
    sleep 1
done

echo ""

# SNS Enumeration Activity 2: GetSMSSandboxAccountStatus across multiple regions  
echo "📱 Phase 2: Checking SMS sandbox status across regions..."
for region in "${REGIONS[@]}"; do
    echo "  → Checking sandbox status in region: ${region}"
    aws sns get-sms-sandbox-account-status \
        --region ${region} \
        --profile ${PROFILE} \
        2>/dev/null || echo "    ❌ GetSMSSandboxAccountStatus failed in ${region} (expected due to permissions/service availability)"
    
    # Add small delay between regions to simulate realistic attacker behavior
    sleep 1
done

echo ""
echo "✅ ${PROFILE} SNS enumeration attack simulation complete."
echo ""
echo "📊 Expected Detection:"
echo "  🎯 Rule: 'Amazon SNS enumeration in multiple regions using a long-term access key'"
echo "  🔍 Triggers: GetSMSAttributes and GetSMSSandboxAccountStatus calls across ${#REGIONS[@]} regions"
echo "  ⚠️  Threshold: >3 regions (current: ${#REGIONS[@]} regions)"

세번째 단계 - Build custom security workflows

[Overview]

  1. 가이드에서 JavaScript Function -> Javascript 선택
    Pasted image 20260310221531.png

  2. Workflow 변수 resolve는 현재 동작하지 않습니다. 아래와 같이 오류가 날 경우 무시하고 진행하세요.
    Pasted image 20260310222220.png

네번째 단계 - IaC로 생성

이 실습에서는 Terraform을 사용하여 AWS WAF에서 악성 IP를 조사하고 차단하는 새로운 워크플로를 생성합니다. 또한 Datadog 공개 API를 사용하여 워크플로를 생성하고 관리하는 방법도 배우게 됩니다.

Tag

#2026-03-11
#CloudSecurity
#AAP
#SIEM
#CWPP