SOC Prime Bias: 중간

28 1월 2026 11:56

공유된 무기고: RAT 간 공통 TTP 식별하기

Author Photo
Ruslan Mikhalov SOC Prime에서 위협 연구 책임자 linkedin icon 팔로우
공유된 무기고: RAT 간 공통 TTP 식별하기
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

Splunk 게시물은 여러 원격 액세스 트로이 목마와 스틸러 계열이 동일한 기본 MITRE ATT&CK 기술로 수렴하는 방법을 검토합니다. 유입 도구 전송, 호스트 및 네트워크 검색, 레지스트리 및 예약 작업 유지, 방어 회피, 자격 증명 절도와 같은 반복 가능한 동작을 지적합니다. 동시에, 가족을 구별하는 데 여전히 도움이 될 수 있는 작은 구현 차이점을 언급합니다. 이 접근 방식은 가족 간의 일관된 사냥을 지원합니다.

조사

팀은 약 18개의 멀웨어 계열을 ATT&CK에 매핑하여 중첩된 TTP를 요약하고 지속성, 토큰 조작, 웹 서비스 사용을 포함한 실제 코드 조각을 포함했습니다. 예제는 WMI 쿼리, 실행 키 쓰기, schtasks 생성, Windows Defender 제외를 추가하는 PowerShell 명령을 포함합니다.

완화

지침은 가족 이름보다 기술 중심 탐지를 우선시합니다: 일반 유틸리티(schtasks, reg, WMI)의 남용을 감시하고, 아웃바운드 웹 서비스 트래픽을 제한하며, 자격 증명 액세스 제어를 강화합니다. 또한 Windows Defender 제외 정책을 강화하고 토큰 권한 변경 시 알림을 권장합니다.

대응

이러한 기술이 감지되면 엔드포인트를 격리하고, 주요 아티팩트(레지스트리 하이브, 예약 작업 정의, 커맨드 라인 로그)를 수집하고 자산 전반에 관련 IOC를 사냥합니다. 지속성을 제거하고 알려진 도메인과 해시를 위한 지표 기반 차단을 적용하며 공유된 동작을 포괄하도록 탐지를 확장합니다.

공격 흐름

이 부분을 계속 업데이트하고 있습니다. 알림을 받으려면 등록하세요.

알림 설정

시뮬레이션 실행

사전 조건: Telemetry & Baseline Pre‑flight Check가 통과해야 합니다.

합리적 이유: 이 섹션은 감지 규칙을 트리거하도록 설계된 적의 기술(TTP)의 정확한 실행을 설명합니다. 커맨드와 내러티브는 식별된 TTP를 직접 반영해야 하며 감지 논리에서 예상되는 정확한 텔레메트리를 생성하는 것을 목표로 해야 합니다.

  • 공격 내러티브 & 커맨드:

    1. 정찰: 공격자는 대상이 Run-키를 사용할 수 있는 Windows 머신인지 확인하기 위해 OS 버전을 열거합니다.
    2. 페이로드 준비: 해가 없는 테스트 실행 파일(notepad.exe)은 실제로 악성 영향을 주지 않으면서도 일반적인 지속성 페이로드를 나타내기 위해 선택됩니다.
    3. 지속성 임플란트: 사용 reg.exe, 공격자는 다음과 같은 새 문자열 값을 작성합니다 ProvingMalware 하위 HKCUSoftwareMicrosoftWindowsCurrentVersionRun, 다음을 가리킵니다 C:WindowsSystem32notepad.exe. 이는 Run-키 경로로 EventID 4657을 생성하여 감지 규칙을 만족시킵니다.
    4. 검증: 공격자는 레지스트리를 쿼리하여 값이 존재하는지 확인합니다.
  • 회귀 테스트 스크립트:

    # -------------------------------------------------
    # Proving – 레지스트리 실행 키 지속성 시뮬레이션
    # -------------------------------------------------
    try {
        # 1. OS가 Windows인지 확인
        if (-not $IsWindows) {
            throw "스크립트는 Windows에서만 실행될 수 있습니다."
        }
    
        # 2. 실행 키 경로 및 악성 페이로드 정의
        $runKey = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun"
        $valueName = "ProvingMalware"
        $payloadPath = "$env:SystemRootSystem32notepad.exe"
    
        # 3. 악성 실행 키 작성 (EventID 4657을 트리거함)
        New-ItemProperty -Path $runKey -Name $valueName -Value $payloadPath -PropertyType String -Force |
            Out-Null
    
        Write-Host "[+] 실행 키 $valueName이 $runKey 아래에 추가되어 $payloadPath를 가리킵니다"
    }
    catch {
        Write-Error "[!] $($_.Exception.Message)"
    }
  • 정리 명령:

    # 시뮬레이션된 지속성 값을 제거
    $runKey = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun"
    $valueName = "ProvingMalware"
    if (Test-Path "$runKey") {
        Remove-ItemProperty -Path $runKey -Name $valueName -ErrorAction SilentlyContinue
        Write-Host "[+] 실행 키 $valueName을 정리했습니다"
    }