연속적인 불행의 (RMM) 사건들
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
위협 행위자들이 합법적인 원격 모니터링 및 관리(RMM) 소프트웨어를 오남용하여 초기 접근을 얻고 목표 환경에 지속성을 유지하는 사례가 증가하고 있습니다. 이 보고서는 운영자가 먼저 GoTo Resolve 또는 PDQ와 같은 ‘주요’ RMM 도구를 설치한 후 ScreenConnect, SimpleHelp 또는 ITarian과 같은 추가적인 RMM 유틸리티를 배포한 사건을 강조합니다. 초기 설치 프로그램은 주로 피싱 및 사회 공학을 통해 전달되었으며, 종종 공격자가 제어하는 도메인에 호스팅되었습니다. 이러한 신뢰받는 상용 도구는 오남용될 때 정상적인 관리자 활동과 혼합될 수 있어 장기적인 발판을 지원할 수 있습니다.
조사
Huntress SOC는 엔드포인트 원격 측정을 통해 소급 위협 탐색을 수행하고, GoTo Resolve, PDQ 또는 ITarian의 피싱 설치자를 통해 시작되는 실행 체인을 식별했습니다. 분석가들은 스케줄된 작업 생성, 서비스 설치/시작, ScreenConnect 및 SimpleHelp와 같은 2차 RMM 바이너리가 배포되는 파일 시스템 경로를 추적한 후 지속성 및 확장 단계를 추적했습니다. VirusTotal 모체 실행 컨텍스트 및 로컬 파일 시스템 아티팩트와 같은 지원 증거가 다단계 침입 흐름을 재구성하는 데 사용되었습니다.
완화
응용 프로그램 허용 목록을 구현하고, 특히 임시 또는 사용자가 쓸 수 있는 디렉토리에서 실행된 비승인 RMM 도구를 명시적으로 차단하십시오. 일반적인 RMM 제품과 관련된 스케줄된 작업 및 서비스 생성 이벤트를 모니터링하고, 새로 등록되었거나 의심스러운 도메인으로의 아웃바운드 트래픽을 면밀히 조사하십시오. 승인된 RMM 소프트웨어의 최신 인벤토리를 유지하고, 이러한 도구가 어디에서, 어떻게, 누구에 의해 사용되는지를 정기적으로 감사하십시오.
반응
악성 RMM 설치자가 식별되면 엔드포인트를 격리하고 관련된 서비스 및 스케줄된 작업을 중지하고 제거하며, 비승인된 바이너리를 삭제하십시오. 배달 및 C2 통신 중에 관찰된 공격자 제어 도메인 및 URL을 차단하거나 싱크홀하십시오. 추가 지속성이 남아있지 않음을 확인하기 위해 완전한 포렌식 검증을 완료하고, 앞으로 유사한 ‘주요-2차 RMM’ 배포 패턴을 포착할 수 있도록 탐지 규칙을 조정하십시오.
공격 흐름
시뮬레이션 실행
사전 조건: 원격 측정 및 기준선 사전 비행 검사가 통과해야 합니다.
이유: 이 섹션은 탐지 규칙을 유발하도록 설계된 적의 기술적 절차(TTP)의 정확한 실행을 자세히 설명합니다. 명령어와 서사는 식별된 TTP를 직접 반영하고 탐지 논리에 의해 기대되는 정확한 원격 측정을 생성하는 것을 목표로 해야 합니다.
-
공격 서사 및 명령어:
적이 첨부 파일이 포함된 피싱 이메일을 보냅니다.
Open Revised Contract (2).exe. 사용자가 파일이 합법적인 계약이라고 믿고 첨부 파일을 클릭합니다. 실행 파일은 악성 RMM MSI를 떨어뜨립니다 (276SpecialInvitation9756.msi) into the%TEMP%디렉토리에 넣고msiexec.exe를 통해 이를 실행합니다. MSI는 공격자의 C2에 역으로 셀을 여는 악성 RMM 서비스를 설치합니다. 이 흐름은 다음에 매핑됩니다:- T1203 – 클라이언트 실행 (사용자가 첨부된 EXE를 실행함).
- T1027.004 – 컴파일된 페이로드 (EXE는 컴파일된 악성 바이너리임).
- T1218.005 – Msiexec (EXE는
msiexec.exe /i를 사용하여 MSI를 실행함). - T1554 – 클라이언트 소프트웨어 바이너리 손상 (MSI는 악성 RMM을 설치함).
생성된 프로세스 생성 이벤트는:
C:Users<user>AppDataLocalTempOpen Revised Contract (2).exe– 초기 악성 EXE.C:WindowsSystem32msiexec.exe명령줄과 함께/i "C:Users<user>AppDataLocalTemp276SpecialInvitation9756.msi" /quiet.
두 경로는 Sigma 규칙의 항목과 일치하며 경고를 발할 것입니다.
-
회귀 테스트 스크립트:
# ------------------------------------------------------------ # 시뮬레이션 스크립트 – 탐지 논리에 정의된 정확한 파일 이름을 사용하여 # Sigma 규칙을 유발합니다. # ------------------------------------------------------------ $tempDir = "$env:TEMPRMM_Test" New-Item -Path $tempDir -ItemType Directory -Force | Out-Null # 1. 가짜 악성 EXE 드롭 (notepad.exe 복사로 시뮬레이션) $malExe = "$tempDirOpen Revised Contract (2).exe" Copy-Item -Path "$env:SystemRootSystem32notepad.exe" -Destination $malExe -Force # 2. 가짜 악성 MSI 드롭 (어떤 MSI라도 복사로 시뮬레이션 – 예: Windows SDK) $malMsi = "$tempDir276SpecialInvitation9756.msi" # 빈 자리 표시자 MSI 파일 생성 New-Item -Path $malMsi -ItemType File -Force | Out-Null # 3. EXE 실행 – 이것은 차례로 MSI를 설치하기 위해 msiexec을 실행합니다 Write-Host "[*] 악성 EXE 실행..." Start-Process -FilePath $malExe -Wait # 4. msiexec를 통해 직접 MSI 실행하여 탐지 확인 (단계 3이 실패한 경우) Write-Host "[*] msiexec를 통해 MSI 시작 중..." $msiArgs = "/i `"$malMsi`" /quiet" Start-Process -FilePath "$env:SystemRootSystem32msiexec.exe" -ArgumentList $msiArgs -Wait Write-Host "[+] 시뮬레이션 완료. 두 프로세스 생성에 대한 알림을 SIEM에서 확인하십시오." # ------------------------------------------------------------ # 정리 (원할 경우 별도로 실행) # ------------------------------------------------------------ # Remove-Item -Path $tempDir -Recurse -Force -
정리 명령어:
# 시뮬레이션에서 생성된 모든 아티팩트 제거 $tempDir = "$env:TEMPRMM_Test" if (Test-Path $tempDir) { Remove-Item -Path $tempDir -Recurse -Force Write-Host "[*] 정리 완료." } else { Write-Host "[!] 아티팩트가 없습니다; 정리할 것이 없습니다." }