운송장으로 위장한 렘코스 RAT 공격, 그 수법은?

안랩 분석팀은 최근 대형 운송사의 운송장으로 위장한 렘코스(Remcos) RAT 악성코드를 발견했다. 공격자는 사회공학적 기법을 활용해 사용자가 의심 없이 악성 파일을 실행하도록 유도했다. 이번 사례에서 렘코스 RAT은 HTML, JavaScript, Autoit script 등을 거쳐 최종적으로 악성코드를 실행하는 방식으로 유포됐다. 해당 악성코드의 유포 흐름과 주요 특징을 살펴보자.

 

 

[그림 1]은 악성 메일의 원본으로, 내부에 HTML 스크립트가 첨부돼 있다. 사용자가 해당 HTML 파일을 실행한 후 Download 버튼을 클릭하면 [그림 2]와 같이 “747031500 D747031500_A.js” 파일이 다운로드된다. 하지만 이 파일의 다운로드 URL은 “blob” 형태로, 일반적인 외부 서버에서 직접 파일을 내려받는 방식이 아니다.

 

[그림 1] 유포 메일 원본

 

[그림 2] 첨부된 HTML 스크립트 본문

 

[그림 3]은 HTML 스크립트의 코드로 인코딩된 악성 자바스크립트를 오브젝트로 변환해 브라우저 내에서만 접근할 수 있는 URL을 생성하고, 이를 통해 “747031500 D747031500_A.js” 파일을 생성하는 방식을 보여준다.

 

[그림 3] 첨부된 HTML 스크립트 코드

 

[그림 4]는 HTML 파일로 생성된 자바스크립트 파일(747031500 D747031500_A.js)이다. 악성 행위와 무관한 난독화 목적의 더미 코드가 대부분인 것을 알 수 있다.

 

[그림 4] 난독화된 자바 스크립트(747031500 D747031500_A.js)

 

[그림 5]는 더미 코드를 제거한 실제 악성 행위를 수행하는 코드이다. 실행 시 [그림 6]과 같이 구동 파일을 생성(knkfcutogchunsg.bls, wtine.amv)하고 다운로드(kmwdx.txt, fdilfn.dll)하며, 기능은 아래 [표 1]과 같다. 구동 파일들을 생성한 후, 정상 Autoit 로더(kmwdx.txt)의 인자로 악성 Autoit 스크립트(fdilfn.dll)를 실행한다.

 

[표 1] 자바스크립트의 생성 파일의 기능

 

 

[그림 5] 복호화된 자바스크립트(747031500 D747031500_A.js)

 

[그림 6] 자바스크립트가 생성한 구동 파일

 

[그림 7] 악성코드 구동에 사용되는 설정 파일(knkfcutogchunsg.bls)

 

 

[그림 8]은 악성 Autoit 스크립트(fdilfn.dll)로 실제 행위와 관련 없는 더미 코드로 난독화 되어있다.

 

 

[그림 8] 난독화된 악성 Autoit 스크립트(fdilfn.dll)

 

[그림 9]~[그림 13]은 복호화된 Autoit 스크립트의 기능이다. 순서대로 [그림 9]는 특정 백신 프로그램 실행 시 종료되는 기능이다. 추가적으로 유저 이름(UserName)이 “John” 일 경우 종료되는 코드가 존재했다.

 

[그림 9] 악성 Autoit 스크립트 기능(백신 및 특정 유저명 존재시 종료)

 

[그림 10]은 지속성 유지를 위한 자동 실행 등록 기능이다. 자동 실행 레지스트리 키에 이름을 위장한 정상 Autoit 로더(kmwdxt.txt.exe)의 인자로 악성 Autoit 스크립트(fdilfn.dll)을 실행하는 명령어가 [그림 11]과 같이 등록된다.

 

[그림 10] 악성 Autoit 스크립트 기능(자동 실행 등록을 통한 지속성 유지)

 

[그림 11] 자동 실행 등록(악성 Autoit 구동 명령)

 

[그림 12], [그림 13]은 인코딩된 렘코스 악성코드 binary를 복호화하고 셸코드를 실행하는 기능이다.

 

[그림 12] 악성 Autoit 스크립트 기능(wtine.amv 를 디코딩 하여 remcos 바이너리 획득)

 

[그림 13] 악성 Autoit 스크립트 기능(셸코드 실행)

 

[그림 14]는 셸코드 기능의 일부 코드로 인젝션을 위해 정상 프로세스(RegSvcs.exe)를 실행(CreateProcessW) 하는 코드이다. 이후 [표 2] 와 같은 순서로 렘코스 악성코드를 인젝션 한다.

 

[그림 14] 정상 프로세스(RegSvcs.exe)에 렘코스 악성코드를 인젝션하는 셸코드

 

[표 2] 인젝션에 사용되는 API 순서

 

[그림 15]는 정상 프로세스인 RegSvcs.exe에서 실행되는 렘코스 RAT 악성코드의 메인 함수 일부를 보여준다. 최종적으로 실행된 렘코스는 RAT는 C2 서버의 명령을 받아 사용자 PC에서 정보를 탈취하거나, 다양한 원격 제어 명령을 수행할 수 있다.

 

[그림 15] 정상 프로세스(RegSvcs.exe)에서 동작되는 렘코스 RAT 악성코드

 

출처가 불분명한 메일 열람은 자제해야 하며, 2차 피해를 예방하기 위해 비밀번호도 주기적으로 변경해야 한다. 또한, 공격자의 주소나 침해당한 주소로 정보를 유출하는 것뿐만 아니라 정상 플랫폼을 C2로 활용하는 사례가 계속 증가하고 있어 사용자는 각별히 주의해야 한다.

 

 

출처 : AhnLab

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