Akamai는 Fermyon을 인수해 웹어셈블리 FaaS(Function as a Service)와 Akamai의 전 세계적으로 분산된 플랫폼을 결합합니다. 뉴스 읽기

새롭게 발견된 멀웨어 변종

요나탄 길바그(Yonatan Gilvarg)

Nov 18, 2025

Yonatan Gilvarg

요나탄 길바그(Yonatan Gilvarg)

에 의해 작성

Yonatan Gilvarg

요나탄은 Akamai Hunt팀의 수석 보안 연구원입니다. 요나탄의 전문 분야로는 위협 탐지 및 리서치, 빅 데이터 비정상 탐지, 인시던트 대응 등이 있습니다.

공유

핵심 요약

  • Akamai Hunt는 정상적인 대규모 언어 모델(LLM) API 엔드포인트 뒤에 숨으려는 새로운 멀웨어 변종을 발견했습니다. 

  • 이 멀웨어는 일반적인 스키마를 사용하는 대신 Base64로 인코딩된 것처럼 보이는 문자열을 전송해 명령 및 제어(C2) 연결을 설정합니다.

  • 이것이 악용되면 공격자의 완전한 제어 및 데이터 유출로 이어질 수 있습니다. 

  • 이는 공격자들이 공격 방법론을 빠르게 발전시키고 있음을 보여주는 또 다른 예로, 기업이 이러한 최신 위협에 대비해야 할 필요성을 강조합니다.

서론

위협 환경은 엄청난 속도로 진화하고 있으며 공격자들은 빠르게 적응하고 있습니다. 대규모 언어 모델(LLM)이 기업 내에서 널리 사용됨에 따라 공격자들이 통신 패턴을 파악해 악성 트래픽을 대놓고 보이는 곳에 숨길 수 있게 되었습니다.

보안팀 직원들이 LLM을 사용해 알림을 조사하고, 요약하고, 다양한 지표의 상관관계를 파악함으로써 AI를 탐지 파이프라인에 빠르게 통합하고 있는 동시에 멀웨어 작성자들도 AI를 사용한 실험을 진행하고 있습니다. LameHugPromptLock 같은 멀웨어를 통해 이미 증거가 확인되고 있습니다. 이는 텍스트 생성을 위해 설계된 LLM이 악의적인 목적으로 악용될 수 있음을 보여줍니다.

공격자들이 SesameOp 백도어에서 명령 및 제어(C2) 인프라에 OpenAI의 API를 사용하는 사례도 확인되었습니다. 이는 AI 세상에서 완전히 새로운 공격 표면이 등장했음을 잘 보여줍니다.

최근 Akamai Hunt팀은 악성 트래픽을 수많은 LLM API 요청 속에 심어 LLM 악용에 대한 새로운 접근 방식을 이용하는 새로운 멀웨어를 발견했습니다. 이 블로그 게시물에서 Hunt팀은 Hunt 고객에게 서비스를 제공하는 과정에서 발견한 새로운 위협의 예를 공유합니다.

Akamai Hunt란 무엇일까요?

Akamai HuntAkamai Guardicore Segmentation을 기반으로 하는 위협 헌팅 솔루션이며 호스트, ID, 위협 인텔리전스를 통해 숨겨진 위협을 노출하고, 체계를 강화하고, 차단을 가속합니다. 저희는 Hunt 고객이 아무리 교묘한 위협이라도 이로부터 보호받을 수 있도록 지원합니다.

Akamai Hunt는 신규 또는 기존 Guardicore 고객을 위한 추가 서비스로 제공됩니다. 이러한 위협 및 이와 유사한 위협으로부터 자신을 보호하려면 지금 바로 Hunt에 대해 계정 담당자에게 문의하시기 바랍니다.

엔드포인트 악용

멀웨어에서 새로운 LLM 사용법을 찾아내는 동안 한 파일이 저희의 관심을 끌었습니다. 이 파일은 이미 VirusTotal에서 악성인 것으로 분류되었으며 여러 YARA 룰과 일치했습니다. 조사를 시작하면서 LLM을 통한 또 다른 코드 생성 패턴과 피해자에 대한 코드 실행을 확인하게 될 것으로 예상했습니다.

이 멀웨어는 먼저 소켓을 사용해 IP 주소 39.97.57[.]244에 연결하려고 시도하지만 일단 실패하면 HTTP C2(1347790942-k1bok35vg3.ap-guangzhou.tencentscf[.]com/v1/chat/completions)로 폴백합니다.

API에 대한 첫 번째 HTTP 요청을 관찰한 후, 저희는 해당 요청이 이러한 종류의 요청에 필요한 헤더를 따르지 않는다는 사실에 놀랐습니다.

API 엔드포인트

리서치의 일환으로 LLM API 엔드포인트의 사용법, 특히 /v1/chat/completions를 찾아보았습니다.

OpenAI의 문서에서 볼 수 있듯이 이 엔드포인트는 '지정된 채팅 대화에 대한 모델 응답을 생성합니다'(그림 1 및 그림 2).

curl https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-5",
    "messages": [
      {
        "role": "developer",
        "content": "You are a helpful assistant."
      },
      {
        "role": "user",
        "content": "Hello!"
      }
    ]
  }'
Fig. 1: Example POST request to api.openai.com/v1/chat/completions
{
  "id": "chatcmpl-B9MBs8CjcvOU2jLn4n570S5qMJKcT",
  "object": "chat.completion",
  "created": 1741569952,
  "model": "gpt-4.1-2025-04-14",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I assist you today?",
        "refusal": null,
        "annotations": []
      },
...
Fig. 2: Example response

/v1/chat/completions 엔드포인트는 OpenAI에 의해 도입되었으며, OpenAI 호환 API를 제공하는 여러 공급업체와 게이트웨이(예: OpenRouter 및 Hugging Face)에 의해 빠르게 에뮬레이션되었습니다.

그러나 유사한 요청 스키마에도 불구하고 다른 벤더사의 공식 API는 서로 다른 네이티브 엔드포인트를 사용하거나 매개변수, 인증, 스트리밍 동작이 다를 수 있습니다.

요청 스키마

일반적으로 이 API를 사용할 때는 다음과 같은 필수 매개변수를 추가해야 합니다.

  • 권한 부여: 요청을 인증하려면 '권한 확인: 베어러 YOUR_API_KEY' 형식의 베어러 토큰 헤더가 필요함

  • 모델: 엔드포인트가 요청을 라우팅할 채팅 가능 모델(예: gpt-3.5-turbo 또는 Llama-4-Maverick-17B-128E-Instruct-FP8)을 선택하는 문자열 식별자

  • 메시지: 모델이 다음 회신을 생성하는 데 사용할 대화 기록을 나타내는 역할 태그가 지정된 메시지 오브젝트 배열(역할 및 콘텐츠 포함)

앞서 언급했듯이, 저희는 이 엔드포인트가 실제로 악의적으로 사용되는 것을 이미 목격했습니다. LameHug가 그 예입니다. 멀웨어 작성자는 동일한 엔드포인트를 사용해 Hugging Face에서 LLM 모델에 접속한 후 특정 명령어를 요청하고 피해자에 대해 실행할 코드를 동적으로 생성했습니다(그림 3).

채팅 완료를 통한 위장

저희가 이 바이너리를 분석할 때 처음으로 알아낸 것은 해당 바이너리가 언급된 필드 중 어떤 것도 사용하지 않는다는 사실이었습니다. 대신 이 바이너리는 Base64로 인코딩된 것처럼 보이는 문자열을 보냅니다(그림 4).

이론적으로 이 API 뒤에는 LLM이 있을 수 있습니다. 즉, 공격자가 맞춤형 코드를 사용해 서버 측에서 프롬프트를 만들 수 있습니다. 그러나 이 경우 이 API 엔드포인트를 사용하는 이유는 위장하기 위해서이기도 합니다.

Akamai API Security 제품의 데이터를 관찰한 결과, 고객으로부터 151개의 고유한 엔드포인트를 확인했습니다. 이러한 엔드포인트의 모든 대화는 해당 스키마와 유사했습니다. 일부 API는 'messages' 대신 'query'를 사용하지만 모든 세션 내에 매우 명확한 유사점이 존재합니다.

이는 모든 사람이 /v1/chat/completions 엔드포인트를 자체적으로 개발할 수 있고 이 엔드포인트와 관련된 RFC(Request for Comments)가 없지만 개발자들이 사용하는 사실상의 표준이 여전히 존재한다는 것을 의미합니다.

추가 리서치

본문을 디코딩하고 0xBB로 XOR한 후, 저희는 피해자에 대해 수행된 잠재적 첫 번째 정찰 요청을 발견했습니다.

저희는 응답의 구문 분석 프로세스를 따라 멀웨어가 원래 API 스키마와 일치하지 않는 응답을 요청한다는 사실을 관찰했습니다. 이는 XOR 및 Base64를 사용해 수신된 데이터를 해독해 처리한 다음 응답에 제공된 명령을 따릅니다(그림 5).

C2 서버 1347790942-k1bok35vg3.ap-guangzhou.tencentscf[.]com은 Tencent에서 운영하는 클라우드 컴퓨팅 서비스인 Tencent Cloud의 서버리스 클라우드 기능(AWS Lambda 또는 Azure Functions와 유사)입니다. 공격자는 클라우드 기능을 C2 서버로 사용해 안정적이고 정상 트래픽과 구분하기 어려운 자동 확장 인프라를 실행할 수 있습니다.

AI 에이전트, 통합, 자동화 툴이 등장하면서 이러한 API 엔드포인트의 사용이 점차 보편화됨에 따라 공격자들이 보안팀 직원 및 네트워크 관리자에게 더 정상적인 것처럼 보이기 위해 이 특정 엔드포인트를 노출하기로 선택한 것이라고 추측됩니다.

이 멀웨어는 여러 가지 명령을 지원하므로 피해자에 대한 완전한 원격 제어 기능을 갖춘 원격 접속 트로이 목마(RAT)로 분류됩니다. Akamai는 이 멀웨어가 모두 동일한 엔드포인트와 통신하는지 확인하기 위해 분석을 실시했습니다(분석 정보는 부록 참조).

예를 들어, 그림 6은 $HunterInfo 명령의 아웃풋입니다. 이는 특정 원격 접속 툴의 설정 파일을 찾고 첫 번째 메시지가 전송되는 방식과 동일하게 /v1/chat/completions로 데이터를 유출합니다(XOR 및 Base64 사용).

이 멀웨어에는 0x88로 XOR되고 Base64로 인코딩된 세 개의 임베딩된 파일도 포함되어 있습니다.

모두 net_test.exe라는 이름의 .NET 파일입니다. 세 파일은 함께 피해자의 네트워크에서 SOCKS5 또는 HTTP를 사용해 작은 프록시 툴킷을 오케스트레이션합니다. 파일 중 두 개는 SOCKS5 및 HTTP 서버이고, 세 번째는 트래픽을 수신하고 전달할 수 있는 클라이언트입니다(그림 7).

추가 파일

저희는 이 멀웨어의 이전 변종을 발견했습니다(이 게시물의 IOC 섹션에서 해시 참조). 이전 변종의 경우 비슷한 명령을 가지고 있었고 여러 원격 접속 툴($HunterInfo)과 동일한 하드 코딩된 경로를 가지고 있었지만 C2 서버는 달랐습니다.

또한 VirusTotal에서 C2 서버와 관련된 RAR 파일을 발견했습니다. 이 RAR에는 .lnk 파일(个人简历.lnk, '이력서' 또는 'CV'로 번역됨)이 포함되어 있으며, ftp -s””:_/_/_/_/_/_/_/_/_를 실행합니다. 이 RAR의 경우 중첩된 디렉터리 안에 .doc 파일도 포함되어 있지만 해당 콘텐츠는 바이너리 코드입니다(그림 8).

'_' 파일은 문서를 세 개의 PE 파일로 구성하고 그러한 파일을 C:\Users\Public\Update에 복사합니다.

그리고 결국에는 다음을 호출합니다.
!call start /min C:\Users\Public\Update\svchost.exe -InstallLsp 

C:\Users\Public\Update\360.%TIME:~4,1% >nul(그림 9)

10개의 서로 다른 .doc 파일(0–9.doc)이 있으며, 이는 일부 무작위 바이트를 제외하고 유사합니다. %TIME:~4,1%는 %H:%M:%S.%f 포맷에서 현재 분의 두 번째 숫자를 계산합니다. 해당 문서는 MZ 헤더를 건너뜁니다. 아마도 시그니처 스캔을 피하기 위해서인 것으로 보입니다. 스크립트는 현재 시간을 기준으로 문서 파일에 헤더를 구성하고 이를 C:\Users\Public\Update\360.<minute>에 복사합니다.

svchost.exe

이 파일은 사실 Sangfor Technologies의 검증되고 서명된 파일인 'SangforPromote.exe'입니다. 인수 -InstallLsp 및 DLL을 지정하면 정상적인 파일이 DLL을 로딩하고 해당 내보내기로 포인터를 설정합니다(LoadLibrary 사용)(그림 10).

360 DLL

360이라는 DLL은 읽기, 쓰기, 실행(RWX) 권한으로 메모리를 할당하고 'sc'를 읽은 다음 실행합니다.

sc

로딩된 코드는 sc를 분석하며 LoadLibrary 및 GetProcAddress를 사용해 함수를 확인합니다. 여기에는 HTTP 요청을 전송하는 하드 코딩된 두 개의 목적지가 있으며, 이는 저희가 분석한 멀웨어의 C2 주소와 일치합니다.

  1. https://1347790942-k1bok35vg3.ap-guangzhou.tencentscf[.]com

  2. 39.97.57[.]244

또한 해당 코드는 이전 샘플과 마찬가지로 Base64와 XOR로 데이터를 디코딩해 툴세트 간의 연결을 만듭니다. 저희는 이 흐름으로 인해 최종 RAT가 피해자의 파일 시스템으로 다운로드된다고 생각합니다(그림 11).

  • LLM 파악: 기업에서 LLM의 중요성이 나날이 증가하고 있기 때문에 공격자들은 다양한 방식으로 LLM을 활용하기 위해 환경에 적응해 나갈 것입니다. 아직 알려지지 않은 방법도 있습니다. 어떤 엔드포인트를 최대한 많이 사용해야 하는지 알고 섀도 AI 계획을 구축하는 것이 중요합니다. 

  • LLM 엔드포인트에 대한 네트워크 트래픽 모니터링 및 검사: /v1/chat/completions 또는 기타 비정상적인 AI API 엔드포인트, 특히 비표준 도메인으로 전달되는 엔드포인트에 대한 비정상 또는 무단 아웃바운드 요청을 탐지합니다. API 요청 스키마에서 누락되거나 잘못된 모델, 메시지 또는 권한 확인 헤더 같은 일반적인 포맷과 다른 부분이 있는지 검사합니다.

  • 파일 모니터링: C:\Users\Public과 같은 의심스러운 경로에서 새로 생성된 파일을 모니터링합니다. 이러한 종류의 경로는 공격자가 파일을 심기에 좋습니다.

Akamai Hunt 보호 및 방어

Akamai Hunt 고객은 이러한 아티팩트를 연중무휴 24시간 지속적으로 모니터링함으로써 관련 공격을 방어할 수 있습니다(그림 12).

Hunt의 적응형 세그멘테이션 기능은 활성 위협이 탐지되기 전에도 기업이 노출을 줄이고 리스크를 차단하는 데 도움이 됩니다. 적응형 세그멘테이션은 정상적인 통신 흐름과 자산 행동을 분석함으로써 AI 엔드포인트에 대한 불필요한 아웃바운드 접속을 제한하고, 개발 및 프로덕션 환경을 격리하고, 잠재적인 측면 이동 경로를 최소화하는 정책을 안내할 수 있습니다.

이 기능은 지속적인 가시성을 새로운 LLM 기반 위협에 대한 선제적 안정성으로 전환해 탐지 범위를 넘어 Hunt의 보호 역량을 확장합니다.

결론

공격자는 LLM 서비스의 보편성과 급속한 발전을 악용해 /v1/chat/completions 엔드포인트를 통해 유출과 C2를 라우팅하려는 전략적 결정을 내립니다. 이 접근 방식은 기존 클라우드 인프라를 활용해 정상적인 기업 트래픽에 자연스럽게 침투하는 통신 채널을 구축하므로 높은 잠재적 ROI를 제공합니다. 

이 기법이 현대 환경에 널리 퍼진 다음과 같은 세 가지 트렌드에 맞아떨어지면서 위험이 생겨납니다. 이 세 가지 트렌드로 인해 표면적 검사에서 정상으로 보이는 안정적이고 은밀한 C2 경로가 공격자에게 제공될 수 있습니다.

  1. 광범위하고 종종 검사되지 않는 클라우드 API에 대한 아웃바운드 HTTPS

  2. 머신 생성 트래픽(AI 에이전트, 앱, 통합)에 대한 허용 범위 증가

  3. 공격자가 사용할 수 있는 안정적이고 수명이 긴 엔드포인트를 제공하는 클라우드 호스팅의 간편한 가용성 

보안팀 직원들이 LLM의 작동 방식과 LLM이 유발하는 위협에 대해 현장에서 학습하고 있는 것이 현실입니다. 트래픽이 충분히 정상적인 것으로 보이면 적절한 보호 조치 없이 통과할 가능성이 있습니다. 때로는 대놓고 보이는 곳에 숨어 있는 것이 가장 쉬운 방법일 수도 있습니다. 

정상적인 LLM 서비스로 향하는 트래픽 내부에 악성 페이로드를 숨김으로써 점점 더 흔해지고 있는 네트워크 패턴에 편승해 통신이 탐지되거나 조사될 가능성이 낮아지게 됩니다. 많은 기업이 AI 툴과 자동화를 도입함에 따라 LLM 엔드포인트로 향하는 트래픽이 일반적인 사례로 전환되고 있으며, 이러한 상황 속에서 공격자들은 기회를 찾고 있습니다.

IOC

IOC

유형

93cf0d545a872c393c053031570bc5eaebfa1aa6a0860fd0b08b679b8ce52fd2 - RAT

해시

10c444262994c05930394388e6112ddd98b83118661868bccd83b1fa61160a62 - 1.rar

해시

91c43e7ddd98af63d6b1b130e997b909100f3eaf71e30511858cca4348b509db - _

해시

9f119d05403b1e079893fb77f6b8b2a9682d1df7ced31a189e7490924ccfb170 - 个人简历.lnk

해시

b7dcf661844e6f3e94eb140a79787be6dad77c09ab0b97cf41a62afd07219190 - 이전 변종, 2025년 5월

해시

2e395436e97eaad9a087825d22005b6afc55044abf458604a5118c2ac9bde42a - 이전 변종, 2025년 9월

해시

67ea3ea3c58a57dbbdac48d4ce3d546816f715eaf32bec33a64a63c91541e697 - net_test.exe(클라이언트)

해시

195c283703ee7df7c7ef17c85b0fdf88de22348bb0755daf5f0c3ed319c8d88a - net_test.exe(SOCKS5 서버)

해시

e513d12abd03a4e07788dd85888d187cb6ca6e69a59f22f00853cae0a0b34712 - net_test.exe(HTTP 서버)

해시

1347790942-k1bok35vg3.ap-guangzhou.tencentscf[.]com/v1/chat/completions

URL

39.97.57[.]244

IP

C:\Users\Public\Update

디렉터리

부록

명령

설명

$ActiveDos

현재 디렉터리를 반환합니다.

$AddUser

새로운 로컬 사용자를 만들어 관리자 그룹에 추가합니다.

$ExecuteCommand

명령어를 실행합니다.

$FileDelete

파일을 삭제합니다.

$FileDownLoad \ $BigFileDownLoad

피해자의 머신에서 파일을 다운로드합니다.

$FileExist

파일이 있는지 여부를 반환합니다. 

$FileUpload \ $BigFileUpload

피해자의 파일 시스템에 파일을 씁니다.

$Get_LocalDisk

피해자의 드라이브를 가져옵니다.

$GetFile

파일 데이터를 가져옵니다(크기, 타임스탬프).

$GetFolder

특정 디렉터리의 폴더를 나열합니다.

$GetFolderAndFile

폴더를 나열하고 파일을 가져옵니다.

$GetProcess

프로세스를 나열합니다.

$GetThreadPermissionsInfo

멀웨어 프로세스의 정보를 스레드로 만듭니다.

$HunterInfo

360 Secure Browser, SunLogin, ToDesk, NetSarang 및 Chrome의 데이터를 탈취합니다.

$KillProcess

지정된 PID로 프로세스를 종료합니다.

$MessageBox

제공된 문자열이 있는 메시지 상자를 표시합니다.

$Netstat

활성 연결을 확인하기 위해 netstat를 수행합니다.

$OffLine

프로세스를 종료합니다.

$Online

피해자의 초기 데이터를 다시 전송합니다(그림 4).

$PE64Loader

explorer.exe를 생성하고 여기에 셸코드 로더를 삽입합니다.

$PEMemoryLoadOnSelf

버퍼에서 코드를 로딩합니다. 이 멀웨어는 'JuicyPotato' 또는 'PwDump'와 같이 수신된 여러 인수를 확인하고 이 이름으로 환경 변수를 설정하므로 이를 '모듈' 또는 플러그인으로 사용할 수 있다고 판단됩니다.

$Persistence

C2로부터 DLL을 수신합니다.

  • C:\Users\Public\WinVer[3digits].dll에 쓴 다음 CLSID\{054D1B2B-DDA8-4B1A-BDA8-A6DADB60CAA8}\InProcServer32 또는 CLSID\{B4E15CD0-F916-4C8E-830A-15E3E9D01A1B}\InprocServer32에 등록

  • C:\Users\Public\[digit].dll에 쓴 다음 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers에 등록

예약된 작업을 생성할 수도 있습니다.

$ProgressSpawn

C:\Users\Public 아래에서 페이로드를 만들거나 검증하고 인수에 따라 ShellExecute, -InstallLsp 또는 인메모리 로딩과 같은 다양한 방법을 통해 실행합니다.

$RegManage

구축되지 않은 것으로 보입니다.

$ScreenShot

스크린샷을 찍습니다.

$ScreenSpy

피해자가 TightVNC를 가지고 있다는 가정 하에 원격 제어를 활성화하기 위해 또는 공격의 이전/향후 단계를 위해 TightVNC 레지스트리 키를 변경합니다.

요나탄 길바그(Yonatan Gilvarg)

Nov 18, 2025

Yonatan Gilvarg

요나탄 길바그(Yonatan Gilvarg)

에 의해 작성

Yonatan Gilvarg

요나탄은 Akamai Hunt팀의 수석 보안 연구원입니다. 요나탄의 전문 분야로는 위협 탐지 및 리서치, 빅 데이터 비정상 탐지, 인시던트 대응 등이 있습니다.

태그

공유

관련 블로그 게시물

보안 리서치
SessionReaper(CVE-2025-54236), 이번 가을에 새롭게 등장한 취약점
Akamai 연구원들이 SessionReaper의 공격 활동과 이를 방어하는 방법에 대해 작성한 보고서를 읽어보세요.
보안 리서치
2025년 온라인 사기 및 악용: 상황을 주도하는 AI
November 04, 2025
2025년 마지막 SOTI 보고서에서는 확장되는 사기 및 악용 환경과 이것이 주요 업계 및 지역에 미치는 영향을 심층적으로 살펴봅니다.
사이버 보안
Docker 주의보: 노출된 API를 표적으로 삼는 새로운 멀웨어 변종
September 08, 2025
Akamai Hunt가 발견한, 노출된 Docker API를 표적으로 하는 최신 멀웨어 변종에 대해 확인하세요. 기술 세부 정보와 방어 전략에 대해 알아보세요.