PavinLoader, ClickFix 및 가짜 다운로드 유인물로 확산
Detection stack
- AIDR
- Alert
- ETL
- Query
개요
PavinLoader는 ClickFix와 가짜 소프트웨어 다운로드 작업을 포함한 여러 캠페인에서 관찰된 다단계 .NET 로더입니다. 주로 난독화된 DLL, MSBuild의 오용, 그리고 블록체인 인프라를 통해 명령 및 제어 세부 정보를 불러오는 EtherHiding을 사용합니다. 주요 목적은 Amatera 스틸러와 같은 2차 페이로드를 전달하는 것입니다.
조사
조사는 트로이 목마화된 .NET DLL 및 MSBuild와 같은 합법적인 Windows 유틸리티의 오용을 중심으로 한 일관된 감염 체인을 확인했습니다. 연구원들은 PavinLoader가 전통적인 네트워크 검출을 회피하기 위해 블록체인 기반의 EtherHiding을 어떻게 사용하는지를 문서화했습니다. 다양한 단계들에 대한 분석은 고급 분석 방지, 포렌식 방지, 사용자 정의 난독화 기법도 드러냈습니다.
완화
조직은 의심스러운 MSBuild 활동과 비정상적인 .csproj or .bat 파일 실행을 모니터링해야 합니다. 엄격한 애플리케이션 제어는 비허가 DLL 로드를 방지하는 데 도움이 되며, 네트워크 모니터링은 블록체인 RPC 엔드포인트로의 예상치 못한 연결을 감지해야 합니다. .lat, .icu, .lat, .icu 및 .shop 와 같은 알려진 악성 TLD를 차단함으로써 노출을 줄일 수 있습니다.
대응
PavinLoader 활동이 감지되면, 영향을 받은 호스트는 Amatera 스틸러에 의한 수평 이동이나 데이터 유출을 방지하기 위해 즉시 격리해야 합니다. 대응자는 메모리 포렌식을 수행하여 삽입된 .NET 코드를 식별하고, 시스템 프록시 설정을 점검하여 비인가 변경이 있는지 확인해야 합니다. 네트워크 로그도 이미 알려진 C2 도메인과 블록체인 관련 RPC 활동에 대한 연결에 대해 검사해야 합니다.
공격 흐름
우리는 이 부분을 계속 업데이트하고 있습니다.
탐지
LOLBAS Conhost (cmdline을 통한)
Powershell에서 의심스러운 .NET 메서드 호출 (powershell을 통해)
명령 및 제어 채널로서의 텔레그램 악용 가능성 (dns_query를 통해)
시도된 IP 조회 도메인 통신 가능성 (dns를 통해)
특이한 최상위 도메인 (TLD) DNS 요청에 의한 의심스러운 명령 및 제어 (dns를 통해)
IOCs (HashSha256) 탐지: ClickFix 및 가짜 다운로드 캠페인에서 PavinLoader 추적
IOCs (SourceIP) 탐지: ClickFix 및 가짜 다운로드 캠페인에서 PavinLoader 추적
IOCs (DestinationIP) 탐지: ClickFix 및 가짜 다운로드 캠페인에서 PavinLoader 추적
PavinLoader 실행 감지: MSBuild 및 난독화된 BAT를 사용한 [Windows 프로세스 생성]
시뮬레이션 실행
필수 조건: Telemetry & Baseline Pre-flight Check가 통과해야 합니다.
근거: 이 섹션은 탐지 규칙을 시작하는 상대의 기법(TTP)의 정확한 실행을 상세히 설명합니다. 명령과 서술은 반드시 식별된 TTP를 직접 반영해야 하며, 탐지 논리가 기대하는 정확한 원격 측정을 생성해야 합니다. 추상적이거나 관련 없는 예시는 잘못된 진단을 초래할 것입니다.
-
공격 서사 및 명령: 적수는 “ClickFix” 사회 공학적 수법을 사용하여 PavinLoader를 배포하려고 합니다. 탐지를 피하기 위해 드라이버 업데이트로 위장한 악성 페이로드를 다운로드합니다. 그들은 가짜로
Conexant디렉토리에 배치 스크립트를 배치합니다AppData. 이후에MSBuild.exe를 사용하여 이 배치 스크립트를 실행하고 Microsoft의 합법적인 컴파일러를 활용하여 난독화된 명령을 실행하여 간단한 실행 제한을 회피하고 시스템 잡음에 섞입니다. -
회귀 테스트 스크립트:
# PavinLoader 시뮬레이션 스크립트 $userProfile = $env:USERPROFILE $targetDir = "$userProfileAppDataLocalConexantlite_bootstrap_2.1.7" $batFile = "$targetDirupdater_8219.cmd" # 1. 가장된 디렉토리 구조 생성 New-Item -Path $targetDir -ItemType Directory -Force # 2. 악성 배치 파일 생성 (난독화 논리 시뮬레이션) "@echo off`ncall $batFile /launched" | Out-File -FilePath $batFile -Encoding ascii # 3. 지표 3 트리거: 배치 파일을 실행하는 MSBuild Write-Host "[+] 지표 3 시뮬레이션: MSBuild 실행 중" Start-Process "C:WindowsMicrosoft.NETFramework64v4.0.30319MSBuild.exe" -ArgumentList "`"$batFile`"" -Wait # 4. 지표 4 트리거: 헤드리스 conhost 실행 Write-Host "[+] 지표 4 시뮬레이션: 헤드리스 conhost 실행 중" Start-Process "C:WindowsSystem32conhost.exe" -ArgumentList "--headless cmd.exe /c `"$batFile`" /launched" -
정리 명령:
# 시뮬레이션 아티팩트 정리 $userProfile = $env:USERPROFILE $pathsToCleanup = @( "$userProfileAppDataLocalLogitech", "$userProfileAppDataLocalConexant" ) foreach ($path in $pathsToCleanup) { if (Test-Path $path) { Remove-Item -Path $path -Recurse -Force Write-Host "[+] $path 제거 완료" } }