Deep dive into Fileless Malware

Posted by : on

Category : malware


Fileless Malware

Definition

  • 컴퓨터 메모리 기반 아티팩트, 즉 RAM에 배타적으로 존재하는 컴퓨터 관련 악성코드
  • 장점
    • 공격자 입장에서는 AV를 회피하기 위한 전략을 짜는데 그 중 하나인 파일을 사용하지 않는 기법
    • 파일이 없으니까 AV로 탐지가 불가능 - 해시값 구하지 못함
    • 흔적을 남기지 않음
    • White process만 동작 가능하도록 제어하는 보안 솔루션도 정상으로 판단 가능
  • 단점
    • 재부팅할 경우 사라짐 → 지속적인 시스템에 대한 제어권을 얻기 위해 재부팅되도 Malware가 동작할 수 있도록 지속성(Persistence) 전략 사용 - 어떤 지속성 전략을 가질 수 있는지가 관건

Method

일반적인 악성코드는 실행파일(PE) 형태를 가지지만, 파일리스는 운영체제에서 제공하는 스크립트 엔진을 사용해 악성행위를 수행

즉, 따로 디스크에 파일 형태로 저장되지 않고 메모리에 바로 실행 가능한 형태의 공격기법을 의미

  • AVT(Advanced Volatile Threat)
    • “지능형 휘발성 위협”
    • APT 공격에 파일리스 유형의 기법이 사용
    • In-memory Malware, LOL(Living off The Land) 도구 사용

Method Type

  • LOL 도구 중 powershell 스크립트를 이용한 기법
  • Reflective DLL Injection : Malware Dll을 메모리에 로드
  • Memory Exploit : Kernel Memory 보안 취약점 활욜
  • Script-based Technique : Powershell, JavaScript, VBScript, …
  • WMI Persistence

Attack Procedure

  1. 공격자가 타켓 시스템 선정 후 다양한 Attack Vector를 통해 JavaScript나 VBScript를 실행 하여 런처 역할을 할 수 있는 프로세스 실행
  2. 지속적으로 Powershell Oneliner가 실행할 수 있도록 Registry 항목을 만들거나 WMI 객체 생성
  3. Powershell Oneliner 실행 → 메모리 내에서 악성코드 실행

Persistance strategy

  • 지속적으로 시스템에 대한 제어권 얻는 것을 유지하기 위한 전략
  • 최소한의 Malware를 시스템에 남기고 재부팅 후에도 지속적인 제어권을 유지시키기 위해 레지스트리, 서비스 스케쥴러, WMI등

Example

1) 레지스트리

  1. Powershell Script로 레지스트리 “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” 등록
    • Run : 윈도우 자동 시작을 위한 기능
  2. MS에서 제공하는 autoruns 툴을 이용하여 시스템 시작시 자동 실행되는 다양한 등록값에 대한 정보 확인 가능 → Powershell Oneliner가 잘 작동되는지 확인 가능

2) 서비스

  1. sc를 이용해 서비스에 Powershell Oneliner 등록
  2. cmd or Powershell에서 sc(Service Control) 명령어를 통해 윈도우 서비스 등록, 삭제, 시작, 중지, 서비스 시작 유형 변경 가능
    • auto : 서비스 시작 유형 중 하나로 컴퓨터를 재시작할시 로그인 된 사용자 없이 자동으로 실행

→ 부팅될때마다 Powershell Oneliner 작동

3) 작업 스케쥴러

  1. schtasks를 이용해 작업 스케쥴러에 Powershell Oneliner 등록

→ 스케쥴러의 실행 시점이나 주기를 지정가능

4) WMI

  • Permanent Event Subscription은 Event Query를 활용하게 되며 해당 기능을 통해 시스템 내에서 발생하는 이벤트 중 특정 조건을 가진 이벤트가 발생할때마다 특정 로직을 실행 가능

→ Permanent Event Subscription를 시스템상 등록하기 위해서는 관리자 권한 필요

  1. Event Filter
    • 트리거 이벤트 찾기
  2. Event Consumer
    • 필터가 성공적으로 일치하면 실행
  3. Binding
    • 필터가 일치할 때마다 실행되는 Consumer를 연결

Response plan

  1. 로깅 - Powershell Script 블록 로깅
  2. 로깅 - Sysmon
  3. EDR제품 : 실시간 탐지 및 차단

About foliv0ra
foliv0ra

재밌는 악성코드~

Email : bradypus404@gmail.com

Website : https://malware-ai.tistory.com/

Useful Links