워터링 홀 공격, EmEditor 사용자 타겟으로 정보 탈취형 악성코드 배포
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
트로이 목마가 심어진 EmEditor 설치 관리자가 다단계 악성코드 체인을 배포하는 데 활용되었습니다. 손상된 설치 관리자는 공격자가 제어하는 도메인에서 PowerShell 스크립트를 가져온 다음, 자격 증명 수집, 호스트 및 환경 세부 정보 수집, 결과 유출 등의 작업을 수행하는 후속 페이로드를 가져옵니다. 이 전달 메커니즘은 공급자의 다운로드 경로가 손상되어 합법적인 소프트웨어를 찾는 사용자에게 도달하는 워터링 홀 기법과 일치합니다.
조사
분석 결과, MSI 패키지가 변조되어 EmEditor 테마를 가장한 도메인에 접속하는 임베디드 PowerShell 명령이 실행되는 것으로 확인되었습니다. 초기 스크립트는 두 개의 추가 단계를 다운로드하며, 이들은 분석 방지 동작, 자격 증명 절도, 시스템 지문 수집을 담당하며, 수집된 데이터를 명령 및 제어 서버로 전송합니다. 조사는 고유한 문자열과 실행 체인에 사용된 특정 URL을 포함한 뚜렷한 지표를 문서화했습니다.
완화
설치 관리자 무결성을 배포 전에 공급업체 코드 서명 검증 및 해시 검사를 통해 확인합니다. 엄격한 PowerShell 제어 및 모니터링을 적용하고 ETW 또는 다른 원격 분석 비활성화와 관련된 동작을 감시합니다. 식별된 악성 도메인에 대한 네트워크 필터링을 구현하고 비정상적인 아웃바운드 HTTPS 활동에 경고합니다.
대응
악성 도메인을 참조하는 PowerShell 명령 줄을 검색하고 관련 URL/도메인 차단, 영향받은 엔드포인트 격리, 변조된 MSI와 같은 포렌식 아티팩트 보존을 실행합니다. 공급업체 배포 워크플로의 공급망 점검 수행 및 사용자 알림 및 수정 지침 조정을 계획합니다.
공격 흐름
탐지
Powershell을 통한 다운로드 또는 업로드 (cmdline을 통해)
보기
Powershell을 통한 의심스러운 NoMSbuild 프로젝트
보기
Powershell을 통해 호출된 의심스러운 .NET 메서드
보기
Powershell에 포함된 의심스러운 문자열
보기
EmEditor 악성코드 C&C 통신 및 시스템 지문 수집 [Windows 네트워크 연결]
보기
EmEditor 사용자를 대상으로 하는 악성 PowerShell 명령 탐지 [Windows Powershell]
보기
손상된 EmEditor 설치 관리자에서 감지된 의심스러운 활동 [Windows 프로세스 생성]
보기
시뮬레이션 실행
전제조건: 원격 분석 및 기준선 사전검사가 통과되어야 합니다.
근거: 이 섹션은 탐지 규칙을 트리거하도록 설계된 적 기술 (TTP)의 정확한 실행을 자세히 설명합니다. 명령 및 서술은 식별된 TTP를 직접 반영해야 하며 탐지 로직에 의해 예상되는 정확한 원격 분석을 생성하는 것을 목표로 합니다.
-
공격 설명 및 명령:
적은 공식 EmEditor 설치 관리자 패키지를 손상시켰습니다. 피해자가 설치 관리자를 실행한 후, 악성 바이너리는 하드 코딩된 C2 도메인과 연결을 시도합니다.cachingdrive.com/gate/init/2daef8cd. 이 아웃바운드 요청은 권한을 상승시키고 자격 증명을 수확하는 2차 페이로드를 다운로드합니다. 공격자는 표준 Windows 명령 줄 (cmd.exe)을 사용하여 설치 관리자를 실행하여 악성 URL이 프로세스 생성 이벤트에 그대로 나타나 Sigma 규칙의 문자열 매치 조건과 일치하도록 합니다. -
회귀 테스트 스크립트:
# -------------------------------------------------------------- # 손상된 EmEditor 설치 관리자의 시뮬레이션된 악성 실행 # -------------------------------------------------------------- $installerPath = "C:TempEmEditorSetup.exe" $maliciousUrl = "https://cachingdrive.com/gate/init/2daef8cd" # 설치 관리자가 존재하는지 확인 (플레이스홀더 – 실제 테스트에서는 안전한 exe를 복사) if (-not (Test-Path $installerPath)) { Write-Error "설치 관리자가 $installerPath에 없습니다." exit 1 } # 악성 인수를 사용하여 설치 관리자 실행 Write-Host "[*] 손상된 설치 관리자 실행 중..." Start-Process -FilePath $installerPath -ArgumentList $maliciousUrl -Wait Write-Host "[+] 실행 완료. 탐지 규칙이 발동했는지 확인하십시오." # -------------------------------------------------------------- -
정리 명령:
# -------------------------------------------------------------- # 시뮬레이션된 테스트로 인한 아티팩트 제거 # -------------------------------------------------------------- $installerPath = "C:TempEmEditorSetup.exe" if (Test-Path $installerPath) { Remove-Item $installerPath -Force Write-Host "[*] 설치 관리자 바이너리 삭제." } # (선택 사항) 다운로드된 페이로드를 물리화한 경우 삭제 $downloadedPath = "$env:TEMPpayload.bin" if (Test-Path $downloadedPath) { Remove-Item $downloadedPath -Force Write-Host "[*] 다운로드된 악성 페이로드 삭제." } # --------------------------------------------------------------