배치 파일 그 이상

Aryaka 위협 연구소는 Donut 셸코드를 전달하고 정상적인 Windows 프로세스 내에 메모리 상주형 .NET 임플란트를 설치하는, 고도로 난독화된 Windows 배치 스크립트를 분석했습니다.

위협 캠페인 개요

이 감염은 변수 대체, 무작위화된 레이블, 제어 흐름 난독화 및 가짜 명령어를 사용하여 자신의 동작을 숨기는 악성 배치 스크립트로 시작됩니다. 이 스크립트는 분석 시스템을 회피하기 위해 환경 검사를 수행한 후, C:\ProgramData\IntelDriver에 숨겨진 스테이징 디렉터리를 생성합니다. 이 악성코드는 내장된 페이로드를 재구성하고, HDVz.exe로 이름이 변경된 powershell.exe 사본을 사용하여 후속 단계를 실행합니다. 지속성은 사용자 로그온 시 악성코드를 은밀하게 실행하는 예약된 작업을 통해 확보됩니다. 복구된 PowerShell 로더는 주로 explorer.exe에 Donut 셸코드를 주입하여, 최종 .NET 임플란트가 신뢰할 수 있는 Windows 프로세스 내에서 메모리 상에서 실행되도록 합니다.

주요 결과

DonutLoader 캠페인의 특징은 아래를 참조하십시오.

  • 사용자 이름, 파일 시스템 흔적 및 사용 가능한 시스템 메모리를 기반으로 한 분석 방지 검사: 이 악성코드는 실행 전에 사용자 이름, 특정 파일 및 시스템 메모리를 검사하여 가상 머신, 샌드박스 또는 분석 환경의 흔적이 있는지 확인합니다.
  • 이미지 파일 확장자로 위장한 Donut 셸코드 및 암호화된 PowerShell 콘텐츠: 이 페이로드는 탐지를 회피하고 악성 콘텐츠를 숨기기 위해 Donut으로 생성된 셸코드와 이미지 파일처럼 보이는 확장자 뒤에 숨겨진 암호화된 PowerShell 스크립트를 사용합니다.
  • 은폐된 실행 수단으로 사용되는 이름이 변경된 PowerShell 바이너리: 이 악성코드는 표준 PowerShell 실행 파일을 직접 실행하는 대신, 파일 이름을 변경하여 악성 실행이 덜 의심스럽게 보이게 하고 간단한 보안 검사를 우회합니다.
  • VBS 런처를 통한 예약 작업 지속성: 이 악성코드는 Visual Basic Script(VBS)를 실행하는 예약 작업을 생성하여, 시스템 재부팅이나 사용자 로그온 후에도 자동으로 다시 실행되도록 합니다.
  • explorer.exe에 셸코드 주입 및 추가 대체 대상: 이 악성코드는 자신의 활동을 숨기기 위해 신뢰할 수 있는 explorer.exe 프로세스에 악성 셸코드를 주입하며, 주 대상이 사용 불가능할 경우 대체 프로세스를 이용합니다.
  • 보안 가시성 저하를 위한 AMSI 및 ETW 조작: 이 악성코드는 보안 도구에 의해 탐지될 가능성을 낮추기 위해 AMSI(Antimalware Scan Interface) 및 ETW(Event Tracing for Windows)를 비활성화하거나 우회합니다.
  • 명령 및 제어 활동과 관련된 난독화된 .NET 구성 요소:
    해당 악성코드는 명령 및 제어(C2) 서버와 통신하는 기능을 숨기기 위해 고도로 난독화된 .NET 코드를 사용합니다.
  • 텔레그램을 통한 실행 알림 및 원격 인프라와의 외부 통신: 실행 시, 이 악성코드는 텔레그램을 통해 상태 알림을 전송하고, 명령을 수신하거나 탈취한 정보를 전송하기 위해 원격 서버와 통신합니다.

주목할 만한 연구 결과: 맞춤형 주사 추적

눈에 띄는 발견 사항은 ‘DE AD BE CA FE BA EF’라는 맞춤형 메모리 마커였습니다. 이 악성코드는 주입될 셸코드 바로 앞에 이 마커를 배치하고, 셸코드 주입 전에 후보 프로세스에서 해당 마커가 있는지 스캔합니다. 이를 통해 로더는 이전에 주입된 프로세스를 식별하고, 셸코드의 중복 배포를 방지하며, 프로세스 불안정성 위험을 줄일 수 있습니다. 또한 이 마커는 보안 담당자들에게 메모리 기반의 유용한 위협 탐지 지표 역할을 합니다.

조종사 간 통신 및 지휘·통제 활동

실행 과정에서 curl.exe는 하드코딩된 봇 토큰과 채팅 ID를 사용하여 텔레그램 봇 API의 /sendMessage 엔드포인트로 HTTP POST 요청을 전송합니다. 이 요청에는 악성코드의 성공적인 실행을 확인하고, 운영자가 제어하는 텔레그램 채널을 통해 활성 감염 상황을 모니터링하고 있음을 나타내는 운영자 알림이 포함되어 있습니다. 프로세스 주입 후, .NET 임플란트는 아웃바운드 TCP를 통해 167.88.167.9:8356에 연결을 시도하는데, 이는 전용 명령 및 제어 채널이 존재함을 시사합니다. 분석 당시 원격 인프라에 접속할 수 없었기 때문에, 운영자의 작업 내용과 감염 후의 전체 기능을 평가할 수 없었습니다.

방어 측면에서의 고려 사항

조직에서는 이름이 변경된 PowerShell 바이너리, ProgramData 내의 숨겨진 디렉터리, 의심스러운 예약된 작업, 사용자가 쓰기 권한이 있는 위치에서의 스크립트 실행, 프로세스 주입 활동, 비공개 실행 파일 메모리, AMSI 또는 ETW 기능의 변경 사항 등을 모니터링할 것을 권장합니다. 또한 엔드포인트 활동은 비정상적인 Telegram Bot API 요청 및 explorer.exe와 같은 신뢰할 수 있는 프로세스에서 발생하는 외부 연결과 상호 연관성을 분석해야 합니다. 행동 기반 상관 분석은 파일 이름, 해시, IP 주소 또는 기타 개별 지표에만 의존하는 것보다 더 강력한 탐지 방식을 제공합니다.

종합 기술적 분석

Aryaka 위협 연구소의 전체 보고서에는 다음과 같은 내용을 포함하여 감염 경로에 대한 상세한 기술적 분석이 담겨 있습니다:

  • 배치 스크립트의 난독화 해제 및 제어 흐름 복원
  • 분석 회피 및 환경 검증 행동
  • 임베디드 페이로드 재구성 및 복호화
  • PowerShell 로더 분석
  • 예약된 작업의 지속성
  • 도넛 쉘코드 복구
  • 공정 주입 워크플로우
  • 주입 마커 분석
  • AMSI 및 ETW 조작
  • 회수된 .NET 임플란트 분석
  • 텔레그램 알림 및 명령·제어 활동
  • 침해 징후
  • MITRE ATT&CK 매핑
  • 방어 및 위협 탐지 지침

전체 보고서는 여기에서 다운로드하세요: Donutloader 다단계 로더 보고서