SOC Prime Bias: High

05 Oct 2026 16:37 UTC

2CLoader: A New Malware Loader Delivering Vidar and Remus

Author Photo
SOC Prime Team linkedin icon 팔로우
2CLoader: A New Malware Loader Delivering Vidar and Remus
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

2CLoader는 Vidar와 Remus, XWorm RAT을 포함한 정보 수집기를 배포하는 새로운 악성코드 로더입니다. 이 로더는 Hell’s Gate를 통한 간접 시스템 호출, 분석 방해 및 가상머신 방지 검사, 환경 스푸핑을 위한 인라인 트램폴린 훅과 같은 고급 회피 기술을 통합합니다. 로더는 매우 구성 가능하며, 여러 지속성과 실행 메커니즘을 지원합니다.

조사

Zscaler ThreatLabz는 2CLoader에 대해 심층적인 기술 분석을 수행하여 리소스 구조, 복호화 루틴 및 구성 옵션을 조사했습니다. 연구원들은 롤링 XOR과 AES-GCM을 결합한 다단계 복호화 프로세스를 발견했으며, AES 키는 악성코드 자체 .text 섹션의 SHA256 해시에서 생성됩니다. 조사는 또한 여러 지속성 기술과 광범위한 분석 방해 기능을 문서화했습니다.

대응책

조직은 간접 시스템 호출과 프로세스 주입 활동을 식별할 수 있는 강력한 엔드포인트 보안 솔루션을 배포해야 합니다. SecurityHealthService.exe를 포함한 의심스러운 예약된 작업 및 Run/RunOnce 레지스트리 키의 예상치 못한 변경에 대한 모니터링이 필수적입니다. 보안 팀은 또한 무단 API 훅킹 및 이례적인 부모-자식 프로세스 관계, 예를 들어 explorer.exe가 의심스러운 프로세스를 실행하는 것을 주의 깊게 관찰해야 합니다.

대응

2CLoader 활동이 감지되면, 정보 수집기에 의한 잠재적 데이터 유출을 제한하기 위해 네트워크로부터 손상된 호스트를 격리하십시오. 훅킹된 API와 주입된 페이로드를 식별하기 위해 메모리 포렌식 분석을 수행하십시오. aware-cr1[.]com을 포함한 알려진 C2 인프라에 대한 연결을 네트워크 로그에서 검토하고, 예약된 작업 및 악의적인 레지스트리 항목과 같은 지속성 메커니즘에 대해 종합적인 검색을 실시하십시오.

공격 흐름

우리는 이 부분을 계속 업데이트하고 있습니다.

탐지

의심스러운 예약된 작업 (감사 통해)

SOC Prime 팀
2026년 10월 1일

잠재적 지속성 지점 [ASEPs – Software/NTUSER Hive] (레지스트리 이벤트를 통해)

SOC Prime 팀
2026년 10월 1일

자동 시작 위치의 의심스러운 바이너리 / 스크립트 (파일 이벤트를 통해)

SOC Prime 팀
2026년 10월 1일

의심스러운 파일 다운로드 직접 IP (프록시를 통해)

SOC Prime 팀
2026년 10월 1일

탐지할 IOCs (HashSha256): 2CLoader: Vidar와 Remus을 배포하는 새로운 악성코드 로더

SOC Prime AI 규칙
2026년 10월 1일

탐지할 IOCs (HashMd5): 2CLoader: Vidar와 Remus을 배포하는 새로운 악성코드 로더

SOC Prime AI 규칙
2026년 10월 1일

탐지할 IOCs (SourceIP): 2CLoader: Vidar와 Remus을 배포하는 새로운 악성코드 로더

SOC Prime AI 규칙
2026년 10월 1일

탐지할 IOCs (DestinationIP): 2CLoader: Vidar와 Remus을 배포하는 새로운 악성코드 로더

SOC Prime AI 규칙
2026년 10월 1일

2CLoader C2 통신 탐지 [Windows 네트워크 연결]

SOC Prime AI 규칙
2026년 10월 1일

2CLoader 악성코드 회피 기술 탐지 [Windows 프로세스 생성]

SOC Prime AI 규칙
2026년 10월 1일

시뮬레이션 실행

  • 공격 내러티브 및 명령: 적의 목표는 샌드박스 탐지를 회피하면서 페이로드를 배포하는 것입니다. 이를 달성하기 위해, 시뮬레이션된 악성코드는 ProcessDebugPort via NtQueryInformationProcess를 쿼리하여 디버깅 여부를 확인한 후 “깨끗한” 환경임을 확인하면 악성 단계를 풀어놓기 위해 자신의 메모리 공간을 조작하려고 시도합니다. 특히 NtProtectVirtualMemory 를 호출하여 페이지 권한을 실행/읽기/쓰기(RWX)로 변경합니다. 시뮬레이션은 2CLoader 회피 스타일을 모방하기 위해 이러한 호출을 “간접” 호출로 실행하는 C++ 래퍼를 사용합니다.

  • 회귀 테스트 스크립트:

    #include <windows.h>
    #include <winternl.h>
    #include <stdio.h>
    
    // 2CLoader 스타일의 syscall 시퀀스에 대한 간소화된 표현
    typedef NTSTATUS (NTAPI *pNtQueryInformationProcess)(
        HANDLE ProcessHandle,
        PROCESSINFOCLASS ProcessInformationClass,
        PVOID ProcessInformation,
        ULONG ProcessInformationLength,
        PULONG ReturnLength);
    
    int main() {
        printf("[+] 2CLoader 회피 시뮬레이션 시작...n");
    
        // 1. 안티 디버깅 시뮬레이션 (T1497.002)
        // ProcessDebugPort를 확인하기 위해 NtQueryInformationProcess 호출을 모방합니다.
        HANDLE hProcess = GetCurrentProcess();
        DWORD_PTR debugPort = 0;
        // 실제 상황에서는 간접 syscall이 될 것입니다.
        // 여기서는 API를 통해 로직을 트리거하여 텔레메트리 가시성을 보장합니다.
        printf("[+] NtQueryInformationProcess를 통한 디버거 확인 중...n");
    
        // 2. 메모리 조작 시뮬레이션 (T1055.005 / T1497)
        // NtProtectVirtualMemory를 모방하여 메모리 보호를 변경합니다.
        printf("[+] NtProtectVirtualMemory를 통한 메모리 보호 조작 중...n");
        void* buffer = VirtualAlloc(NULL, 1024, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
        if (buffer) {
            BOOL success = VirtualProtect(buffer, 1024, PAGE_EXECUTE_READWRITE, &DWORD);
            if (success) {
                printf("[!] 성공: 메모리 보호가 RWX로 변경되었습니다.n");
            }
            VirtualFree(buffer, 0, MEM_RELEASE);
        }
    
        printf("[+] 시뮬레이션 완료.n");
        return 0;
    }
  • 정리 명령:

    # 이 시뮬레이션 스크립트에 의해 생성된 영구 아티팩트는 없습니다.
    # 컴파일된 바이너리를 제거해야 합니다:
    Remove-Item -Path ".simulation.exe" -ErrorAction SilentlyContinue