한국에서만 활동하는 안다리엘 그룹, 지난 2년간의 행적

안다리엘(Andariel) 그룹은 2008년부터 우리나라에서 활동하고 있는 위협 그룹으로 북한의 지원을 받고 있는 것으로 의심되며, 라자루스(Lazarus) 그룹의 협력 혹은 하위 그룹으로 추정된다. 연구자에 따라 안다리엘 그룹을 라자루스 그룹과 구분하지 않는 경우도 있다. 본 보고서에서는 2020년에서 2021년까지 Andariel 그룹의 활동과 관련된 악성코드의 특징을 정리했다.​

 

2008년부터 우리나라를 공격해온 안다리엘 그룹은 2013년 3.20 전산망 장애, 2014년 - 2015년 오퍼레이션 블랙 마인(Operation Black Mine), 2016년에는 대기업 전산망과 군을 해킹한 바 있다. 주 공격 대상은 군, 방위산업, 정치기구, 보안업체, ICT 업체, 에너지연구소 등이며 2017년 이후에는 도박 게임 사용자, ATM, 금융권, 여행사, 가상 화폐 거래소 사용자 등을 대상으로 금전적 이득을 위한 공격도 시도했다.

 

공격 방법으로는 주로 매크로(Macro)를 이용한 스피어 피싱(Spear Phishing), 액티브 엑스(Active-X) 취약점을 이용한 워터링 홀(Watering Hall), 보안 및 자산 관리 프로그램 등의 IT 관리 시스템 취약점, 공급망 등을 활용한다. 국내 IT 환경을 잘 파악하고 있으며 한국에서 사용되는 다양한 소프트웨어의 제로데이 취약점을 이용해 공격을 수행한다.

 

안다리엘은 아리안(Aryan), 고스트랫(Ghostrat) 등 알려진 외부 백도어 뿐 아니라 안다랫(Andarat), 안다랫엠(Andaratm), 리프도어(Rifdoor), 판도어(Phandoor) 등 자체적으로 개발한 백도어도 사용한다. 2020년 이후 등장한 악성코드는 대부분 핵심 코드가 암호화되어 있고 메모리에서 암호를 풀어 실행하는 구조다. 이러한 형태는 이미 2014년에 비엠도어(Bmdoor)에서 사용된 바 있다.

 

라자루스 그룹의 악성코드는 대체로 암호화된 파일이 별도로 존재하는 반면, 안다리엘 그룹의 일부 악성코드는 파일 끝에 쓰레기 값이나 날짜 정보를 추가해 파일 해시(Hash)가 매번 달라지게 한다.

 

공격 대상 및 사례​ ​​ ​

안다리엘 그룹의 공격 대상지는 대한민국이며 목표 분야는 주로 국방, 방위산업, 통신, 에너지 등 안보와 관련된 곳이 많다.

 

공개된 분석 보고서와 안랩에서 파악한 정보 등을 종합한 2020-2021년 공격 사례는 다음과 같다. 2020년과 2021년 활동을 볼 때, 이들의 주요 공격 목표는 국방과 조선 분야이며 통신, 대학, 운송, IT 서비스 등의 분야도 공격한 바 있다.

 

[표 1] 주요 공격 사례

 

우선 2020년 공격들을 살펴보자. 먼저 7월에 IT 서비스 업체 두 곳에 대한 공격이 발생했다. 컴퓨터 혹은 네트워크 서비스 제공자로 해당 업체의 고객을 노렸을 가능성이 높다. 9월에는 확인되지 않은 한 곳과 대한민국 국방 분야에서 서로 다른 악성코드와 함께 랜섬웨어가 발견됐다. 랜섬웨어는 2021년 6월 보안기업 카스퍼스키(Kaspersky)가 블로그에서 공개한 랜섬웨어의 변형이다. 그리고 11월, 조선업을 노린 공격이 발생했다. 해당 업체는 2021년 4월에서 7월 사이에도 공격을 받았다.

 

2021년에는 1월에 통신사에서 키로거(Keylogger) 기능을 가진 악성코드가 접수되었다. 국내 백신 프로그램 관리 시스템에 대한 접근 시도도 있었지만 구체적인 피해는 알려지지 않았다. 안다리엘 그룹은 자산관리 및 보안 프로그램 관리 소프트웨어의 취약점을 이용하거나 파일 배포 기능을 이용한 악성코드를 유포한 적이 있다.

 

3월말에는 대학 두 곳에서 악성코드가 발견됐다. 대학 시스템은 공격자가 경유지로도 사용하는 관계로, 대학을 노렸는지 혹은 경유지로 이용되었는지는 확인되지 않았다. 4월에는 매크로가 포함된 워드 문서를 이용한 공격이 발견됐다. 보안기업 멀웨어바이츠(MalwareBytes)는 이 공격이 라자루스 그룹과 관련이 있다고 설명했다. 카스퍼스키는 6월에 블로그를 통해 해당 공격이 안다리엘 그룹의 소행이라고 밝혔다.

 

2021년 5월 말, 에너지 연구소에 대한 공격이 발생했으며 2021년 6월 중순에는 대외협력 관련 준 정부기관에서 타이거다운로더(TigerDownloader), 아폴로제우스(ApolloZeus) 등 여러 악성코드가 사용되었다.

 

이에 대해, 안랩은 2021년 7월, KrCERT는 9월에 분석 보고서를 공개한 바 있다. 안랩 분석 보고서는 로그인 정보 수집 악성코드 등 추가 악성코드에 대한 분석 내용을 담고 있으며, KrCERT 보고서는 다운로더와 백도어에 대한 분석을 다뤘다.

 

2021년 6월 이후 안다리엘의 공격은 확인되지 않았지만, 관련 악성코드가 한국 내 IP에서 꾸준히 발견되고 있어 공격 대상이 더 있을 것으로 보고 있다.

 

공격 방법 ​​ ​​

2020년부터 2021년까지 확인된 안다리엘의 주요 공격법은 ‘스피어 피싱(Spear Phishing)’과 ‘워터링 홀(Watering Hole)’ 등이 있다.

 

[그림 1] 안다리엘 그룹 주요 공격 방법

 

먼저 스피어 피싱은 먼저 공격 대상이 관심을 가질 만한 내용의 문서를 위장한다. 그리고 수신자가 문서를 열어보면 내용을 흐릿하게 보이게 하거나, 호환성 등의 이유로 내용을 보여줄 수 없다며 ‘콘텐츠 사용’을 클릭하도록 유도한다. 그 후 매크로가 실행되면 악성코드가 생성된다.

 

다음으로, 워터링 홀 공격은 대상이 즐겨 방문할 만한 웹사이트를 해킹해 취약점 공격 코드를 숨겨두고, 취약한 웹브라우저로 접속할 경우 악성코드를 감염시키는 방법이다. 공격자는 공격 대상이 자주 방문하는 웹사이트를 해킹하고, 특정 IP 주소에서 접속할 때만 악성코드에 감염되게 한다. 이를 통해 원하는 대상만 감염시켜 원인 파악을 어렵게 한다.

 

2021년 6월, 한국 소프트웨어의 취약점을 이용한 워터링 홀 공격이 감행되었으나, 자세한 사항은 알려지지 않았다.

 

주요 악성코드 ​​ ​​​

안다리엘 그룹이 2020년부터 2021년까지 사용한 주요 악성코드는 다음과 같다.

 

[표 2] 안다리엘 그룹 악성코드 종류

 

실제 사용된 악성코드는 리소스나 파일 끝에 코드를 암호화해 저장해두고 메모리에서 실행되는 형태가 대부분이다.

 

[그림 2] 안다리엘 그룹 악성코드 로더(Loader) 구조

 

2020년과 2021년 사이에 발견된 악성코드 중 일부는 파일이 생성될 때 파일 끝에 날짜와 시간 문자열을 추가하여 파일 해시가 매번 변경된다. 또한 감염되는 시스템에 따라 다른 파일이 생성되므로 IOC 정보가 무의미해진다.

 

[그림 3] 파일 끝에 포함된 날짜 정보

 

ASEC은 로더(Loader) 내에서 10가지 종류 이상의 악성코드를 발견했으며, 이 밖에 확인하지 못한 다른 악성코드가 있을 가능성도 있다. 다음은 앞서 [표 2]에서 소개한 10가지 악성코드를 분석한 내용이다.

 

1. 악성 매크로 문서

2021년 4월 중순 ‘참가신청서양식.doc’ 등의 이름을 가진 악성 매크로를 포함한 워드 문서가 발견된다. 상단의 ‘콘텐츠 사용’ 버튼을 클릭하기 전에는 매크로가 실행되지 않으므로, 호환성 오류 등의 이유로 사용자의 클릭을 유도한다.

 

또한 문서 내용 중 ‘프로그램’이 ‘프로그람’으로 잘못 표기되어 있다. 단순 오타일 수도 있지만 ‘프로그람’은 프로그램의 북한식 표현으로 제작자가 평소 언어 습관으로 실수했을 가능성이 높다.

 

[그림 4] 참가신청서 양식 문서 내용

 

이들 문서의 매크로 코드는 서로 유사하며 이미지 변환 기법을 사용해 실행 파일형 악성코드를 로드한다. 상세한 매크로 코드 분석은 2021년 10월 AhnLab TIP 포털에 공개된 ‘Lazarus 그룹의 NukeSped 악성코드 분석 보고서’에서 확인할 수 있다. 참고로, 해당 보고서는 AhnLab TIP 이용 고객에 한해 열람 가능하다.

 

2. Loader

로더(Loader)는 크게 32비트와 64비트 형태가 있으며, 파일 이름은 다양하지만 ‘iexplore.exe’가 가장 많다. 메모리에서 실행되는 악성코드는 리소스나 파일 끝에 암호화된 형태로 존재하며, 암호 해제 후 메모리에서 실행된다.

 

[그림 5] 암호화 내용 예

 

로더의 기본 구조는 동일하지만, 코드 곳곳에 쓰레기 값 등을 추가해 보안 프로그램에서 공통 진단 값을 찾기 어렵게 한 것이 특징이다.

 

[그림 6] 암호해제 코드에 포함된 쓰레기 코드

 

암호 해제 후 악성코드를 할당 받은 메모리 주소로 복사할 때 PE(Portable Executable) 헤더를 포함한 파일 앞부분을 제외하는데, 이는 보안 제품을 우회하기 위한 목적으로 보인다.

 

상세한 분석 내용은 ThreatRay 블로그에서 확인할 수 있다.

 

3. TigerDownloader

타이거다운로더(TigerDownloader)는 2021년 5월 국가 연구소 공격에 사용된 악성코드로, 악성코드 내부에 ‘Tiger’ 문자열이 존재하여 KRCert에서 이와 같이 명명했다. 파일 이름은 ‘iexplore.exe’이며 파일 크기는 267,334 바이트다.

 

TigerDownloader는 다른 악성코드를 다운로드하며, 시스템 정보를 전송하고 5가지 명령(o,p,q,r,s)을 수행한다. 또한 Tiger는 C&C 서버 명령을 송수신할 때 식별자로 사용된다.

 

[그림 7] Tiger 문자열

 

참고로, 안랩과 KRCert에서 공개한 악성코드의 해시 값이 다른데, 이는 파일이 생성될 때 추가되는 날짜와 시간 정보로 인해 해시가 달라졌기 때문이다.

 

4. ApolloZeus

아폴로제우스(ApolloZeus)는 64비트 백도어로, 파일 이름은 ‘ais.exe’이며 크기는 388,620 바이트다. 해당 악성코드는 C&C 통신을 할 때 ‘ApolloZeus’ 문자열을 사용해 ApolloZeus라 명명되었다. 하지만 코드 내에는 ApolloZeus 문자열이 XOR 0x9C로 암호화되어 있어 이를 확인할 수 없다.

 

[그림 8] 암호화 문자열 해제

 

ApolloZeus는 통신에 성공하면 C&C 서버에 감염된 컴퓨터의 OS 버전, 계정이름, IP 주소 등을 전송하고 명령을 기다린다. 백도어의 주요 명령은 자기 삭제, C&C 서버 접속 간격 변경, 파일 및 디렉토리 관리, 프로세스 실행, 디스크 정보 및 파일 전송, 파일 다운로드 등이다.

 

5. AndaBot

안다봇(AndaBot)은 약 240 킬로바이트 길이로, 대부분의 파일 이름은 ‘iexplore.exe’이다. 실제 악성코드는 파일로 생성되지 않고 메모리에서만 실행되며, 32비트와 64비트 버전이 있다.

 

공격 순서는 먼저 Mutex(예: qtrgads32)를 생성하고 GetAdaptersInfo API를 통해 기본 시스템 정보를 수집하여 C&C 서버로 전송한 후 명령을 받는다. 원격에서 cmd.exe 실행 및 파일 다운로드와 실행 등의 명령을 수행한다. 또한, C&C 서버와 통신할 때 안다리엘 그룹의 Phandoor, Rifdoor 등의 악성코드에서 사용한 유사한 암호화 방식을 사용해 통신한다.

 

6. TigerRat

KRCert는 64비트 백도어를 ‘TigerRat’으로 명명했다. 파일 이름은 ‘lsdev.exe’, 크기는 467,968 바이트다. TigerRat은 28개 이상의 명령이 존재하며 파일 제어, 화면 캡쳐, 클립보드 데이터 유출 등의 기능을 가지고 있다.

 

[그림 9] 통신 문자열

 

C&C 통신을 할 때에는 “HTTP 1.1/index.php?member=sbi2009 SSL3.3.7.” 문자열을 전달한다.

 

7. RemoteShell

리모트쉘(RemoteShell)은 길이가 306,224 바이트이며, 파일명은 ‘iexplore.exe’이다. 해당 악성코드는 원격에서 명령 프롬프트(cmd.exe)를 실행할 수 있다. 또한, 파일 끝에 날짜가 추가되어 감염되는 시스템마다 해시가 다른 파일이 생성된다.

 

8. Andalogger - Keylogger

안다로거(Andalogger)는 2020년 4월 처음 발견되었으며, 파일명은 ADSCli.exe, iexplore.exe, spool.exe, taskpm.exe, V3Update.exe 등으로 다양하다. 파일 크기는 270 ~ 312 킬로바이트다.

 

[그림 10] 키로거 특징적 문자열

 

2020년 10월 변형부터 파일 끝에 날짜 정보를 추가해 파일 해시가 매번 달라진다. 하지만 파일 길이는 대부분 313,392 바이트로 동일하며 312,880 바이트 크기를 가진 변형도 발견되었다. 키 입력 내용 뿐 아니라 한글키([HANGUL]), 한자키([HANJA]) 등의 기록도 남긴 한국 맞춤형 키로거다.

 

9. LoginStealer

2020년 10월, 웹 브라우저 등에 저장된 로그인 정보를 훔쳐가는 악성코드 ‘로그인스틸러(LoginStealer)’가 발견되었다. LoginStealer는 크롬(Chrome), 파이어폭스(Firefox), 인터넷 익스플로러(Internet Explore) 브라우저의 로그인 정보를 추출한다. 2021년 5월 공격에 사용된 call.exe 파일은 오페라(Opera), 네이버 웨일(Whale) 등의 웹 브라우저 정보도 추출할 수 있으며, 메일 계정 정보, 최근 사용 파일명 등을 수집한다.

 

10. Andasom Ransomware

2021년 6월 카스퍼스키의 블로그에 따르면, 안다리엘 그룹은 랜섬웨어를 이용해 한국 기업을 공격했다. 안랩은 카스퍼스키에서 공개한 랜섬웨어 정보를 바탕으로 변형 2개를 추가로 발견했다. 파일 이름은 mshelp.exe이며 크기는 약 116 킬로바이트다.

 

안다섬(Andasom) 랜섬웨어는 2020년에서 2021년까지 발견된 안다리엘 그룹의 다른 악성코드와 비교했을 때, 로더 및 난독화를 사용하지 않아 특징적 문자열을 쉽게 확인할 수 있다. 이 랜섬웨어는 특이하게 C&C 서버를 통해 암호 키를 받아온다. 현재는 C&C 서버가 중단되어, 카스퍼스키에서 실제 공격에 사용된 것으로 확인한 인자로도 정상적으로 실행할 수 없다.

 

공격 연관 관계​ ​​ ​​​​

안다리엘 그룹은 다양한 악성코드를 사용하여 다수의 공격을 전개했는데, 악성코드의 유사점 뿐만 아니라 공격 방식 등에서도 연관성을 짐작할 수 있는 요소가 있다. [그림 11]은 지금까지 탐지되었던 악성코드와 공격 방법의 연관성을 구조화한 것이다.

 

[그림 11] 안다리엘의 악성코드 및 공격법 관계도

 

우선, 안다리엘 그룹은 매크로 혹은 한국 소프트웨어의 취약점을 이용한 워터링 홀과 스피어 피싱 메일을 통해 공격을 진행했다.

 

2020년 이후 발견된 악성코드는 대부분 로더 내에 실제 악성코드가 존재하는 형태이며 32비트와 64비트 버전이 있다. 로더 형태의 악성코드 리소스 정보는 유사하다. 일부 변형의 경우 동일한 방식으로 파일 끝에 날짜와 시간 정보를 추가해 파일 해시가 매번 달라진다. 또 일부 악성코드는 안다리엘 그룹의 독특한 암호화 방식을 그대로 사용하고 있다.

 

결론

안랩은 자사 솔루션을 통해 악성코드를 진단하고 엔진 버전 정보를 파악했다. 공격 활동이 최근에 파악되었더라도, 안랩 제품군에서 과거에 관련된 악성코드를 진단했을 수 있다. ASEC에서는 해당 위협 그룹의 활동을 추적하며 관련 악성코드를 대응하고 있다.

 

안다리엘 그룹은 상위 혹은 협력 그룹으로 추정되는 라자루스 그룹과 달리 한국에서만 활동하고 있다. 한국의 IT 현황을 잘 알고 한국 소프트웨어의 제로데이 취약점을 이용한 공격을 즐겨 사용한다. 한국에서만 활동하는 만큼, 다른 위협 그룹과 비교했을 때 외국에서 관련 정보를 파악해 대비하기 쉽지 않다. 따라서 이들이 노리고 있는 군 관련 기관과 기업은 각별한 주의를 기울여야 하며, 피해 업체들의 정보 공유를 통한 보안 전략 수립도 필요하다.

 

출처 : AhnLab