엑셀 파일에 감춰진 파일리스 악성코드 주의
ASEC은 악성 엑셀 매크로 파일을 통해 Remcos RAT 악성코드가 유포되는 것을 확인했다. 스팸메일을 통해 유입되는 방식은 동일하지만, 여러 단계를 거쳐 최종적으로 악성코드가 파일리스 형태로 동작한다는 것이 주목할만한 부분이다. 파일리스 Remcos RAT 악성코드의 공격 방법에 대해 알아본다.
파일리스 Remcos RAT 악성코드의 전체적인 동작 방식을 요약하면 [그림 1]과 같다.
[그림 1] 파일리스 Remcos RAT 악성코드 동작 과정
공격자는 메일의 첨부파일을 통해 악성 매크로가 포함된 엑셀 파일을 유포한다. 매크로가 실행되면 파워쉘(PowerShell)을 이용해 자바스크립트(JS) 파일과 추가 데이터를 다운로드 받는다. 이후 Remcos RAT 악성코드는 윈도우 정상 프로세스인 MSBuild.exe에 인젝션하는 방식으로 실행된다.
스팸메일 본문은 본 메일이 자동으로 발송된 메일이니 회신하지 말라는 내용과, 첨부파일을 확인하라는 내용이다.
[그림 2] 공격자가 엑셀 파일 유포에 사용한 스팸메일
첨부된 엑셀 파일을 열어보면 다른 악성 엑셀 매크로 파일과 크게 다르지 않다. 다만, 매크로 코드를 확인해보면 A5, A6, A7 셀의 값을 활용했는데 공격자가 의도적으로 A열을 숨김 처리한 것을 알 수 있다.
[그림 3] A열 숨김 처리
VBA 매크로 코드를 살펴보면, 먼저 셀A5, A6, A7 데이터에 대해 하이퍼링크 함수를 사용한다. 이후 시스템 명령어 실행을 위해 Shell.Application(셀 A7) 오브젝트의 ShellExecute 메소드를 활용, “P” + owershell(셀 A6 역순데이터)로 셀A5의 데이터를 실행하는 것을 알 수 있다.
[그림 4] 셀 A5 텍스트 디코딩 결과
VBA 코드에서 최종적으로 파워쉘을 이용해 실행하는 셀 A5 데이터를 디코딩한 결과는 [그림 4]와 같다. 실행창을 숨김 속성으로 하고, hxxp://192.227.158[.]111/fud.js 에서 자바스크립트 파일을 내려받아 %APPDATA% 경로에 fud.js 파일명으로 저장 후 실행한다. fud.js 파일은 크게 지속성 유지(cmd.exe)와 바이너리 로드(powershell.exe)로 나뉘어진다.
[그림 5]는 디코딩된 파워쉘 코드의 일부이다. 파란색 박스에 보이는 PE(Portable Executable) 시그니처인 4D5A(MZ)를 통해 추후 PE 파일이 로드될 것임을 예상할 수 있다. 이 PE파일은 파워쉘 코드 내부에서 확인되는 첫번째 객체인데 닷넷 외형으로 패킹된 dll 파일이다. 두번째 객체는 gzip 형태의 파일로, gzip 내부에 Remcos RAT 악성코드가 존재한다.
[그림 5] 디코딩 상태의 파워쉘 코드 일부
[그림 6]은 MSBuild.exe 인젝션 코드다. 그림 마지막 부분에서 확인되는 ‘[YES]::f77df00sd’ 함수는 정상 프로세스인 MSBuild.exe 에 인젝션하여 첫 번째 객체인 닷넷바이너리를 로드한다. 이후, 두 번째 객체인 Remcos RAT 악성코드를 실행할 수 있도록 한다.
[그림 6] MSBuild.exe 인젝션 코드
참고로 이번에 사용된 Remcos RAT 악성코드는 지난 6월 18일에 릴리즈된 최신 버전인 것으로 확인된다.
악성코드는 Remcos C2 서버 연결 시도 시 RST 패킷이 수신되고 있다. 키로거로 동작해 확보한 데이터를 C2로 유출하며 추가적인 Remcos RAT 악성코드의 기능을 할 것으로 예상된다.
사용자들은 출처가 불분명한 메일의 첨부파일 실행을 자제하고, 만약 첨부파일을 다운로드 받았을 경우에는 매크로 실행 및 허용을 지양해야 한다. 문서 프로그램의 보안 설정이 낮은 경우에는 별도의 경고문구 없이 바로 매크로가 실행되기 때문에, 보안 설정을 높음 수준으로 유지하여 의도치 않은 기능이 실행되지 않도록 주의해야 한다.
또한, 사용하고 있는 안티바이러스 제품의 엔진 패턴 버전을 최신으로 업데이트해 사용할 것을 권장한다.
출처 : AhnLab