분석 정보/악성코드 분석 정보

APT41 그룹의 Stealth 로더와 ScrambleCross 백도어

알 수 없는 사용자 2021. 10. 28. 16:21

중국어를 구사하는 사이버 범죄 그룹 APT41 2018년에 처음 등장했으며 "SideWalk" 또는 "Earth Baku"라는 명칭으로 사용되기도 한다. 해당 그룹은 주로 북미, 동남아시아의 IT 산업을 타겟으로 공격하고 있으며 최근 글로벌 항공 IT 제공 업체 SITA APT41의 공격을 받아 대규모 고객 정보가 유출된 사건이 있었다.

 

APT41의 첫 등장 당시, 오픈 소스 악성코드인 "LavagokLdr" 로더를 이용해 "CrossWalk" 악성코드를 실행했다. 2020년부터 해당 APT 그룹은 "StealthMutant" 와 "StealthVector" 로더를 제작하여 자신들의 공격 루틴을 구축했으며 현재까지 해당 악성코드로 인한 많은 피해 사례가 등장하고 있다.

 

본 보고서에서 설명하는 것은 APT41이 제작한 로더인 "StealthMutant"와 "StealthVector" 로더에 대한 것이며 해당 로더는 페이로드로 "Cobalt Strike" 및 "ScrambleCross" 백도어를 실행한다.

 

1.   공격 벡터

APT41은 서버나 웹의 취약점을 악용하거나 메일을 통해 "Stealth" 로더를 유포한다.

 

APT41 해킹 그룹은 하기 설명할 공격 벡터를 현재까지 전부 사용하고 있으며 타겟 기업의 취약한 부분을 발견하면 상황에 맞는 공격 벡터를 이용해 "Stealth" 로더를 유포하고 있다.

 

- 웹 취약점 악용

사용자의 웹 서버에 SQL 인젝션 공격을 통해 VBS 파일을 주입하고, 다음 파일을 드랍한다. 드랍된 BAT 파일이 "Stealth" 로더를 정상 서비스로 위장하여 등록하고, "Stealth" 로더를 이용하여 암호화된 페이로드를 실행한다.

 

20216월경, 글로벌 항공 IT 제공 업체 SITA가 웹 취약점을 악용한 "Stealth" 로더 유포에 의한 공격을 받은 것으로 알려졌다. 해당 공격으로 인해 인도의 항공사 에어 인디아의 고객의 정보가 대규모로 유출되었다.

 

[그림 1] 웹 취약점을 악용한 유포 흐름도

 

- MS Exchange 서버 취약점 악용

20211월경 발견된 MS Exchange 서버의 Proxy Logon 취약점인 "CVE-2021-26855"를 악용하여 사용자의 MS Exchange 서버에 침투한다. 이후 MS Exchange 서버에 배치된 "China Chopper" 웹 쉘을 통해 "Stealth" 로더가 업로드된다.

 

[그림 2] MS Exchange 서버 취약점을 악용한 유포 흐름도

 

- LNK 파일이 첨부된 이메일

공격자는 LNK 파일이 첨부된 메일을 사용자에게 전송한다. 해당 파일을 실행하면 명령 프롬프트를 통해 인증 데이터 및 구성 요소를 조작하는 데 사용 하도록 고안된 관리 명령줄 프로그램인 정상 "Certutil.exe"를 복사한 후, 해당 파일을 이용해 "Stealth" 로더와 암호화된 페이로드 바이너리를 다운로드한다.

 

이러한 방법을 사용해 공격자의 서버에 접근 시 탐지 우회를 시도할 수 있다.

 

[그림 3] LNK 파일이 첨부된 메일을 이용한 유포 흐름도

 

2.   로더

"StealthMutant"와 "StealthVector" 로더는 공통적으로 암호화된 페이로드 바이너리를 복호화한 후 실행한다. 또한,  로더는 백신 프로그램 탐지 우회를 시도하기 위해 정상 파일에 프로세스를 숨기는 기법을 사용한다.

 

"StealthMutant" 와 "StealthVector" 로더는 프로세스를 숨기는 기법에 대한 차이점이 존재한다.

 

- StealthMutant

APT41이 제작한 초기 모델 "StealthMutant" 로더는 EXE 실행 파일로 유포되며 "StealthVector" 로더가 등장하기 이전에 사용되었다.

 

"StealthMutant" 로더는 [그림 4]와 같은 과정으로 프로세스를 숨기고 페이로드를 실행한다.

 

[그림 4] StealthMutant 실행 흐름

 

    암호화된 페이로드 복호화

    정상 프로세스 'Suspend' 상태로 실행 및 정상 코드의 시작 부분을 후에 삽입할 페이로드 시작 부분으로 이동하도록 코드 패치

    StealthMutant 로더에서 정상 프로세스에 페이로드 인젝션

    StealthMutant 로더에서 'Suspend' 상태로 실행된 정상 프로세스를 'Run'으로 바꾸어 패치된 코드부터 실행

 

- StealthVector

최근에 등장한 "StealthVector" 로더는 DLL 파일로 유포되며 백신 탐지 우회를 시도하기 위한 위장 기법이 "StealthMutant" 로더와 차이를 보인다.

 

"StealthVector" 로더는 [그림 5]와 같은 과정으로 프로세스를 숨기고 페이로드를 실행한다.

 

[그림 5] StealthVector 실행 흐름

 

    암호화 된 페이로드 복호화

    정상 프로세스 'Suspend' 상태로 실행 및 정상 코드의 시작 부분을 후에 삽입할 페이로드 시작 부분을 호출하도록 코드 패치

    페이로드를 삽입할 정상 DLL 파일 탐색

    탐색된 정상 DLL 파일을 프로세스에 로드

    로드된 정상 모듈에 페이로드 인젝션

    StealthMutant 로더에서 'Suspend' 상태로 실행된 정상 프로세스를 'Run'으로 바꾸어 패치된 코드부터 실행

 

"StealthVector"는 정상 프로세스에 직접 페이로드를 삽입하는 "StealthMutant"와 달리 정상 DLL을 정상 프로세스에 로드시켜 해당 DLL 모듈에 페이로드를 삽입한다. 프로세스와 로드된 DLL은 정상 파일이기 때문에 백신 탐지가 되지 않아 더 효율적인 백신 탐지 우회를 시도할 수 있다.

 

3.   페이로드

최종적으로 "Stealth" 로더는 "Cobalt Strike"와 "ScrambleCross"를 페이로드로 실행한다.

 

- Cobalt Strike

"Cobalt Strike"는 다음 악성코드를 다운로드하기 위해 감염된 PC의 네트워크에 통로를 만들어 공격자가 접근할 수 있도록 한다.

 

- ScrambleCross

"ScrambleCross"APT41에서 제작한 백도어로 공격자의 C&C 서버에서 보낸 명령을 통해 사용자의 PC를 제어한다.

공격자 C&C 서버에서 전달받은 명령 코드에 따른 동작은 [1]과 같다.

 

[표 1] ScrambleCross 백도어 명령 및 동작

 

APT41이 제작한 "Stealth" 로더는 현재까지 지속적인 패치를 거쳐 유포되고 있으며 암호화된 바이너리 페이로드를 실행하고 있어 주의가 필요하다. 또한, 해당 악성코드는 백신 프로그램 탐지를 우회하고, 정상 파일 및 서비스로 위장하여 사용자가 감염 사실을 알아차리지 못한다는 점에서 사용자는 보안에 신경 써서 감염을 예방할 것을 권고한다.

 

상기 악성코드는 잉카인터넷 안티바이러스 제품 TACHYON Internet Security 5.0에서 진단 및 치료가 가능하다.