SOC Prime Bias: 중간

25 3월 2026 17:36

Google 폼의 ‘구인 공고’가 기기를 감염시킬 수 있습니다

Author Photo
Ruslan Mikhalov SOC Prime에서 위협 연구 책임자 linkedin icon 팔로우
Google 폼의 ‘구인 공고’가 기기를 감염시킬 수 있습니다
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

위협 행위자들이 Google Forms를 악용하여 궁극적으로 PureHVNC RAT를 설치하는 악성 ZIP 아카이브를 배포하고 있습니다. 아카이브에는 DLL 하이재킹을 통해 실행되는 악성 실행 파일 및 DLL 쌍과 함께 미끼 PDF가 포함되어 있습니다. 실행되면, 악성 소프트웨어는 시스템 정찰을 수행하고 데이터를 탈취하며 레지스트리 변경 및 예약 작업을 사용하여 지속성을 확립합니다.

조사

연구원들은 여러 캠페인 변형을 문서화하고 DLL 하이재킹에 msimg32.dll의 악용을 확인했습니다. 그들은 Miroupdate 레지스트리 실행 키를 통한 지속성, ProgramData에 최종 ZIP을 떨어뜨리는 단계 실행, Donut 쉘코드를 실행하는 난독화된 Python 로더를 관찰했습니다. 마지막 단계에서 PureHVNC RAT는 SearchUI.exe에 주입됩니다.

완화

사용자들은 신뢰할 수 없는 Google Forms 페이지나 단축 링크에서 파일을 다운로드하는 것을 피해야 합니다. 특히 LinkedIn을 통해 전달되는 공유 양식 및 URL의 정당성을 신중하게 확인해야 합니다. 조직은 알려진 악성 파일, 도메인 및 페이로드 전달 경로를 차단하기 위해 URL 필터링 및 엔드포인트 보호를 시행해야 합니다.

응답

탐지 팀은 msimg32.dll의 존재, Miroupdate 실행 키, base64 PowerShell이 포함된 예약 작업, PureHVNC 프로세스 주입 동작을 찾아야 합니다. 악성 ZIP 파일은 격리하고, 지속성 메커니즘을 제거하며, 모든 관련 인프라 도메인을 차단해야 합니다.

"graph TB %% Class definitions classDef technique fill:#e6f5ff %% Node definitions tech_user_exec["<b>기법</b> – <b>T1204.001 사용자 실행: 악의적 링크</b><br/><b>설명</b>: 사용자를 속여 악성 코드를 실행하는 악성 링크를 클릭하도록 유도합니다."] class tech_user_exec technique tech_dll_hijack["<b>기법</b> – <b>T1574.001 실행 흐름 하이재킹: DLL</b><br/><b>설명</b>: 일반적인 DLL 검색 순서를 하이재킹하거나 사이드로딩 기술을 사용하여 악성 DLL을 로드합니다."] class tech_dll_hijack technique tech_user_activity["<b>기법</b> – <b>T1497.002 가상화/샌드박스 회피: 사용자 활동 기반 체크</b><br/><b>설명</b>: 실제 사용자 활동(마우스, 키보드, 디스플레이)이 있는지 확인하여 샌드박스 또는 가상 환경에서 실행 중인지 판단합니다."] class tech_user_activity technique tech_rc_scripts["<b>기법</b> – <b>T1037.004 부팅 또는 로그온 초기화 스크립트: RC 스크립트</b><br/><b>설명</b>: 부팅 또는 로그인의 지속성을 얻기 위해 Unix 유사 시스템에서 RC (run-control) 스크립트를 수정하거나 생성합니다."] class tech_rc_scripts technique tech_scheduled_task["<b>기법</b> – <b>T1053 예약된 작업/직무</b><br/><b>설명</b>: 나중에 또는 정기적으로 악성 코드를 실행하는 예약 작업이나 직무를 생성합니다."] class tech_scheduled_task technique tech_powershell["<b>기법</b> – <b>T1059.001 커맨드 및 스크립팅 인터프리터: PowerShell</b><br/><b>설명</b>: 피해자 시스템에서 명령어, 스크립트, 페이로드를 실행하기 위해 PowerShell을 사용합니다."] class tech_powershell technique tech_compress["<b>기법</b> – <b>T1027.015 난독화된 파일 또는 정보: 압축</b><br/><b>설명</b>: 탐지를 회피하고 크기를 줄이기 위해 악성 파일을 압축하거나 패킹합니다."] class tech_compress technique tech_dynamic_api["<b>기법</b> – <b>T1027.007 난독화된 파일 또는 정보: 동적 API 해결</b><br/><b>설명</b>: 실행 시간에 API 호출을 해결하여 코드의 진정한 의도를 정적 분석으로부터 숨깁니다."] class tech_dynamic_api technique tech_process_injection["<b>기법</b> – <b>T1055 프로세스 주입</b><br/><b>설명</b>: 다른 실행 중인 프로세스의 주소 공간으로 악성 코드를 주입합니다."] class tech_process_injection technique tech_process_hollow["<b>기법</b> – <b>T1055.012 프로세스 주입: 프로세스 할로잉</b><br/><b>설명</b>: 일시 정지 상태에서 합법적인 프로세스를 생성하고 그 메모리를 악성 코드로 대체합니다."] class tech_process_hollow technique tech_sysinfo["<b>기법</b> – <b>T1082 시스템 정보 검색</b><br/><b>설명</b>: 피해자로부터 운영 체제, 하드웨어, 구성 세부 사항을 수집합니다."] class tech_sysinfo technique tech_browser_info["<b>기법</b> – <b>T1217 브라우저 정보 검색</b><br/><b>설명</b>: 설치된 브라우저, 확장 프로그램 및 설정을 열거하여 추가 인증서 탈취를 돕습니다."] class tech_browser_info technique tech_browser_creds["<b>기법</b> – <b>T1555.003 비밀번호 저장소에서 인증서: 웹 브라우저의 인증서</b><br/><b>설명</b>: 웹 브라우저에서 저장된 사용자 이름과 비밀번호를 추출합니다."] class tech_browser_creds technique tech_file_creds["<b>기법</b> – <b>T1552.001 보안이 취약한 인증서: 파일의 인증서</b><br/><b>설명</b>: 평문 또는 보호가 잘 안된 파일에 저장된 인증서 자료를 찾습니다."] class tech_file_creds technique tech_private_keys["<b>기법</b> – <b>T1552.004 보안이 취약한 인증서: 개인 키</b><br/><b>설명</b>: 피해자를 사칭할 수 있는 개인 키 파일을 식별합니다."] class tech_private_keys technique tech_web_cookie["<b>기법</b> – <b>T1550.004 대체 인증 자료 사용: 웹 세션 쿠키</b><br/><b>설명</b>: 수집한 웹 세션 쿠키를 재사용하여 비밀번호 없이 웹 서비스에 인증합니다."] class tech_web_cookie technique %% Connections tech_user_exec –>|발동| tech_dll_hijack tech_dll_hijack –>|수행| tech_user_activity tech_dll_hijack –>|사용| tech_rc_scripts tech_rc_scripts –>|생성| tech_scheduled_task tech_scheduled_task –>|실행| tech_powershell tech_powershell –>|압축| tech_compress tech_compress –>|포함| tech_dynamic_api tech_compress –>|활성화| tech_process_injection tech_process_injection –>|사용| tech_process_hollow tech_process_hollow –>|수집| tech_sysinfo tech_process_hollow –>|발견| tech_browser_info tech_process_hollow –>|탈취| tech_browser_creds tech_process_hollow –>|탈취| tech_file_creds tech_process_hollow –>|탈취| tech_private_keys tech_process_hollow –>|활용| tech_web_cookie "

공격 흐름

시뮬레이션 실행

전제조건: 원격 측정 및 베이스라인 사전 점검을 통과했어야 합니다.

이유: 이 섹션은 탐지 규칙을 트리거하도록 설계된 적의 기술(계획)을 정밀하게 실행합니다. 명령어와 내러티브는 식별된 기술(TTP)과 직접적으로 일치해야 하며, 탐지 논리에 의해 예상되는 정확한 원격 측정을 생성해야 합니다.

  • 공격 내러티브 및 명령어:
    운영자가 엔드포인트를 손상시켜 PureHVNC를 배포했습니다. 이 도구는 세 가지 별개의 WMI 쿼리를 발행하여 시스템 정보를 수집하는 숨겨진 PowerShell 프로세스를 실행합니다:

    1. SELECT Caption FROM Win32_OperatingSystem – OS 버전을 수집합니다.
    2. SELECT * FROM AntiVirusProduct – 설치된 안티바이러스 제품을 나열합니다.
    3. SELECT * FROM Win32_PnPEntity WHERE (PNPClass = 'Image' OR PNPClass = 'Camera') – 연결된 카메라 및 이미지 장치를 발견합니다.
      이 쿼리는 wmic 를 통해 정당한 관리 활동과 혼합되지만, 정확한 문자열은 탐지 규칙의 선정 블록과 일치합니다.
  • 회귀 테스트 스크립트:

    # PureHVNC WMI 쿼리 시뮬레이션 – 탐지 규칙을 발동시킴
    $queries = @(
        "SELECT Caption FROM Win32_OperatingSystem",
        "SELECT * FROM AntiVirusProduct",
        "SELECT * FROM Win32_PnPEntity WHERE (PNPClass = 'Image' OR PNPClass = 'Camera')"
    )
    
    foreach ($q in $queries) {
        # Use wmic to execute the query; wmic prints output to stdout
        wmic /namespace:rootcimv2 path __Namespace where "Name='root'" call CreateInstance $q 2>$null
        # Force a short pause to ensure each event is logged separately
        Start-Sleep -Milliseconds 500
    }
  • 정리 명령어:

    # 임시 파일을 제거하고 지속적인 wmic 프로세스를 종료합니다
    Get-Process wmic -ErrorAction SilentlyContinue | Stop-Process -Force
    # 위 스크립트에 의해 생성된 지속적인 아티팩트는 없습니다.