연속적인 불행의 (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’ 배포 패턴을 포착할 수 있도록 탐지 규칙을 조정하십시오.
“graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef process fill:#ccffcc %% Nodes u2013 Actions action_phishing[“<b>행동</b> – <b>T1566.001 피싱: 스피어피싱 첨부파일</b><br /><b>설명</b>: 피해자는 Open Revised Contract.exe와 같은 악성 첨부파일이 있는 피싱 이메일을 수신”] class action_phishing action action_user_exec[“<b>행동</b> – <b>T1204.002 사용자 실행: 악성 파일</b><br /><b>설명</b>: 피해자는 첨부파일에서 다운로드한 RMM 설치 파일을 수동으로 실행”] class action_user_exec action action_sched_task[“<b>행동</b> – <b>T1053 예약된 작업/작업</b><br /><b>설명</b>: 공격자가 지속성을 유지하기 위해 Windows 예약 작업을 생성”] class action_sched_task action action_service_exec[“<b>행동</b> – <b>T1569.002 시스템 서비스: 서비스 실행</b><br /><b>설명</b>: sc.exe를 통해 악성 RMM 서비스를 설치하고 시작”] class action_service_exec action action_rmt_use[“<b>행동</b> – <b>T1219 원격 액세스 도구</b><br /><b>설명</b>: 설치된 RMM은 공격자에게 원격 액세스 기능을 제공”] class action_rmt_use action action_remote_desktop[“<b>행동</b> – <b>T1219.002 원격 액세스 도구: 원격 데스크톱 소프트웨어</b><br /><b>설명</b>: 특정 원격 데스크톱 소프트웨어(ScreenConnect)를 배포하여 은밀한 제어 수행”] class action_remote_desktop action action_lateral_transfer[“<b>행동</b> – <b>T1570 측면 도구 전송</b><br /><b>설명</b>: 공격자가 초기 RMM을 사용하여 추가 RMM 도구를 다운로드하고 설치”] class action_lateral_transfer action %% Nodes u2013 Tools / Files tool_malicious_attachment[“<b>도구</b> – <b>이름</b>: 악성 RMM 설치 프로그램<br /><b>파일 유형</b>: .exe (예: Open Revised Contract.exe)”] class tool_malicious_attachment tool tool_goto_resolve[“<b>도구</b> – <b>이름</b>: GoTo Resolve (RMM)<br /><b>기능</b>: 원격 관리 및 지원”] class tool_goto_resolve tool tool_pdq[“<b>도구</b> – <b>이름</b>: PDQ Deploy (RMM)<br /><b>기능</b>: 소프트웨어 배포 및 실행”] class tool_pdq tool tool_itarian[“<b>도구</b> – <b>이름</b>: ITarian (RMM)<br /><b>기능</b>: 원격 관리”] class tool_itarian tool tool_screenconnect[“<b>도구</b> – <b>이름</b>: ScreenConnect (원격 데스크톱)<br /><b>기능</b>: 화면 공유 및 원격 제어”] class tool_screenconnect tool tool_simplehelp[“<b>도구</b> – <b>이름</b>: SimpleHelp (RMM)<br /><b>기능</b>: 원격 지원”] class tool_simplehelp tool process_sc_exe[“<b>프로세스</b> – <b>이름</b>: sc.exe<br /><b>목적</b>: Windows 서비스 생성 및 시작”] class process_sc_exe process %% Connections u2013 Attack Flow action_phishing u002du002d>|첨부파일 전달| tool_malicious_attachment tool_malicious_attachment u002du002d>|피해자에 의해 실행됨| action_user_exec action_user_exec u002du002d>|설치| tool_goto_resolve action_user_exec u002du002d>|설치| tool_pdq action_user_exec u002du002d>|설치| tool_itarian tool_goto_resolve u002du002d>|생성| action_sched_task tool_goto_resolve u002du002d>|사용| process_sc_exe process_sc_exe u002du002d>|서비스 시작| action_service_exec action_service_exec u002du002d>|활성화| action_rmt_use action_rmt_use u002du002d>|원격 데스크톱을 제공| tool_screenconnect action_rmt_use u002du002d>|접근 유지| tool_goto_resolve action_rmt_use u002du002d>|시작| action_lateral_transfer action_lateral_transfer u002du002d>|다운로드 및 설치| tool_simplehelp action_lateral_transfer u002du002d>|다운로드 및 설치| tool_screenconnect “
공격 흐름
시뮬레이션 실행
사전 조건: 원격 측정 및 기준선 사전 비행 검사가 통과해야 합니다.
이유: 이 섹션은 탐지 규칙을 유발하도록 설계된 적의 기술적 절차(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 "[!] 아티팩트가 없습니다; 정리할 것이 없습니다." }