파일리스로 동작하는 Remcos RAT 악성코드

ASEC 분석팀은 악성 Excel 매크로파일을 통해 Remcos RAT 악성코드가 유포되는 것을 확인하였다. Remcos RAT 악성코드에 대해서는 본문 하단에 링크한 게시글을 통해 상세하게 소개한 바 있다. 스팸메일을 통해 유입되는 방식은 동일하지만, 여러 단계의 로더를 거쳐서 최종적으로 Remcos RAT 악성코드가 파일리스로 동작한다는 것이 주목할 부분이라고 할 수 있다.

전체적인 동작 방식을 요약하면 아래 그림과 같다.

그림 1) Filless Remcos RAT 악성코드의 동작과정

공격자는 메일의 첨부 파일을 통해 악성 매크로가 포함된 Excel 파일을 유포하는데, 매크로가 실행이 되면 PowerShell 을 이용하여 JS 파일과 추가 데이터를 내려받는다. 이후 Remcos RAT 악성코드는 윈도우 정상 프로세스인 MSBuild.exe 에 인젝션하는 방식으로 실행된다.

그림 2) 공격자가 Excel 파일 유포에 사용한 스팸메일

스팸메일의 본문은 본 메일이 자동으로 발송된 메일이니 회신하지 말라는 내용과, 첨부파일을 확인하라는 내용이다. Remcos RAT 악성코드를 첨부파일로 직접 유포하는 경우도 있으나, 이 경우에는 메일에 Excel 매크로파일을 첨부하는 방식을 이용하였다.

그림 3) 메일 내 XLS 첨부파일. 검정색 박스에서 A열을 숨김처리 한 것을 알 수 있다.
그림 4) 이미지 뒤에 숨겨진 텍스트
그림 5) Excel VBA 매크로 코드

Excel 첨부파일을 열어보면 다른 악성 Excel 매크로 파일과 크게 다르지 않다. 다만, 그림 5)의 매크로 코드를 확인해보면 A5, A6, A7 셀의 값을 활용하였기 때문에 공격자가 의도적으로 A열을 숨김 처리 한 것을 알 수 있다. (그림 3)

VBA 매크로 코드를 살펴보면, 먼저 셀A5,6,7 데이터에 대해 Hyperlinks 함수를 사용하고 이후 시스템 명령어를 실행하기 위해 Shell.Application(셀 A7) 오브젝트의 ShellExecute 메소드를 사용하여 “P” + owershell(셀 A6 역순데이터)로 셀A5의 데이터를 실행하는 것을 알 수 있다.

그림 6) 셀 A5 텍스트 디코딩 결과

VBA 코드에서 최종적으로 파워쉘을 이용하여 실행하게 되는 셀 A5 데이터를 디코딩하면 위의 그림과 같다. 실행창을 숨김속성으로 hxxp://192.227.158[.]111/fud.js 에서 js 파일을 내려받아 %APPDATA% 경로에 fud.js 파일명으로 저장 후 실행한다.

그림 7) js 파일 실행 시 확인되는 프로세스트리 (AhnLab RAPIT)
그림 8) fud.js 파일 내부의 Encoded 바이너리를 디코딩한 결과

fud.js 파일은 크게 두 부분으로 나눌 수 있는데, 코드 내용 중 주목할만한 몇 가지를 서술하면 다음과 같다.

1) 지속성 유지 ( cmd.exe )
 ● %APPDATA%Roaming 경로 하위에 js 파일을 복사 및 RUN 레지스트리에 등록.
 ● reg_key : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\lol
 ● reg_value : C:\Users\[사용자명]\AppData\Roaming\fud.js

2) 바이너리 로드 ( powershell.exe )
 ● AMSI(Anti-Malware Scan Interface) Bypass
[Ref].Assembly.GetType(‘System.Management.Automation.AmsiUtils’).GetField(‘amsiInitFailed’,’NonPublic,Static’).SetValue($null,$true)
 ● Test-Connection cmdlet
 google.com에 연결테스트를 수행하여 PC가 네트워크 연결이 가능한 상태인지 검증.
 ● 추가 악성 데이터 다운로드
 외부 URL(hxxp://vendorcreditglobal[.]online/file/dino.jpg)의 스트링을 내려받음.

그림 9) JPG 확장자로 위장한 인코딩 데이터파일 (파워쉘코드)
그림 10) 디코딩 상태의 파워쉘 코드 일부
그림 11) msbuild.exe 인젝션 코드

그림 10)의 작은 파란색 박스에 보이는 PE 시그니처인 4D5A(MZ) 를 통해 추후 PE 파일이 로드될 것임을 예상할 수 있다. 이 PE파일은 파워쉘 코드 내부에서 확인되는 첫번째 객체인데 닷넷 외형으로 패킹된 dll 파일이다. 두번째 객체는 gzip 형태의 파일인데, gzip 내부에는 바로 Remcos RAT 악성코드가 존재한다.

그림 11)의 마지막 부분에서 확인되는 ‘[YESS]::f77df00sd’ 함수는 정상 프로세스인 MSBuild.exe 에 인젝션하여 첫 번째 객체인 닷넷바이너리를 로드 후 두 번째 객체인 Remcos RAT 악성코드를 실행할 수 있도록 한다.

참고로 이번에 사용된 Remcos 는 지난 6월 18일에 릴리즈 된 최신 버전인 것으로 확인된다.

그림 12) Remcos RAT V.3.1.5
그림 13) Remcos RAT C2 패킷캡쳐 (RST)

위의 패킷캡쳐에서 알 수 있듯이 Remcos C2 서버에 연결 시도 시 RST 패킷이 수신되고 있으나, 서버가 살아있을 경우에는 키로거로 동작하여 확보한 데이터를 C2로 유출하며 추가적인 Remcos RAT 악성코드의 기능을 할 것으로 예상된다.

사용자들은 출처가 불분명한 메일의 첨부파일 실행을 자제하고, 만약 첨부파일을 다운로드 받았을 경우에는 매크로 실행(허용)을 지양해야한다. 문서 프로그램의 보안 설정이 낮은 경우에는 별도의 경고문구 없이 바로 매크로가 실행되기 때문에, 사용자는 보안 설정을 높음 수준으로 유지하여 의도치 않은 기능이 실행되지 않도록 주의가 필요하다.

또한, 사용하고 있는 안티바이러스 제품의 엔진 패턴 버전을 최신으로 업데이트하여 사용할 것을 권장한다.

안랩 V3 제품군에서는 본문에서 소개한 유형의 악성 파일들에 대해 아래와 같이 진단하고 있다.

[파일 진단]
Downloader/XLS.Agent
Trojan/Script.Obfuscated
Trojan/PowerShell.Remcos
Infostealer/Win.Agent.C4406797
Trojan/Win.RemcosRAT.R418128

[IOC]
d2a77c2544cc8621d1aa94712f04b8f2
c140a58ffaf225f718f458f7f3d5fb0c
60a903c61969620e47d53a73834ab687
5f26df061368bc395b87d693afb35990
0006e15486d33e1e6e6a8731e5880612
192.227.158[.]111/fud.js
vendorcreditglobal[.]online/file/dino.jpg
twistednerd.dvrlists[.]com (Remcos RAT C2)

연관 IOC 및 관련 상세 분석 정보는 안랩의 차세대 위협 인텔리전스 플랫폼 ‘AhnLab TIP’ 구독 서비스를 통해 확인 가능하다.

5 1 vote
별점 주기
guest
0 댓글
Inline Feedbacks
View all comments