보안동향

최신 보안정보를 신속하게 전해드립니다.

[보안이슈] Microsoft의 Astaroth 파일리스 공격 캠페인의 탐지기법을 알아보며

2019-07-11

Microsoft Denfender ATP 연구팀에서 차세대 보호 기능을 통해 파일리스(Fileless) 공격 캠페인 중 하나인 Astaroth를 탐지 차단할 수 있다고 발표하였다.

 

파일리스는 파일의 존재 없이 실행되는 위협을 통용하여 말하고 있으나 일반적으로 정의되지는 않아 광범위하게 사용되고 있으며 실행파일이 존재하지 않기 때문에 기존의 파일 기반 형태의 탐지기법에서 파일리스 형태의 위협을 탐지하기에 어려움을 겪고 있다. 하지만 파일이 없다는 것이 침해 위협과 흔적이 전혀 나타나지 않는 것을 의미하지는 않는다.

 

이번 발표에서 Astaroth에 각 단계의 형태를 분석하여 모니터링하고 탐지할 수 있다고 한다. 다음은 Astaroth의 각 단계를 설명한 것이다.

[출처-https://www.microsoft.com/security/blog/2019/07/08/dismantling-a-fileless-campaign-microsoft-defender-atp-next-gen-protection-exposes-astaroth-attack/]

 

 

각 단계에서 일어나는 과정은 다음과 같이 정리할 수 있겠다.

1. Email을 이용한 스피어피싱

2. LNK파일을 통해 BAT 실행

3. WMIC를 실행하여 JAVASCRIPT를 다운받고 실행

4. Bitsadmin을 실행하여 Payload를 다운

5. Certutill을 통해 Payload 복호화

6. 복호화를 통해 DLL 파일 생성, Regsvr32를 통해 이를 로드

7. DLL에서 또 다른 복호화 과정 수행, 다른 DLL 파일 로드

8. Userinit에 DLL 주입하여 Astaroth를 다운로드

 

각 단계에 따른 행위를 다음과 같은 탐지명으로 탐지하고 있다고 한다.

[출처-https://www.microsoft.com/security/blog/2019/07/08/dismantling-a-fileless-campaign-microsoft-defender-atp-next-gen-protection-exposes-astaroth-attack/]

 

각 행위마다 행위기반의 탐지기술이 적용되어 있는 것을 알 수 있다. 다음과 같이 특정 시스템 도구를 악용, 남용하는 경우 비정상행위라고 판단하고 있다.

각 단계의 행위는 하나의 행위로만 판단할 경우 악성의 행위가 아닐 수 있다. 따라서 파일리스 공격에 이용되는 분류와 정의를 살펴볼 필요가 있다. 다음은 파일리스의 다양한 범주를 그룹화 한것이다.

[출처-https://docs.microsoft.com/ko-kr/windows/security/threat-protection/intelligence/fileless-threats]

 

Fileless에 대한 위협은 세가지 분류방식이 존재하며 첫번째 분류 방식은 Fileless의 진입점으로 분류 될 수 있으며, 분류된 종류는 감염된 하드웨어나 응용프로그램 및 스크립트의 정기적인 실행등이 있다. 또 다른 분류로는 진입점의 형태로 분류할 수 있는데 이는 파일 기반, 네트워크 기반, 주변장치 또는 하드웨어 벡터의 형태로 분류 할 수 있다.

마지막으로 감염된 호스트 대상에 따라 분류 하는데 Exploit, Execution/Injection, Hardware로 분류 할 수 있다. 다음과 같은 분류를 통해 Fileless 공격의 요소들을 나누는 것은 각 행위에서 일어나는 형태를 분석하는데 도움을 줄 수 있으며 Fileless를 이해하는데 도움이 될 것이라고 생각한다.

 

유형 1 : 실행되는 파일 작업이 없음

fileless 악성 프로그램을 디스크에 쓸 필요 없이 동작하는 형태를 의미하며 이러한 멀웨어를 설명할 때 사용하는 시나리오는 EternalBlue취약점이 있다. EternalBlue 취약점을 악용해 악의적인 네트워크 패킷을 보내 DoublePulsar 백도어를 메모리에 상주시키는 것으로 이런 경우 파일이 존재하지 않고 데이터가 기록되지 않는 특징이 있다. 다른 시나리오로 악성코드를 BIOS나 USB와 같은 형태 또는 NIC의 펌웨어에 숨겨 놓는 것으로 이러한 방식은 디스크에 있는 파일을 실행하지 않는다. 이러한 형태의 유형은 재부팅, 디스크 서식 재설정, OS 재설치 등을 통해서 메모리에서만 사용할 수 있다.

이러한 유형은 감염을 탐지하고 수정하는 것이 비교적 어렵다. 기본적인 백신은 펌웨어에 접근하는 기능이 대부분 없기 때문인데 하지만 이러한 공격 유형은 높은 수준의 복잡성을 필요로 하고, 특정 하드웨어나 소프트웨어 구성에 대한 의존도가 높아 악용하기 쉽지 않는 공격 벡터이다. 따라서 유형은 매우 위험하지만 실용적인 공격 유형에는 사용되지 않는 특징이 있다.

 

유형 2 : 간접적으로 파일을 사용

많은 요구사항을 만족하지 않고 Fileless 공격을 수행할 수 있는 방법이 있는데 이는 poshspy 백도어와 같은 경우이다. 공격자가 WMI Repository에 악의적인 Powershell 명령어를 설치하고 정기적으로 이 명령을 실행하도록 구성하여 백도어를 설치하지 않아도 정기적인 명령을 통해 실행될 수 있다. 

이와 같은 방법은 백도어가 존재하지 않아도 명령어를 통해 백도어를 실행할 수 있다. WMI repository에 CIM 개체 관리자가 관리하는 영역에 실제 데이터가 저장되어지므로 공격 벡터가 실제 파일을 사용하기는 하지만 WMI Repository를 탐색, 차단 할 수 없어 파일리스 공격 유형으로 분류된다.

 

유형 3 : 파일이 필요한 공격

몇몇 악성코드는 파일을 사용하지 않고 지속성을 가질 수 있다. 그 방법 중 하나로 kovter가 있다. 이는 임의의 파일 확장자에 대해 레지스트리에 Shell open verb handler(쉘 오픈 동사 처리기)를 생성하여 해당 확장명의 파일이 실행될 때 합법적인 도구인 mshta.exe를 통해 스크립트를 실행한다.

특정 확장명의 파일이 호출되면 Registry 관련 명령이 시작되어 스크립트가 실행되는 형태로 이 스크립트를 통해 추가 레지스트리 키에서 데이터를 읽고 실행하여 최종 페이로드를 로드하는 방식이다. 하지만 이 방법은 처음 open verb를 작동하기 위해 kovter가 해당 확장명을 가진 파일을 Drop해야만 한다. 또한 이러한 파일을 열도록 자동 실행키가 설정되어야만 한다. 이 방식은 실제 파일 시스템의 사용이 없어 Fileless로 분류한다.

보통 이러한 임의 확장자를 가진 파일에는 정크 데이터를 포함하여 악성행위를 판별하기 어렵고, 악성 콘텐츠가 명확하게 보이는 경우 탐지가 가능하지만 레지스트리에서 저장하는 파일의 악성행위를 감지하는 것은 쉽지 않다.

 

이러한 분류 외에도 감염에 따른 세부분류로 나누는 방식도 있다.

Exploit Hardware Injection or Execution
File-based(유형 3 :실행파일, Flash, java,  Document) Device-based(유형 1 : Network Card, Hard Disk) File-based(유형 3 : 실행파일, DLL, LNK파일, 스케줄러 작업)
Network-based (유형 1) CPU-based(유형 1) Marcro-based(유형 3 : Ofiice 문서)
  USB-based(유형 1) Script-based(유형 3 : 파일, 서비스, Registry, WMI repository, Shell)
  BIOS-based(유형 1) Disk-based(유형 3 : Boot Record)
  Hypervisor-based(유형 1)  

 

다음과 같이 파일리스 공격에 이용되는 유형과 분류를 알아보았다.

정상적인 행위로 보이는 단순한 행위도 파일리스에 대한 정의와 유형을 이해하고 있다면 과정에 대한 빠른 대응이 가능할 것이라고 생각한다.

 

즉, 접촉하는 두 개체는 반드시 흔적을 남기게 된다는 로카르트의 법칙처럼 악성 파일이 없이 실행되는 파일리스 또한, 반드시 흔적이 생기며 각 단계에서 일어나는 행위를 분류하고 정의하여 이상 징후를 모니터링하고 탐지하는 것은 파일리스 공격 기법 대응의 바탕이자 기본이 될 것이라고 생각한다.

 

 

[참조-https://www.microsoft.com/security/blog/2019/07/08/dismantling-a-fileless-campaign-microsoft-defender-atp-next-gen-protection-exposes-astaroth-attack/]

 

보안관제센터 MIR Team

목록