온라인 메모장 악용한 악성코드 주의하세요!

안랩 분석팀이 온라인 메모장 플랫폼, ‘aNotepad’를 통해 유포 중인 백도어 악성코드를 확인했다. 이 악성코드는 2022년 말부터 최근까지 지속적으로 발견되고 있으며, 윈도우와 리눅스에서 각각 사용되는 PE, ELF 파일 포맷을 지원하는 것으로 알려졌다. 공격자는 악성코드 제작 시 ‘WingOfGod’라는 문자열을 사용해 이번 글에서는 해당 악성코드에 ‘WogRAT’라는 이름을 붙였다. WogRAT 악성코드의 유포 과정을 자세히 알아보자.

 

 

 

[그림 1] 공격에 사용된 aNotepad 플랫폼

 

먼저, 윈도우를 노린 사례부터 살펴보자. 윈도우 버전의 WogRAT은 정상 유틸리티 툴로 위장해 다운로드를 유도하는 공격 방식이 사용되고 있는 것으로 추정된다.

 

실제로 공격에 사용된 악성코드는 “flashsetup_LL3gjJ7.exe”, “WindowsApp.exe”, “WindowsTool.exe”, “BrowserFixup.exe”, “ChromeFixup.exe”, “HttpDownload.exe”, “ToolKit.exe” 등 정상 유틸리티를 위장한 이름이 많았다. 바이러스토탈(VirusTotal)을 기반으로 분석한 결과, WogRAT의 주요 공격 대상 국가는 홍콩, 싱가포르, 중국, 일본 등 아시아 국가인 것으로 보인다.

 

윈도우 버전의 WogRAT 악성코드 중 하나는 닷넷(.NET)으로 개발됐으며, 어도비(Adobe) 툴로 위장해 유포됐다. 클래스 명을 보면 크롬 웹 브라우저 관련 툴이지만, 실제로는 내부적으로 암호화된 다운로더 악성코드의 소스 코드를 포함한다.

 

 

[그림 2] 암호화된 소스 코드

 

해당 악성코드가 실행되면, 공격자는 가장 먼저 소스 코드를 컴파일해 로드한다. 로드되는 동적 링크 라이브러리(Dynamic Link Library, DLL)은 aNotepad 플랫폼에서 문자열을 다운로드해 베이스64(Base64) 알고리즘으로 복호화한 후 로드하는 기능을 담당한다. 실제 aNotepad URL에 접속하면 다음과 같이 베이스64로 암호화된 닷넷 바이너리가 메모장에 문자열로 저장돼 있는 것을 확인할 수 있다.

 

[그림 3] aNotepad에 저장된 문자열과 이를 복호화해 로드하는 루틴

 

최종적으로 로드되는 DLL은 ‘WingsOfGod’라는 이름의 백도어 악성코드다. WogRAT은 처음 실행되면 감염 대상 시스템의 기본적인 정보들을 수집해 C&C 서버에 전송하며, 이후 명령 실행 및 결과 전송, 파일 다운로드 및 업로드 등의 명령을 지원한다.

 

[그림 4] WingsOfGod RAT의 메인 루틴

 

WogRAT은 최초 접속, 명령 다운로드, 명령 실행 결과에 따라 다음과 같은 구조의 데이터를 POST 요청으로 전송한다. 예를 들어, 아래 데이터는 최초 접속 시 전송하는 데이터 예시이다.

 

[표 1] 전송 데이터 구조

 

 

명령 다운로드 시에는 명령의 종류와 해당 작업의 ID, 명령 관련 데이터를 전달받는다. 예를 들어, 아래 데이터는 이름이 ‘upldr’(예시)인 작업으로, “C:\malware.exe” 경로의 파일을 읽어 C&C 서버에 전송하는 명령이다.

 

전달받는 명령 (예시): “task_id=upldr&task_type=3&task_data=C:\malware.exe”

 

[표 2] 명령 구조

 

[표 3] 지원하는 명령

 

참고로, 파일 업로드는 FTP 프로토콜을 사용한다. 현재 분석 중인 악성코드는 파일을 업로드할 때의 주소가 테스트 성 URL인 것을 보면, 기능을 지원하지 않는 것으로 보이지만, 다른 악성코드에서는 이를 활용하고 있다.

 

[그림 5] FTP 프로토콜을 활용하는 파일 업로드 명령

 

최초 유포 방식은 확인되지 않지만, 동일한 C&C 서버를 사용하는 악성코드들을 확인하던 중 리눅스 시스템을 공격하는 WogRAT도 함께 확인됐다. 리눅스 버전의 WogRAT은 윈도우 버전과 유사하며, 리리쿠베(Rekoobe) 백도어와 유사하게 오픈 소스 “Tiny SHell”의 루틴을 차용한 것이 특징이다.

 

WogRAT이 실행되면 일반적인 악성코드들처럼 프로세스 이름을 정상 프로세스와 유사하게 변경해 사용자가 눈치챌 수 없도록 한다. 현재 확인된 WogRAT은 모두 “[kblockd]”라는 이름으로 프로세스 이름을 변경한다. 이후 윈도우 버전과 유사하게 감염 대상 시스템의 기본적인 정보들을 수집하고 전송한다.

 

[그림 6] 윈도우 버전과 유사한 루틴들

 

최초 접속 시 전송하는 데이터 예시: “Online#beacon_id=1407-1708746837279&pid=1407&hostname=testPC&ip=xxx.xxx.xxx.xxx&uid=0&username=root”

[표 4] 전송 데이터 구조

 

전송 데이터 구조는 윈도우 버전과 약간 차이가 존재하지만, C&C 서버로부터 전달받는 데이터는 동일하게 “task_id”, “task_type”, “task_data”가 사용된다. 지원하는 명령 또한 다운로드 명령이 없는 것을 제외하면 거의 유사하다. 하지만 C&C 서버와 통신할 때 위 문자열들을 그대로 사용한 윈도우 버전과는 다르게, 데이터 전송 시 추가적으로 암호화해 전송한다는 차이점이 존재한다.

 

[표 5] 지원하는 명령

 

리눅스 버전의 WogRAT의 가장 큰 특징은 C&C 서버로부터 직접 명령을 전달 받는 대신, 리버스 쉘을 담당하는 서버에 대한 주소를 전달받고 해당 주소에 접속한다는 점이다. 과거 동일한 주소에서 WogRAT 대신 Tiny SHell이 유포된 점이나, 리버스 쉘(Reverse Shell) 루틴이 Tiny Shell과 동일한 것을 보면 공격자는 Tiny SHell 서버를 따로 구축해 두고 해당 주소로 접속하게 하는 것으로 추정된다.

 

공격자는 WogRAT 제작 시 Tiny SHell의 C&C 통신 방식과 리버스 쉘 기능을 그대로 사용했다. 즉, HMAC SHA1 알고리즘을 이용해 생성한 AES-128 키로 C&C 서버와의 통신을 암호화한다는 점과 무결성 검증에 사용되는 0x10 바이트의 값을 그대로 사용하는 점이 동일하다.

 

[그림 7] Tiny SHell과 동일한 루틴 및 데이터

 

대신, 악성코드에 사용된 비밀번호 문자열은 각각 “03c7c0ace395d80182db07ae2c30f034”, “194112c60cb936ed1c195b98142ff49d”로, 서로 다르다.

 

최근 윈도우뿐만 아니라 리눅스 시스템을 공격하는 WogRAT이 확인된 만큼, 사용자의 각별한 주의가 필요하다. 구체적인 공격 벡터는 확인되지 않지만, 수집된 파일들의 이름을 통해 공격자가 정상 유틸리티를 위장해 다운로드를 유도하는 방식을 사용 중인 것으로 추정된다.

 

 

사용자는 의심스러운 웹 사이트나 자료 공유 사이트에서 실행 파일을 설치할 때 신중해야 하며, 유틸리티 및 게임 등의 프로그램은 공식 홈페이지에서 다운로드하는 것이 안전한다. 또한, 사용 중인 AhnLab V3를 최신 버전으로 업데이트해 악성코드 감염을 사전에 차단하는 것도 방법이다.

 

 

​출처 : AhnLab

02-553-2331
견적 요청
카카오톡 문의