Powershell File Less(파워쉘 파일리스) 공격이란?

제가 재직중인 회사에서 사용하는 특정 프로그램의 보안 결함으로 인해 랜섬웨어에 감염되는 사례를 다수 겪었습니다. 해커가 특정 솔루션의 보안 약점을 이용해서 운영 중인 서버에 침투한 것인데요. 침투 방식에는 다양한 유형이 있으며, 이번에는 실제 사례를 통해 공격 벡터와 공격 방식에 대해 살펴보겠습니다.

분석 결과, 공격 벡터는 윈도우 cmd 명령어 제어 권한을 얻은 후 파워쉘을 이용하여 악성 코드를 설치한 것으로 나타났습니다. 처음 침입 후에는 파일리스 형태로 메모리에 악성 코드를 업로드 한 다음, 실제 .ps 파일과 같은 악성 코드는 삭제하는 것이 특징입니다.

덧붙여 말씀드리면, 보안 결함을 이용해 내부에 침투한 뒤 윈도우 기본 명령어인 bitsadmin, certutil 등을 활용해 외부에서 악성코드를 내려받은 기록이 확인되었습니다. 이러한 방식처럼 컴퓨터 내부에 기본적으로 탑재되어 있는 명령어를 활용하는 해킹 기술을 ‘Living-Off-The-Land’ 기법이라고 부릅니다.
무설치와 자급자족 생활 방식에 대해 아래 내용을 확인하시면 유용할 것입니다.

 

Living-Off-The-Land 공격 기법

 

Living-off-the-land 공격 기법은 해커가 시스템에 사전 설치된 합법적인 도구를 활용하거나 단순한 스크립트 또는 코드를 메모리 상에서 직접 기동하는 방식이다. 해당 공격은 피해자 시스템에 사전에 설치되어 있는 합법적인 프로그램을 악용하므로 백신 프로그램으로부터 탐지를 피할 수 있다는 점이 특징입니다.

 

파일리스(Fileless) 공격 형태

 

파일리스(Fileless)란? 피해자의 컴퓨터 하드디스크가 아닌 시스템 메모리에 직접 악성 파일을 올려서 작동시키는 것을 뜻합니다. 이런 유형으로 작동하는 악성 소프트웨어를 무파일 악성코드(Fileless Malware)라고 부릅니다. 그러므로 기존의 하드디스크나 저장소 내 파일을 검사하는 보편적인 방법으로는 악성 코드를 찾아낼 수 없습니다.

 

다음은 실제 파워쉘을 이용한 파일리스 공격에 사용된 코드 인데요. 악용하기 마시기 바랍니다. 자세히 들여다 보면 일반적으로 powershell 에서 쉽게 작성할수 있는 코드 입니다.

 

파워쉘 스크립트 코드

powershell file less 공격

 

powershell script C&C서버를 통해 악성코드 다운로드 코드

Powershell C2 Malware Download

 

OS Windows Event Log 분석 결과 Powershell 코드 실행 흔적

파워쉘 실행 흔적

 

Powershell Fileless 공격 요약

 

  • 취약점 탐지 후 원격으로 명령 실행 또는 PowerShell 스크립트 실행.
  • 파워쉘 스크립트 코드 내부에 외부로부터 악성코드를 다운로드하고 실행하는 명령어를 삽입.
  • 윈도우 기본 명령어인 bitsadmin, certutil 등을 활용(Living-Off-The-Land)하여 파일 다운로드 실시.

 

이 글에서 설명드린 보안 취약점은 현재 모두 발견되어 보완 조치가 완료되었으며 동일한 방식으로는 해킹이 이루어질 수 없습니다. 마지막으로 이와 같은 공격을 방지 하기 위해서는 OS내 안티바이러스프로그램(백신) 설치는 필수적으로 해야 1차적인 방어는 할수 있을것입니다. 다만, 백신을 설치한다고해도 알려지지 않은 패턴등에 대해서는 탐지를 못할수도 있음을 인지해야합니다.

 

가장 중요한점은 지속적인 서버나 서비스의 보안 취약점을 점검하여 수시로 보완해야하며, 위협 탐지에 대한 모니터링을 철저히 해야합니다.

 

 

Leave a Comment