cd ../blog
MITRE

Python 악성코드: 공격자가 파이썬을 선택하는 이유 | T1059.006

읽는 시간 약 6분
조회수 5
MITRE ATT&CK악성코드 분석APT 공격보안 위협Execution

Python 악성코드 T1059.006 기법으로 APT37, APT29 등 3대 해킹 그룹의 실제 공격 사례를 분석합니다. 크로스 플랫폼 공격의 원리와 탐지 방법, 자가 진단 체크리스트를 제공합니다.

share:
Python 악성코드: 공격자가 파이썬을 선택하는 이유 | T1059.006

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

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

2021년 8월, 북한 해킹 그룹 InkySquid(APT37)가 한국 정부 관련 인사들을 겨냥한 공격에서 Python 스크립트를 악용해 RokRAT 백도어를 배포한 사건이 발생했습니다. 피해자들은 자신들의 시스템에서 4개의 서로 다른 백신 프로그램을 실행했음에도 불구하고 감염을 완전히 제거하지 못했습니다.

Python은 전 세계에서 가장 인기 있는 프로그래밍 언어 중 하나로, 데이터 분석부터 웹 개발까지 다양한 용도로 사용됩니다. 하지만 바로 이런 범용성 때문에 공격자들도 Python을 선호하게 되었습니다.


1. 공격자 관점

왜 이 기법을 사용하는가

  • 높은 호환성: Windows, Linux, macOS 모든 운영체제에서 동일하게 작동하여 크로스 플랫폼 공격이 가능
  • 풍부한 라이브러리: 네트워크 통신, 파일 조작, 시스템 제어 등 공격에 필요한 모든 기능을 내장 라이브러리로 제공
  • 탐지 회피: 정상적인 개발 도구로 인식되어 보안 솔루션의 의심을 받지 않음

동작 흐름

💡 쉬운 비유: Python은 해커들에게 "어디서든 작동하는 번역기"와 같습니다. Windows, Linux, macOS 어디에서든 같은 스크립트가 실행되므로, 한 번 작성한 공격 코드를 모든 운영체제에서 재사용할 수 있습니다.


2. 실제 공격 사례

📌 APT37 (InkySquid) - BLUELIGHT 캠페인 (2021년)

배경: 북한 정부와 연관된 APT37 그룹이 한국 정부 관련 인사들을 대상으로 장기간에 걸쳐 정보 수집을 목적으로 한 공격을 수행했습니다.

공격 과정:

  1. 뉴스 포털 사이트를 해킹하여 브라우저 취약점 익스플로잇을 통해 BLUELIGHT 악성코드 배포
  2. Python 스크립트를 활용하여 RokRAT 백도어를 시스템에 설치하고 지속성 확보
  3. 피해자 시스템에서 1년 반 이상 활동하며 민감한 정보를 지속적으로 탈취

피해 규모: 한국 정부 및 공공기관 관계자 다수가 피해를 입었으며, 장기간에 걸친 정보 유출 발생

출처: North Korean BLUELIGHT Special: InkySquid Deploys RokRAT

📌 APT29 (Cozy Bear) - SeaDuke 캠페인 (2015년)

배경: 러시아 정부와 연관된 APT29 그룹이 서방 정부 기관과 외교 기관을 대상으로 한 정교한 스피어 피싱 공격을 수행했습니다.

공격 과정:

  1. 외교관들을 대상으로 한 정교한 스피어 피싱 이메일 발송
  2. Python으로 작성된 SeaDuke 악성코드 변종을 통해 시스템 제어권 확보
  3. 암호화된 통신을 통해 정부 기밀 문서 및 외교 정보 탈취

피해 규모: 미국 및 유럽의 주요 정부 기관과 외교 기관에서 기밀 정보 유출

출처: "Forkmeiamfamous": Seaduke, latest weapon in the Duke armory

📌 APT39 (Chafer) - 중동 항공·정부 기관 공격 (2018-2020년)

배경: 이란과 연관된 APT39 그룹이 쿠웨이트와 사우디아라비아의 항공 교통 및 정부 부문을 겨냥한 전략적 공격을 수행했습니다.

공격 과정:

  1. 사회공학 기법을 통해 초기 시스템 침입
  2. Python으로 작성된 명령줄 유틸리티와 네트워크 스캐너를 배포하여 내부 네트워크 정찰
  3. 주말 시간대를 활용하여 탐지를 피하면서 지속적인 데이터 수집 및 유출 수행

피해 규모: 중동 지역 항공 교통 관제 시스템과 정부 기관의 민감한 인프라 정보 유출

출처: Iranian Chafer APT Targeted Air Transportation and Government in Kuwait and Saudi Arabia


3. 왜 탐지가 어려운가?

공식 탐지 방법

DET0063 크로스 플랫폼 Python 실행 행위 탐지: python.exe 또는 py.exe가 비정상적인 부모 프로세스(예: Office 매크로, LOLBAS)에서 실행되거나, 비정상적인 디렉토리에서 실행되거나, 네트워크/PowerShell/시스템 레벨 활동과 연계되어 실행되는 경우를 탐지합니다.

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

  • 정당한 도구로 위장: Python은 개발자, 데이터 분석가, 시스템 관리자들이 일상적으로 사용하는 정상적인 도구로 인식되어 의심을 받지 않습니다
  • 스크립트 언어의 특성: 컴파일 과정 없이 즉시 실행 가능하여 빠른 배포와 수정이 용이합니다
  • 강력한 기능: 한 줄의 코드로도 파일 다운로드, 시스템 명령 실행, 네트워크 통신 등 복잡한 작업 수행이 가능합니다

탐지의 현실적 한계

공식 탐지 방법이 존재하지만 실제 환경에서는 여러 제약이 있습니다. Python이 정상적인 업무용 도구로 널리 사용되기 때문에 오탐율이 매우 높아 실질적인 모니터링이 어렵습니다. 또한 대부분의 조직에서 Python 실행을 전면 차단할 수 없어 선별적 탐지에 의존할 수밖에 없습니다.


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

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

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

  • 개발 업무나 데이터 분석을 위해 Python이 설치된 환경에서 근무하는 경우
  • 정부 기관, 외교 기관, 또는 국가 기반 시설 관련 업무를 담당하는 경우
  • 해외 출장이나 국제 업무가 많아 외부 이메일을 자주 받는 경우
  • 업무용 PC에서 인터넷 브라우징이나 이메일 첨부파일 실행이 빈번한 경우

공식 대응 방안

M1049 안티바이러스/안티멀웨어: 안티바이러스 솔루션을 사용하여 의심스러운 파일을 자동으로 격리할 수 있습니다.

M1047 감사: 시스템에 무단으로 설치된 Python 설치본이 있는지 인벤토리를 점검합니다.

M1038 실행 방지: Python이 필요하지 않은 환경에서는 Python 실행을 차단합니다.

M1033 소프트웨어 설치 제한: Python이 필요하지 않은 사용자의 Python 설치를 방지합니다.

당장 할 수 있는 것

  • 개인 PC에서 Python 설치가 꼭 필요한 경우에만 공식 사이트에서 다운로드하기
  • 이메일 첨부파일 특히 .py 확장자 파일은 절대 실행하지 않기
  • 이상한 점 발견 시 전문가에게 문의하거나 관련 기관에 신고하기

5. 관련 기술

기법어떤 상황에서 함께 사용되나
T1105 Ingress Tool TransferPython 스크립트로 추가 공격 도구나 페이로드를 원격 서버에서 다운로드할 때
T1547 Boot or Logon Autostart ExecutionPython 스크립트를 시스템 시작 시 자동 실행되도록 설정하여 지속성을 확보할 때
T1071 Application Layer ProtocolPython의 HTTP 라이브러리를 사용해 C2 서버와 정상 웹 트래픽으로 위장한 통신을 할 때

참고 자료


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



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

COMMENTS (0)

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