두 가지 멀웨어 로더 비교: ClickFix 전송에서 C2까지
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
위협 행위자들은 점점 ClickFix 및 TerminalFix 기법을 이용해 Lorem Ipsum 로더와 Axolotl 로더를 포함한 악성 소프트웨어 로더를 전달하고 있습니다. 이러한 로더는 DLL 사이드로딩, MSI 설치 프로그램, Node.js 실행을 통해 랜섬웨어 배포의 전 단계로 자주 사용됩니다. 캠페인에는 ntdll 훅 제거 및 맞춤형 DLL 섹션 내에 포함된 암호화된 페이로드와 같은 고급 회피 기술도 포함됩니다.
조사
연구자들은 Lorem Ipsum 및 Axolotl 로더 샘플을 분석하여 그들의 전달 체인 및 기술적 특성을 조사했습니다. 조사는 트로이 목마화된 MSI 설치 프로그램, 다단계 PowerShell 스크립트, 및 독특한 .cpoc DLL 내에 사용된 리소스 저장 섹션을 밝혀냈습니다. 비교 분석은 또한 두 로더 패밀리 간의 C2 통신, 회피 메커니즘, 지속성 기법의 차이점도 공개했습니다.
완화
조직은 DLL 사이드로딩과 의심스러운 부모-자식 프로세스 관계, 특히 PowerShell이 배치 파일을 실행하는 경우를 위해 Sysmon 원격 관리를 모니터링해야 합니다. MSI 설치 프로그램 실행에 대한 엄격한 통제를 시행하고 사용자 쓰기 가능 디렉터리 내의 서명되지 않은 DLL을 감지하는 것이 권장됩니다. 또한 보안 팀은 Firefox/143와 같은 비정상적인 User-Agents 및 활성 감염과 관련된 의심스러운 C2 등록 패턴을 위한 네트워크 트래픽을 조사해야 합니다.
대응
악성 활동이 감지되면 영향을 받은 호스트를 격리하고 C:WindowsTemp 또는 C:UsersPublic와 같은 사용자 쓰기 가능 디렉토리에 대한 포렌식 분석을 수행합니다. 무작위 이름을 사용하는 예약 작업 및 레지스트리 실행 키를 찾습니다. 알려진 C2 도메인 및 IP 주소를 찾기 위해 DNS 및 프록시 로그를 거슬러 올라가서 타협의 범위를 확인합니다.
공격 플로우
이 부분은 여전히 업데이트 중입니다.
탐지
잠재적 지속성 포인트 [ASEPs – 소프트웨어/NTUSER Hive] (레지스트리 이벤트 통해)
짧은 스크립트 이름 사용에 의한 실행 가능성 (명령줄 통해)
Schtasks가 의심스러운 디렉토리 / 바이너리 / 스크립트를 가리킴 (명령줄 통해)
의심스러운 PowerShell 문자열 (PowerShell 통해)
PowerShell에서 의심스러운 Windows API 함수 호출 (PowerShell 통해)
공용 사용자 프로필 내의 의심스러운 파일 (파일 이벤트 통해)
의심스러운 예약 작업 (감사 통해)
탐지할 IOC (HashSha256): ClickFix에서 C2까지: 두 가지 악성 소프트웨어 로더 비교 분석 2부
탐지할 IOC (HashSha256): ClickFix에서 C2까지: 두 가지 악성 소프트웨어 로더 비교 분석 1부
탐지할 IOC (HashMd5): ClickFix에서 C2까지: 두 가지 악성 소프트웨어 로더 비교 분석
탐지할 IOC (SourceIP): ClickFix에서 C2까지: 두 가지 악성 소프트웨어 로더 비교 분석
탐지할 IOC (DestinationIP): ClickFix에서 C2까지: 두 가지 악성 소프트웨어 로더 비교 분석
스스로 재시작하는 UUID 명명 뮤텍스가 있는 사이드로드 호스트 [Windows 프로세스 생성]
letsdiskuss.com을 통한 악성 요청 및 명령 및 제어 패턴 탐지 [Windows 네트워크 연결]
서명된 Microsoft 실행 파일을 통한 DLL 사이드로딩 및 레지스트리 실행 키 지속성 [Windows Sysmon]
악성 PowerShell 및 DLL 활동 탐지 [Windows PowerShell]
시뮬레이션 실행
-
공격 내러티브 및 명령: 적수는 초기 액세스를 얻었으며 모듈식 악성 소프트웨어 로더를 배포하려고 시도하고 있습니다. 단순 서명 기반 AV를 회피하기 위해, 그들은 PowerShell을 사용하여 맞춤형 로더를 호출합니다. 로더는 특정 런타임 라이브러리 (
libgcc_s_seh-1.dll)를 사용하고 특정 플래그 (-AgentDll)가 메모리에서 페이로드를 초기화하는 데 필요합니다. 공격자의 목표는 이러한 컴포넌트를 PowerShell 기반의 실행 체인을 통해 로드하여 지속적인 C2 연결을 확립하는 것입니다. -
회귀 테스트 스크립트:
# 탐지 검증용 시뮬레이션 스크립트 # 이 스크립트는 Sigma 규칙에 정의된 동작을 모방합니다 $workingDir = $env:TEMP $dllName = "libgcc_s_seh-1.dll" $dllPath = Join-Path $workingDir $dllName Write-Host "[+] 시뮬레이션을 위한 더미 DLL 생성 중..." New-Item -Path $dllPath -ItemType File -Force | Out-Null Write-Host "[+] command line에서 selection1 (DLL 이름) 트리거를 위한 PowerShell 명령 실행 중..." Start-Process powershell.exe -ArgumentList "-Command `& {Write-Output 'Loading $dllPath'}`" -NoNewWindow Write-Host "[+] selection2 (AgentDll 플래그) 트리거를 위한 PowerShell 명령 실행 중..." Start-Process powershell.exe -ArgumentList "-AgentDll -DepsDir C:Temp -Shim" -NoNewWindow Write-Host "[+] 시뮬레이션 완료." -
정리 명령:
# 정리 스크립트 $workingDir = $env:TEMP $dllName = "libgcc_s_seh-1.dll" $dllPath = Join-Path $workingDir $dllName if (Test-Path $dllPath) { Remove-Item -Path $dllPath -Force Write-Host "[+] 더미 DLL 정리 완료." } else { Write-Host "[!] DLL을 찾을 수 없음, 정리할 것 없음." }