무료 변환기 소프트웨어 – 몇 초 만에 시스템을 깨끗한 상태에서 감염된 상태로 변환
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
합법적인 사이트에서의 악성 광고 캠페인은 무해해 보이지만 백그라운드에서 지속적인 원격 액세스 악성 코드를 설치하는 가짜 ‘변환기’ 유틸리티를 푸시하고 있습니다. 실행되면, 설치 프로그램은 일반적으로 %LocalAppData%에 백도어 구성 요소를 배치하고 페이로드를 반복적으로 실행하는 예약된 작업을 생성하여 공격자가 재부팅 시에도 접근을 유지할 수 있게 합니다. 이 작업은 유사한 도메인 세트를 회전시키고, 코드 서명이 된 (하지만 악의적인) 바이너리와 간단한 HTTP 기반의 명령 및 제어 워크플로우에 의존합니다. 방어자는 비정상적인 예약 작업 생성, 사용자가 쓰기 가능한 경로에서의 의심스러운 실행, 식별된 C2 인프라로의 아웃바운드 트래픽 감지에 우선순위를 둘 수 있습니다.
조사
연구원들은 악의적인 구글 광고에서 pokemoninfinitefusion.net, convertyfileapp.com, conmateapp.com 같은 도메인에 호스팅된 랜딩 페이지까지의 감염 경로를 재구성했으며, 궁극적으로 최종 페이로드를 전달합니다. 전달된 바이너리는 도난당한 인증서로 서명된 .NET 실행 파일이며, %LocalAppData%에서 UpdateRetriever.exe를 실행하는 예약된 작업을 생성하여 지속성을 설정합니다. 원격 분석에 따르면 악성 코드는 주기적으로 confetly.com에 연락하여 업데이트나 지시를 받습니다. 분석가는 또한 id.txt 마커와 백도어를 활성 상태로 유지하기 위해 사용된 예약 작업 정의를 포함한 관련 파일 시스템 및 구성 아티팩트를 검증했습니다.
완화
예약된 작업 생성(Security Event ID 4698) 및 레지스트리 수정 원격 분석(예: Sysmon Event ID 13)을 위해 로깅을 활성화하고 운영하세요. AppLocker 또는 WDAC를 사용하여 %LocalAppData%에서의 프로세스 실행을 차단하거나 엄격하게 제어하여 실행 위험을 줄이고, 사용자 쓰기 가능한 디렉토리를 가리키는 예약 작업에 대해 알림을 설정하세요. 의심스럽거나 새로 관찰된 코드 서명 인증서를 고위험으로 간주하여 가능하면 이를 취소 또는 차단하고, 알려진 악성 인프라에 대해 도메인 제어를 추가하세요. 네트워크 계층에서 confetly.com 및 관련 URL 패턴으로의 아웃바운드 HTTP 활동을 감지하도록 탐지를 배포하고, 가능한 경우 사용자 워크스테이션에서 직접 인터넷 트래픽을 차단하는 것을 고려하세요.
대응
의심스러운 예약 작업이 감지되거나 %LocalAppData%에서 실행 파일이 실행되는 것이 관찰되면 엔드포인트를 격리하고 증거(task XML, 드롭된 바이너리, 관련 프록시/DNS 로그)를 보존하십시오. 명령 및 제어를 차단하기 위해 즉시 confetly.com 및 관련 인프라를 차단하세요. 악성 예약 작업을 제거하고, 페이로드 아티팩트를 제거하며, 2차 지속성이 남지 않도록 전체 엔드포인트 복원을 수행하세요. 마지막으로, 동일한 지표(task names/paths, UpdateRetriever.exe, id.txt, 및 나열된 도메인)를 찾기 위해 엔터프라이즈 전체에서 사냥을 실행하여 추가 영향을 미친 시스템을 발견하세요.
graph TB %% Class Definitions classDef technique fill:#c2e0ff classDef operator fill:#ffcc66 %% Nodes – Techniques initial_access[“<b>기법</b> – <b>T1659 악성 광고</b><br/><b>설명</b>: 공격자는 악성 온라인 광고를 활용하여 콘텐츠 삽입을 통해 피해자에게 악성 콘텐츠를 전달한다.”] class initial_access technique user_execution[“<b>기법</b> – <b>T1204 사용자 실행</b><br/><b>설명</b>: 피해자가 악성 광고를 클릭하고 다운로드된 페이로드를 직접 실행한다.”] class user_execution technique dropper[“<b>기법</b> – <b>T1036.001 위장: 잘못된 코드 서명</b><br/><b>설명</b>: 서명된 변환기 실행 파일이 합법적인 도구로 위장하여 신뢰 제어를 우회한다.”] class dropper technique subvert_trust[“<b>기법</b> – <b>T1553 신뢰 제어 무력화</b><br/><b>설명</b>: 서명된 바이너리가 코드 서명 기반 보안 메커니즘을 무력화한다.”] class subvert_trust technique powershell[“<b>기법</b> – <b>T1059.001 PowerShell</b><br/><b>설명</b>: 지속성을 위해 예약 작업을 생성하는 PowerShell 스크립트가 실행된다.”] class powershell technique scheduled_task[“<b>기법</b> – <b>T1053 예약 작업</b><br/><b>설명</b>: UpdateRetriever 실행 파일을 주기적으로 실행하는 예약 작업이 생성된다.”] class scheduled_task technique persistence[“<b>기법</b> – <b>T1053 예약 작업 (지속성)</b><br/><b>설명</b>: 예약 작업이 악성 업데이터의 장기 실행을 보장한다.”] class persistence technique c2_https[“<b>기법</b> – <b>T1071.001 웹 프로토콜: 웹</b><br/><b>설명</b>: 명령 및 제어 트래픽이 표준 웹 프로토콜을 사용하여 HTTPS로 전송된다.”] class c2_https technique compression[“<b>기법</b> – <b>T1027.015 유틸리티를 통한 아카이브</b><br/><b>설명</b>: 페이로드가 탐지를 회피하기 위해 ZIP 아카이브에 저장된다.”] class compression technique %% Operator Node (AND logic) op_and((“AND”)) class op_and operator %% Connections – Flow initial_access –>|leads_to| user_execution user_execution –>|delivers| dropper dropper –>|uses| subvert_trust dropper –>|stores_payloads_in| compression dropper –>|executes| powershell powershell –>|creates| scheduled_task scheduled_task –>|enables| persistence persistence –>|communicates_with| c2_https
공격 흐름
탐지
의심스러운 Wevtutil 사용에 의한 가능성 있는 방어 회피 활동 (cmdline 통해)
보기
의심스러운 예약 작업 (감사 통해)
보기
COM 개체를 통한 예약 작업 (PowerShell 통해)
보기
IOCs (HashSha256) 탐지: 무료 변환기 소프트웨어 – 몇 초 안에 깨끗한 시스템을 감염된 것으로 변환 제 7편
보기
IOCs (HashSha256) 탐지: 무료 변환기 소프트웨어 – 몇 초 안에 깨끗한 시스템을 감염된 것으로 변환 제 5편
보기
IOCs (HashSha256) 탐지: 무료 변환기 소프트웨어 – 몇 초 안에 깨끗한 시스템을 감염된 것으로 변환 제 6편
보기
IOCs (HashSha256) 탐지: 무료 변환기 소프트웨어 – 몇 초 안에 깨끗한 시스템을 감염된 것으로 변환 제 4편
보기
IOCs (HashSha256) 탐지: 무료 변환기 소프트웨어 – 몇 초 안에 깨끗한 시스템을 감염된 것으로 변환 제 1편
보기
IOCs (HashSha256) 탐지: 무료 변환기 소프트웨어 – 몇 초 안에 깨끗한 시스템을 감염된 것으로 변환 제 3편
보기
IOCs (HashSha256) 탐지: 무료 변환기 소프트웨어 – 몇 초 안에 깨끗한 시스템을 감염된 것으로 변환 제 2편
보기
IOCs (HashSha1) 탐지: 무료 변환기 소프트웨어 – 몇 초 안에 깨끗한 시스템을 감염된 것으로 변환
보기
멀웨어 지속성을 위한 예약된 작업 레지스트리 수정 [Windows Registry 이벤트]
보기
멀웨어 지속성을 위한 예약된 작업 생성 감지 [Microsoft Windows Security 이벤트 로그]
보기
ConvertMate 악성 페이로드 및 UUID 파일 생성 감지 [Windows 파일 이벤트]
보기
시뮬레이션 실행
전제 조건: 원격 분석 및 기준 사전 비행 점검이 통과해야 합니다.
근거: 이 섹션은 탐지 규칙을 트리거하도록 설계된 상대방의 기술(TTP)의 정확한 실행을 자세히 설명합니다. 명령 및 설명은 식별된 TTP를 직접 반영해야 하며, 탐지 로직에 의해 예상되는 정확한 원격 분석을 생성하는 것을 목표로 합니다.
-
공격 내러티브 및 명령:
이미 로컬 시스템 접근 권한을 획득한 공격자는 재부팅 시에도 지속성을 유지하기를 원합니다. 그들은 새로운 실행 파일을 생성하지 않는 ‘생활 속에서’ 방법이기 때문에 Windows Task Scheduler의 레지스트리 백엔드를 악용하기로 결정합니다.reg.exe를 사용하여 악성 페이로드가 위치한TaskCacheTasks하이브 아래에 새 작업 정의를 직접 추가하고%LocalAppData%에 있습니다. 이 쓰기는 규칙의 선택자와 일치하는RegistryPath을 갖는 Sysmon Event 13을 생성하여 경고가 발생합니다. -
회귀 테스트 스크립트:
# ------------------------------------------------------------------------- # PowerShell script to simulate T1547.014 / T1574.014 – Scheduled Task persistence # ------------------------------------------------------------------------- # Variables $taskGuid = [guid]::NewGuid().ToString("B").ToUpper() # e.g. {A1B2C3D4-...} $payload = "$env:LOCALAPPDATAmalwareevil.exe" $regPath = "HKLM:SoftwareMicrosoftWindows NTCurrentVersionScheduleTaskCacheTasks$taskGuid" # Ensure payload directory exists (simulated) New-Item -Path (Split-Path $payload) -ItemType Directory -Force | Out-Null # (In a real attack, the malicious binary would be dropped here) # Create the registry key for the scheduled task New-Item -Path $regPath -Force | Out-Null # Populate minimal required values (Task XML would be far larger; we keep it simple) New-ItemProperty -Path $regPath -Name "Path" -Value $payload -PropertyType String -Force | Out-Null New-ItemProperty -Path $regPath -Name "Id" -Value $taskGuid -PropertyType String -Force | Out-Null New-ItemProperty -Path $regPath -Name "SecurityDescriptor" -Value "O:BAG:SYD:(A;;FA;;;SY)(A;;FA;;;BA)" -PropertyType String -Force | Out-Null Write-Host "[+] Registry task written to $regPath – detection rule should fire." -
정리 명령:
# Remove the malicious scheduled‑task registry entry $taskGuid = (Get-ItemProperty -Path "HKLM:SoftwareMicrosoftWindows NTCurrentVersionScheduleTaskCacheTasks*").Id $regPath = "HKLM:SoftwareMicrosoftWindows NTCurrentVersionScheduleTaskCacheTasks$taskGuid" Remove-Item -Path $regPath -Recurse -Force # Optionally remove the dummy payload Remove-Item -Path "$env:LOCALAPPDATAmalware" -Recurse -Force Write-Host "[+] Cleanup completed."