악성코드 분석 2023-12-29
개요
18세기 초 3차 산업혁명을 시작으로 지금까지 컴퓨터는 우리의 일상에서 떼어놓을 수 없는 존재가 되었다. 특히 현재는 4차 산업혁명이라는 말이 나오기 시작하며 우리 일상의 디지털화는 더욱 빠르게 진행되고 있다. 이에 피할 수 없이 사이버 상의 위협도 계속해서 발달하고 고도화되어 더욱 교묘해지고 있다. 많은 보안전문가들은 이러한 공격들을 막기 위해서 지금도 많은 노력을 기울이고 있다.
해커들은 사용자 엔드포인트에 침입을 하게 되면 해당 시스템을 장악하기 위해 일련의 과정들을 수행한다. 이 후 악성코드를 삽입해 정보를 탈취하거나, 암호화하는 등의 행위를 한다. 이렇게 심어진 악성코드는 다른 엔드포인트로의 전파, 추후 재침입 등 사후관리를 용이하게 하여 큰 피해를 끼치고 있다. 이처럼 악성코드는 사이버 위협에 빠지지 않는 존재이다. 악성코드에 감염되었을 때 피해를 조금이라도 줄이기 위해선 악성코드의 동작, 행위 등을 잘 파악할 필요가 있다. 그 중 2013년부터 꾸준히 기업에 큰 피해를 끼치고 있는 랜섬웨어를 분석하여 침해사고 전술, 기술 등을 정의한 ATT&CK 매트릭스와, 아직 준비중이지만 이를 악성코드 분석에 초점을 맞춰 정의한 Mal-ware Behavior Catalog(이하 MBC)를 이용해 주요 전술과 행위를 파악해보고자 한다.
<그림2> MBC와 ATT&CK 전술
<그림4> 상반기 랜섬웨어 동향 – sk 쉴더스
<그림5> 악성코드 실행 화면
ATT&CK |
DISCOVERY::Query
Registry (T1012) |
MBC |
DISCOVERY::System
Information Discovery (E1082) |
<그림 6> 레지스트리 접근
<그림7> 식별자 접근 |
정상 프로세스 위장을 위해 프로세스 정보를 변경한다. explorer.exe 조회 후 해당 정보를 이용, 프로세스 정보를 변경한다.
ATT&CK |
DEFENSE
EVASION::Process Injection (T1055) |
MBC |
DEFENSE
EVASION::Process Injection::Patch Process Command
Line (E1082) |
<그림8> 프로세스 정보 조작 |
|
<그림9> 조작 결과 |
또한 악성코드는 원활한 악성행위 수행을 위해 UAC 우회를 시도한다. UAC란 User Account Control로 악성 소프트웨어의 침입을 방지해주는 Microsoft의 보안 도구이다. 악성 소프트웨어가 권한 없는 활동을 수행하지 못하도록 제한한다. 소프트웨어를 다운로드 하거나, 실행할 때 팝업창을 띄워 허가를 요청하는 것이 UAC라고 할 수 있는데 악성코드가 추가 악성코드를 다운로드 하거나, 실행할 때 방해가 되므로 이를 우회하여 악성 행위를 수월하게 진행할 수 있도록 한다.
ATT&CK |
DEFENSE
EVASION::Abuse Elevation Control Mechanism::Bypass UAC |
MBC |
- |
<그림10> UAC 우회 |
|
<그림11> CoGetObject |
ATT&CK |
IMPACT::Inhibit
System Recovery (T1490) |
MBC |
IMPACT::Data
Destruction::Delete Shadow Copies (E1485.m04) |
<그림12> 볼륨 섀도우 카피 삭제
<그림13> 볼륨 섀도우 카피 2 |
원활한 악성행위 수행을 위해 대상 프로세스를 검색해 종료하며, 다른 소프트웨어가 점유하고 있는 경우에도 해당 프로세스를 강제로 종료한다.
ATT&CK |
DISCOVERY::Process
Discovery (T1057) |
MBC |
- |
<그림14> 프로세스 종료 |
Blackcat
랜섬웨어의 공격 방법들을 정리하면 다음과 같다.
<그림15> ATT&CK 프레임워크
<그림16> MBC 프레임워크
8Base 그룹은 올해 3월 새롭게 등장하여 중반 즈음부터 관심을 받고 있는 랜섬웨어 그룹이다. 랜섬하우스(RansomHouse)라는 다른 랜섬웨어 조직과 많은 면에서 비슷한 점을 보여 같은 조직이거나 그 하위 조직이라는 추측이 있다. 8Base 그룹이 사용하는 랜섬웨어인 8Base 랜섬웨어는 포보스 랜섬웨어와 비슷하여 포보스와 관련된 그룹일 수 있다는 추측이 있으나 증거는 없다. 중소기업을 타겟으로 하며 23년 중반부터 활발한 활동을 하고있다.
8Base 실행 시 악성코드 중복 실행 방지를 위해 뮤텍스를 생성한다. 뮤텍스는 상호 배제(Mutual Exclusion)의 뜻을 가지며 여러 스레드를 사용할 때 자원에 대한 접근 제한을 위해 사용한다.
ATT&CK |
- |
MBC |
Micro-Behaviors::PROCESS::Create
Mutex |
<그림17> 뮤텍스 생성 |
ATT&CK |
Persistence::Boot
or Logon Autostart Execution |
MBC |
Psersistence::registry-run-keys-startup-folder |
<그림18> 레지스트리 조회
<그림19>
악성코드 명과 동일한 이름으로 등록 |
|
<그림20> 등록 화면
<그림21> 시작메뉴에 악성코드 복사 |
ATT&CK |
IMPACT::Inhibit
System Recovery (T1490) |
||||||
MBC |
IMPACT::Data
Destruction::Delete Shadow Copies (E1485.m04) |
||||||
<그림22> cmd.exe 실행
[표 1] 실행 명령어 목록 |
cmd를 실행시켜 현재 프로필에 대해 방화벽을 사용하지 않음으로 변경한다.
ATT&CK |
Defense::Impair
Defenses::Disable or Modify System Firewall |
|||
MBC |
- |
|||
<그림23> netsh 실행화면
[표 2] 실행 명령어 목록 |
8Base가 사용한 공격방법을 정리하면 다음과 같다.
<그림24> ATT&CK 프레임워크
<그림25> MBC 프레임워크
2022년 새롭게 발견된 BlackBasta 랜섬웨어는 단기간에 기능을 업데이트하고 전세계적으로 피해자 수를 늘려가고 있다. 마찬가지로 RaaS형 랜섬웨어 등장한 이후 가장 활동적인 RaaS 위협 중 하나가 되었다. BlackBasta의 핵심 기능, 유츨 사이트, 협상 방식 등이 Conti 그룹과 유사하기 때문에 Conti 그룹의 파생일 것이라 추측되고 있다.
BlackBasta 실행 시 다른 랜섬웨어들과 동일하게 볼륨 섀도우 카피를 삭제한다.
ATT&CK |
IMPACT::Inhibit
System Recovery (T1490) |
MBC |
IMPACT::Data
Destruction::Delete Shadow Copies (E1485.m04) |
<그림26> 볼륨 섀도우 카피 삭제 |
아이콘 파일을 생성하며 .basta 확장자를 가진 파일들의 아이콘을 설정한다.
ATT&CK |
- |
MBC |
OPERATINGSYSTEM::Set
Registry Value |
<그림27> 레지스트리 설정
<그림28> 설정 화면 |
기존에 존재하는 서비스인 “Fax”를 삭제한 후 재생성한다. 실행 파일 경로는 악성파일의 위치이며, 시작 유형을 자동으로 설정해 악성코드가 부팅 시에도 자동으로 실행될 수 있도록 한다.
ATT&CK |
PERSISTENCE::Create
or Modify System Process:: Windows Service |
MBC |
PERSISTENCE::modify-existing
service |
<그림29> 서비스 수정
<그림30> 수정된 서비스 |
Blackbasta는 안전모드로 부팅 후 악성행위를 진행하는데 이는 안전모드 진입 시 Windows 운영 체제의 특정 기능 외에 모든 기능이 자동실행되지 않는 점을 악용한 방식이다. 안전모드로 설정 후 부팅 시 악성코드는 자동실행 될 수 있도록 따로 레지스트리에 값을 등록해둔다.
ATT&CK |
IMPACT::System
shutdown/reboot |
MBC |
PERSISTENCE::shutdown |
<그림31> 안전모드 설정
<그림32> 재부팅 |
이미지 파일 생성 후 해당 이미지를 배경화면으로 설정해 피해자에게 악성코드에 감염되었음을 알린다.
ATT&CK |
- |
MBC |
OPERATING
SYSTEM::Wallpaper |
<그림33> 배경화면 변경 |
Blackbasta 악성코드의 행위를 정리하면 다음과 같다
<그림35> MBC 프레임워크
결론
이처럼 MBC나 ATT&CK를 이용하면 악성코드 분석의 관점에서 악성코드의 전반적인 진행 흐름을 파악할 수 있다. 분석 결과를 바탕으로 랜섬웨어의 기술들을 하나하나 살펴봤을 때 크게 분석 환경 탐지, 암호화 전 사전 작업, 전파, 암호화 4가지의 순서를 따른다. 물론 악성코드에 따라 진행 순서는 다를 수 있다. 분석가가 악성코드 분석을 통해 기술과 전략을 파악하게 된다면 후에 해당 악성코드를 사용하기가 힘들어진다. 화면 해상도, 용량 등을 통해 가상환경을 파악하거나, 필요 정보를 난독화한 후 실행시 복호화하여 사용해 분석가들이 분석을 어렵게 한다. 분석 진행 전 MBC나 ATT&CK을 이용하면 대략적으로 어떤 안티 디버깅 기술이 사용되었는지 파악할 수 있다.
사전작업에는 백업파일 삭제, 권한 상승, 레지스트리 자동실행 등록, 서비스 삭제, 프로세스 종료 등이 포함된다. 특히 2017년부터 랜섬웨어는 백업파일을 삭제하는 기능이 무조건적으로 포함되는데 이는 윈도우 운영체제에 포함되어 있는 복구 기능 때문인 것으로 보인다. 또한 악성코드는 기본적으로 탐지되지 않고 지속되어야 큰 피해를 입힐 수 있기 때문에 자기자신을 은닉하며 컴퓨터 부팅 시에도 계속해서 실행될 수 있도록 하는 것이 중요하다. BlackCat 랜섬웨어처럼 프로세스 정보를 조작한다던가, 처음부터 정상 프로세스에 삽입되어 악성 행위를 진행하거나 하는 방식으로 자기자신을 숨긴다. 위의 사례에는 없지만 ADS(Alternative Data Stream)에 악성코드를 숨겨 정상 프로세스의 실행으로 위장하기도 한다. 지속성 유지를 위해선 주로 레지스트리 자동실행 경로에 악성파일을 등록하거나, 작업 스케줄러, 서비스 등에 등록한다. 시작 폴더에 악성코드를 복사하기도 한다. 다크웹이 주목을 받기 시작하며 위협그룹들이 랜섬웨어를 사용하는 방식이 바뀌었는데, 이전에는 파일을 암호화하여 돈을 주면 복호화 키를 건네주겠다는 단순 협박과 비슷했다면, 지금은 피해기업의 중요정보들을 다크웹에 공개하여 돈을 주지 않으면 더 많은 정보들을 공개하겠다는 식으로 금전을 요구하고 있다. 따라서 단순 암호화만 진행하는게 아니라 피해자 엔드포인트에 진입해 정보를 수집 후 공격자의 C2서버에 전송하는 랜섬웨어 또한 존재한다.
랜섬웨어는 진행의 큰 흐름은 바뀌지 않았으나, 관련 취약점이나, 환경 등 트렌드에 따라 계속해서 변화하는 악성코드 중 하나이다. 따라서 새로운 기술이나 랜섬웨어가 나올 때 마다 해당 악성코드가 사용하는 기술들을 파악할 필요가 있다. MBC 프레임워크는 아직 완성되지 않았지만 ATT&CK 프레임워크 보다 악성코드 분석의 관점에서 더욱 세분화되어 있기 때문에 후에 악성코드 들의 행위를 파악하는 것이 좀 더 수월해질 수 있을거라 생각한다.
[참고문헌]