cd ../blog
MITRE

Lua 스크립트 공격: 탐지를 우회하는 경량 악성코드의 원리 | T1059.011

읽는 시간 약 6분
조회수 10
MITRE ATT&CK악성코드 분석공격 기법보안 위협탐지 회피

Lua 스크립트 공격(T1059.011)으로 2014년 EvilBunny부터 2024년 ArcaneDoor까지 실제 피해 사례를 분석합니다. 보안 솔루션의 사각지대를 악용한 공격 원리와 즉시 적용 가능한 대응 방안을 확인하세요.

share:
Lua 스크립트 공격: 탐지를 우회하는 경량 악성코드의 원리 | T1059.011

MITRE ATT&CK: T1059.011 (Lua) | 전술: Execution | 플랫폼: Linux, macOS, Windows

도입: 왜 이 공격이 중요한가

2014년 보안 업계를 충격에 빠뜨린 EvilBunny 악성코드가 발견되었을 때, 연구자들은 한 가지 특이한 점을 발견했습니다. 이 악성코드는 Lua 5.1 인터프리터를 내장하여 런타임에 공격자가 전송하는 Lua 스크립트를 실행할 수 있었던 것입니다. 대부분의 보안 솔루션이 PowerShell이나 Python 같은 주요 스크립팅 언어에만 집중하고 있던 시기, 공격자들은 이미 상대적으로 덜 알려진 Lua를 악용하기 시작했습니다.

Lua 는 임베디드 애플리케이션을 위해 설계된 경량 스크립팅 언어로, 게임 개발부터 네트워크 장비 설정까지 다양한 용도로 사용됩니다. 하지만 공격자들은 이러한 Lua의 특성을 악용하여 탐지를 회피하면서도 강력한 공격 코드를 실행하고 있습니다.


1. 공격자 관점

왜 이 기법을 사용하는가

  • 낮은 탐지율: 대부분의 보안 솔루션이 PowerShell, Python에 비해 Lua 스크립트 모니터링에 소홀함
  • 임베디드 실행: 악성코드에 Lua 인터프리터를 내장하여 외부 의존성 없이 스크립트 실행 가능
  • 런타임 유연성: C2 서버에서 새로운 Lua 스크립트를 전송하여 공격 방식을 실시간으로 변경 가능

동작 흐름

💡 쉬운 비유: 마치 스마트폰에 새로운 앱을 설치하지 않고도, 메신저로 받은 미니 프로그램을 바로 실행할 수 있는 것과 같습니다.


2. 실제 공격 사례

📌 EvilBunny - 표적형 공격 캠페인 (2011-2014)

배경: 2011년경부터 발견된 EvilBunny는 샌드박스 회피와 안티바이러스 탐지를 목적으로 설계된 고도화된 악성코드입니다. 특정 조직을 표적으로 한 APT 공격에서 사용되었습니다.

공격 과정:

  1. 드로퍼 실행: C++로 작성된 다중 스레드 드로퍼가 시스템에 설치됨
  2. Lua 인터프리터 활성화: 내장된 Lua 5.1 인터프리터를 통해 공격자가 전송하는 스크립트 실행
  3. 동적 행동 변경: 런타임에 새로운 Lua 스크립트를 받아 공격 방식을 실시간으로 조정

피해 규모: 정부 기관 및 주요 기업을 대상으로 한 장기간 스파이 활동에 사용

출처: EvilBunny: Malware Instrumented By Lua

📌 ArcaneDoor - 네트워크 장비 표적 공격 (2024)

배경: 2024년 발견된 ArcaneDoor 캠페인은 국가 후원 공격 그룹이 전 세계 정부 기관과 핵심 인프라의 경계 네트워크 장비를 표적으로 한 첩보 활동입니다.

공격 과정:

  1. 네트워크 장비 침투: Cisco ASA VPN 등 경계 네트워크 장비의 취약점 악용
  2. Line Runner 배포: Lua 스크립트를 활용한 백도어 Line Runner 설치
  3. 지속적 감시: Lua 스크립트를 통해 네트워크 트래픽 모니터링 및 데이터 탈취

피해 규모: 전 세계 정부 기관 및 핵심 인프라 네트워크 다수 침해

출처: ArcaneDoor - New espionage-focused campaign found targeting perimeter network devices

📌 PoetRAT - 아제르바이잔 표적 공격 (2020)

배경: PoetRAT는 아제르바이잔의 공공 및 민간 부문을 표적으로 한 지속적 위협 공격에서 사용된 악성코드로, 다단계 공격 체인의 일부로 Lua를 활용했습니다.

공격 과정:

  1. 초기 침투: 스피어피싱 이메일을 통한 초기 접근
  2. Lua 스크립트 실행: Windows용 Lua 인터프리터를 통해 페이로드 실행
  3. 정보 수집: 시스템 정보 수집 및 추가 공격 모듈 다운로드

피해 규모: 아제르바이잔 내 정부 기관 및 주요 기업 다수 피해

출처: PoetRAT: Malware targeting public and private sector in Azerbaijan evolves


3. 왜 탐지가 어려운가?

공식 탐지 방법

  • DET0101 Lua 스크립팅 남용 탐지 전략 - AN0278: Lua 인터프리터나 스크립트(.lua) 실행을 탐지하며, 특히 의심스러운 부모 프로세스나 파일 드롭 이벤트와 연관될 때 악성 임베디드 스크립팅 사용을 나타냄

공격자가 이 기법을 선호하는 이유

  • 보안 도구의 사각지대: 대부분의 EDR과 안티바이러스가 PowerShell, Python에 비해 Lua 모니터링에 소홀함
  • 정상 활동과의 혼재: 게임이나 네트워크 장비에서 Lua가 정상적으로 사용되어 악성 활동 구분이 어려움
  • 메모리 내 실행: 스크립트를 디스크에 저장하지 않고 메모리에서 직접 실행하여 파일 기반 탐지 회피

탐지의 현실적 한계

공식 탐지 방법이 있음에도 불구하고 실제 환경에서는 다음과 같은 한계가 있습니다. Lua는 게임 엔진, 네트워크 장비, 임베디드 시스템에서 정상적으로 사용되기 때문에 단순히 Lua 실행을 모니터링하면 과도한 오탐이 발생합니다. 또한 많은 조직에서 Lua 사용 현황을 정확히 파악하지 못하고 있어, 비정상적인 Lua 활동을 구분하기 어려운 상황입니다.


4. 나도 위험할까? 자가 진단

이 공격이 나와 관련 있는지 확인해보세요.

이런 환경이라면 주의가 필요합니다

  • 게임 개발 도구나 Lua 기반 애플리케이션을 사용하는 환경에서 근무
  • 네트워크 장비(라우터, 방화벽, VPN) 관리 업무를 담당
  • 임베디드 시스템이나 IoT 장비를 다루는 업무 환경
  • 보안 솔루션이 PowerShell, Python 위주로만 설정되어 있는 조직

공식 대응 방안

  • M1047 감사 (Audit): 승인되지 않은 Lua 설치에 대한 시스템 인벤토리 수행
  • M1038 실행 방지 (Execution Prevention): 적절한 경우 Lua 인터프리터를 차단 목록에 추가
  • M1033 소프트웨어 설치 제한 (Limit Software Installation): 필요하지 않은 경우 사용자의 Lua 설치 방지

당장 할 수 있는 것

  • 게임 모드 등 Lua를 사용하는 프로그램은 공식 출처에서만 다운로드하기
  • 출처가 불분명한 .lua 파일은 절대 실행하지 않기
  • 🏢 보안 담당자: 네트워크 장비에서 비정상적인 스크립트 실행 활동을 모니터링하기

5. 관련 기술

기법어떤 상황에서 함께 사용되나
T1055 Process InjectionLua 스크립트 실행 후 탐지를 피하기 위해 정상 프로세스에 추가 페이로드를 주입할 때
T1071 Application Layer ProtocolC2 서버에서 Lua 스크립트를 전송받거나 실행 결과를 전송할 때 HTTP/HTTPS 등 정상 프로토콜 사용

참고 자료


📌 이 글은 AI(Claude) 를 활용하여 작성되었으며, MITRE ATT&CK v18.0 기준 (2025-10-28) 을 기준으로 합니다. 본 콘텐츠는 보안 교육 및 방어 목적으로만 제공되며, 이를 악용한 불법 행위에 대한 책임은 전적으로 행위자 본인에게 있습니다.



?뱛 ??湲€?€ [?ㅽ겕由쏀듃 ?ㅽ뻾(T1059) ?쒕━利?(/blog/t1059-command-and-scripting-interpreter)???쇰??낅땲??

COMMENTS (0)

댓글은 익명으로 작성되며, 삭제 비밀번호를 설정하면 본인만 삭제할 수 있습니다. 비밀번호를 설정하지 않은 댓글은 누구나 삭제할 수 있습니다.