Wins blog

글로벌 정보보안 파트너! Global Security  No.1 윈스는 국가대표 정보보안 기업에서 글로벌 강소기업으로 도약합니다.

악성코드 정보

앞 내용 보기 다음 내용 보기
악성코드 정보정보 탈취형 멀웨어 AZORult++
작성일 2019-05-28 조회 1541

1. AZORult++ 개요 

아조럴트(AZORult)는 데이터 탈취형 트로이 목마(Information Stealer)이다. 지난해 7월에는 랜섬웨어와 함께 배포된 적이 있으며, 10월에는 AZORult 3.3버전이 RIG익스플로잇 키트를 사용하여 배포됐다. 본 보고서에서 분석하는 샘플은 C++로 작성됐기 때문에 AZORult++라고 이름 붙여졌다.

 

2장은 악성코드의 패킷 분석에 대해 작성한다. AZORult++의 C&C 서버가 동작하지 않아 DNS 서버에 질의하면 Server Failure 응답이 반환된다. INetSim을 이용하여 가상 서버를 구축하고 AZORult++를 실행하면 악성코드가 수집한 데이터가 인코딩 돼서 전송된다.

 

3장은 악성코드의 실제 기능을 확인한다. AZORult++는 9개국(러시아, 우즈베키스탄 등)에서는 실행을 종료한다. 악성코드가 C&C 서버에 전송하기 위해 수집하는 데이터는 드라이브 볼륨 정보, 크롬 및 비트 코인 관련 정보, 인터넷 익스플로러 쿠키, 비트코인 전자 지갑(Electrum, exodus 등) 및 컴퓨터 정보를 획득한다. 수집된 데이터는 3바이트의 키로 인코딩하여 C&C 서버에 전송한다. 전송 후에는 유저 등록 및 원격 데스크톱 프로토콜(Remote Desktop Protocol, RDP) 사용을 위한 3389/TCP 포트 해제 등의 기능이 있다.

 

표 1은 AZORult++의 파일 정보이다. Win32 응용 프로그램이며, C&C 서버와 통신, 레지스트리 등록, 정보 수집 등의 악성 동작을 수행한다. 여러 안티바이러스 프로그램에서 트로이 목마로 진단한다.

 

 

표 1 SLUB Backdoor 파일 정보

 

 

 

2. AZORult++ 통신 패킷 분석

AZORult++은 DNS 서버에 “ravor.ac.ug” 도메인에 대한 정보를 질의(Query)한다. 하지만 DNS 서버에 정보가 없어 Server failure 응답이 반환됐다.

 

 


 
그림 1 AZORult++ 통신 패킷

 

 

AZORult++은 ravor.ac[.]ug와 통신하기 DNS 서버에 질의한다.

 

 


 
그림 2 AZORult++ 패킷 UDP Stream

 

 

그림 3은 패킷을 확인하기 위해 INetSim을 사용해 가상 서버를 생성한 후 진행했다. 그림 3 하단의 패킷은 수집 정보를 인코딩 한 값이다.

 

 

그림 3 AZORult++ 데이터 전송 패킷

 

 

 

AZORult는 수집한 데이터를 인코딩한 후 HTTP 요청(Request)을 한다. 인코딩 된 데이터는 그림 4와 같다.

 

 

그림 4 AZORult++ 패킷 TCP Stream

 

 

 

 

3.  AZORult++ 주요 특징

3.1. 악성코드 실행 국가 확인

AZORult++는 윈도우 시스템 언어의 코드를 읽어 표 2에 나오는 9개 국가(중앙아시아 및 유럽)에 해당하면 프로세스를 종료한다. 악성코드가 실행되지 않는 국가는 러시아, 아르메니아, 아제르바이잔, 벨로루시, 조지아, 카자흐스탄, 타지키스탄, 투르크메니스탄, 우즈베키스탄이다.

 

 

표 2 악성코드 미 실행 국가

 

 

3.2. 드라이브 볼륨 정보 획득

시스템 언어 확인 후 C 드라이브 볼륨 정보를 획득한다.

 

 

그림 5 C 드라이브 볼륨 정보 획득

 

 

그림 6의 붉은색 박스는 GetVolumeInformationW 함수로 획득한 값이다. 이 값은 공격자의 C&C 서버에 전송할 데이터 중 가장 앞에 위치한다.

 

 

그림 6 GetVolumeInformationW 함수 결과 값

 

 

3.3. 데이터 파일 수집

AppData 폴더에 있는 Roaming 및 Local 폴더에서 그림 7의 붉은색 박스에 표시된 파일의 정보를 메모리에 저장한다. 수집하는 파일은 Login Data, Cookies, Web Data, key3.db, key4.db, wallet.dat, *.wallet 이다.

 

 

그림 7 데이터 파일 수집

 

 

표 3는 AZORult++에서 수집하는 데이터 파일의 설명 및 경로이다.

 

 

표 3 데이터 파일 수집 설명 및 경로

 

 

AZORult++은 인터넷 익스플로러에서 웹 사이트 방문 시 생성되는 쿠키 정보도 수집 한다.  

 

 

그림 8 쿠키 정보 수집

 

 

쿠키 폴더 경로는 C:userscertAppDataRoamingMicrosoftWindowsCookies*이다.

 

 

그림 9 쿠기(Cookies) 폴더

 

그림 10은 쿠키(Cookies) 폴더의 파일을 수집한 결과이다. 쿠키 폴더에서 획득한 정보도 공격자의 C&C 서버로 전송된다.

 

 

그림 10 쿠키 폴더 정보 수집 결과

 

 

3.4. 비트코인 정보 획득

AZORult++은 비트코인 전자지갑 정보도 수집한다. 수집 대상은 비트코인 지갑인 Electrum, exodus, jaxx Liberty와 암호 화폐인 monero이다. 수집 경로는 C:UserscertAppDataRoaming이다.

 

 


표 4 비트코인 정보 수집 대상

 

 

지정된 경로(비트코인 전자지갑 및 데이터 파일)에 파일이 있는 경우에는 해당 정보를 수집하여 그림 11과 같이 압축파일을 생성한다.

 

 

그림 11 수집 정보 ZIP파일

 

 

3.5. 컴퓨터 정보 획득

쿠키 및 특정 파일의 정보를 수집 후 악성코드가 실행된 컴퓨터의 정보도 수집한다. 정보는 총 12개이며 표 5와 같다.

 

 


표 5 수집된 컴퓨터 정보

 

 

3.6. 정보수집 및 정리

표 6는 수집된 데이터 파일, 쿠키 및 컴퓨터 정보를 전송하기 위한 형식이다. 페이로드 마지막엔 압축 파일 형식의 바이너리 값이 있다.

 

 

표 6 데이터 전송 페이로드

 

 

 

표 6의 토큰은 .rdata 섹션에 있다.

토큰: 353E77DF-928B-4941-A631-512662F0785A3061-4E40-BBCE-3A27F641D32B-54FF-44D7-85F3-D950F519F12F

 

 

그림 12 .rdata 섹션에 저장된 토큰

 

 

데이터는 C&C 서버로 전송되기 전에 인코딩 된다. 인코딩에 사용되는 값은 0x,03, 0x55, 0xAEdd이며, 이 3개의 값을 표 6의 페이로드 구조로 만들어진 데이터와 한 바이트씩 XOR한다.

 

 

그림 13 전송할 데이터 인코딩

 

 

그림 14의 하단의 데이터는 인코딩이 완료된 상태이며 C&C 서버로 전송되는 패킷이다.  상단의 데이터는 인코딩 되기 전의 원본 데이터이다.

 

 

그림 14 원본 데이터(위) 인코딩 된 데이터(아래)

 

 

3.7. 유저 등록 및 원격 데스크톱 포트 해제

AZORult++은 NetUserAdd 함수로 사용자 계정을 추가한다. 만약, 이미 등록된 이름이면 에러가 발생하며, 신규 등록인 경우 멤버 등록, 레지스트리 등록 및 방화벽 해제 작업을 수행한다.

 

 

그림 15 유저 등록

 

 

유저 등록 및 원격 데스크톱 프로토콜(RDP)를 사용하기 위해 레지스트리를 등록한다.

 

 

표 7 레지스트리 생성

 

 

ShellExecuteW 함수를 사용하여 방화벽에 3389/TCP 포트가 통신이 가능하도록 Remote Desktop이름으로 등록한다.

 

 

그림 16 RDP 포트 해제

 

 

 

4. 결론

AZORult++는 데이터 탈취형 트로이 목마이다. 러시아 등 9개국에서는 실행되지 않으며, 컴퓨터 및 드라이브 볼륨 정보, 인터넷 사용 및 비트코인 관련 정보를 획득한다. 획득된 데이터는 3바이트 키로 xor 인코딩하여 C&C 서버에 보내진다. 전송 후에는 “7J0nPFTYqvCO”란 이름으로 유저를 등록하고 3389/TCP(Remote Desktop Protocol, RDP) 포트를 방화벽에서 연다. 해당 악성코드가 통신하는 C&C 서버의 도메인은 ravor.ac[.].ug이며, 조회 결과 미국 플로리다의 마이애미로 확인된다. DNS 서버(8.8.8.8)에 해당 도메인의 정보가 없어 통신이 되지 않는다.

 

4.1. AZORult++의 잠재적 영향

  1. 익스플로잇 키트, 랜섬웨어 등과 함께 배포될 수 있다.

  2. 인터넷 사용 및 비트코인 등과 같은 개인 정보가 유출될 수 있다.

  3. 개인 정보 유출 및 추가 악성코드 감염으로 인한 경제적 손실이 발생할 수 있다.  

 

4.2. AZORult++ 대응 방안

  1. 출처가 불명확한 이메일 및 첨부파일 열람을 하지 않는다.

  2. 수상한 웹사이트 접속 및 출처가 불분명한 파일 다운로드를 하지 않는다.

  3. 백신 설치 및 보안 업데이트를 최신으로 유지한다.

  4. 3389/TCP(RDP) 포트는 필요한 경우에만 등록 후 사용한다.

 

 

 

Indicators of Compromise (IoCs)

9d6611c2779316f1ef4b4a6edcfdfb5e770fe32b31ec2200df268c3bd236ed75

 

URLs

ravor.ac[.]ug

 

참고 문헌

[1] AZORult++: Rewriting history. (2019년 5월 17일). https://securelist.com/azorult-analysis-history/89922/.

첨부파일 첨부파일이 없습니다.
태그 AZORult++  Information Stealer  데이터 탈취형 트로이 목마  RDP  원격 데스크톱 프로토콜