최근 국내 기업으로부터 난독화 되어 있는 스크립트 샘플이 접수되었다. 이는 2019년 초부터 해외에서 대량으로 유포되고 있는 Trickbot 다운로더로, 매크로를 사용하는 문서 파일 내부에 Javascript 파일이 내장되어 있어 이를 실행하면 Javascript가 악성 실행 파일을 다운받는 형태이다.
1. 문서 형태로 유포
WORD문서를 실행하면 아래 그림과 같이 ‘이전 버전에 만들어진 문서’라는 가짜 문구와 함께 ‘콘텐츠 사용’을 클릭하라는 문장이 적혀있다. 이는 VBA 매크로를 실행시켜 악성 스크립트를 동작하려는 속임수로 PC사용자는 가급적 알 수 없는 문서의 ‘콘텐츠 사용’ 버튼 누르는 것을 피해야 한다. 해당 문서의 특징은 본문 내부에 흰 글씨로 스크립트가 숨겨져 있다.
이후 WORD문서 프로그램의 ‘콘텐츠 사용’이라는 버튼을 누르게 되면 사용자가 모르게 스크립트가 동작하게 되며 간략 행위도는 아래와 같다.
2. 행위 요약도
1) 문서(DOC)파일의 매크로를 실행 시 임의확장자를 갖는 JS스크립트 파일을 생성한다.
ㄴ( 임의 확장자 : .ini , _backup, .rtf, .txt, _dec, .~, .dat 등 다양)
2) 문서 파일을 종료 시 wscript.exe를 통해 생성된 스크립트 파일을 실행한다.
3) 스크립트는 아래 유형과 같은 가짜 메시지 박스를 출력하며 버튼을 누르지 않아도 30초 이후 종료된다. 이는 사용자를 속이기 위해 “MS Word error”, “Insufficient permissions” 등 가짜 메시지를 사용했다.
4) 메시지 박스가 종료되면 쓰레기 코드로 시간 지연 행위를 한다. 이때 CPU 사이클이 높아지며 사용자 PC환경에 따라 지연 시간은 다르다. 분석 PC에선 약 4분 정도 소요되었다.
5) 이후 샌드박스 및 분석PC를 우회하기 위한 용도로 PC의 정보(프로세스 정보, OS정보 등)를 수집한 뒤 특정 기준으로 샌드박스인 경우 Error를 일으켜 종료된다.
6) 환경 체크가 끝나면 해당 스크립트를 시작 폴더(Startup 폴더)에 “shell.jse”이름으로 복사하여 부팅 시마다 스크립트가 실행되도록 한다.
7) 이후 공격자의 주소(hxxp://185.159.82.xx/…./)에 연결하여 수집하였던 PC 정보를 전송하고 %TEMP%경로에 랜덤숫자명으로 악성파일을 다운로드 및 실행한다.
공격자 서버로부터 다운로드되는 대부분 악성코드는 Trickbot이라는 뱅킹 및 정보 탈취형 악성코드로 윈도우 디펜더를 종료하고 ‘C:\User\(사용자계정)\AppData\Roaming\(특정이름)\data\’에 사용자 정보를 수집하여 유출하는 등의 악성 행위를 한다.
3. 가상환경 우회 기법(Anti-VM)
해당 자바 스크립트에서 사용된 안티 기법은 감염된 PC의 정보를 수집한 뒤 특정 문자열과 비교하는 것으로 자세한 정보는 아래와 같다.
1) 수집 정보
a. WMI쿼리를 이용해 OS의 Caption및 Version 정보 등 |
2) 비교 방법
위의 수집된 정보 문자열(a. b. 항목)의 전체길이가 1,300자(혹은 1,400자) 이하인지 비교하여 길이가 적은 경우, 가상환경으로 판단하고 종료하는 구조이다. 그리고 실행중인 프로세스 중 아래의 문자열을 포함하는 경우 분석 환경으로 판단하여 악성 프로그램을 다운로드 하지 않고 에러를 발생시킨다.
<비교 문자열> 2B.exe Procmon Wireshark Temp\iexplore.exe ProcessHacker vmtoolsd VBoxService python Proxifier.exe Johnson ImmunityDebugger.exe lordPE.exe ctfmon.exe*JOHN-PC BehaviorDumper anti-virus.EXE AgentSimulator.exe VzService.exe VBoxTray.exe VmRemoteGuest SystemIT|admin WIN7-TRAPS Emily\AppData PROCMON procexp tcpdump FrzState2k DFLocker64 vmware LOGSystem.Agent.Service.exe C:\Users\user\ C:\Users\milozs\ windanr.exe gemu-ga.exe HAPUBWS BennyDB.exe Peter Wilson Hong Lee |
가상 PC환경으로 예를 들면 아래와 같다. 가상 환경(VM)에서 a, b 항목 수집 정보 예시)
C:\Users\(사용자계정)\AppData\Local\Temp System Idle Process *null |
즉, 비교 문자열 중 ‘vmtoolsd’와 해당 환경에 vmtoolsd.exe프로세스가 존재하므로 해당 PC에서는 동작하지 않는다.
4. 결론
해당 악성코드는 지금도 유포되고 있으며, 백신업체가 진단하지 못하도록 지속해서 바뀌고있다. 최근에는 문서의 매크로 코드에 ActiveDocument.PrintOut 이라는 프린트 객체를 추가하여 매크로 실행 시 인쇄 작업 창을 띄우는 등, 정상 문서로 보이기 위한 여러 방법이 추가되고 있어 사용자의 각별한 주의가 필요하다.
한편 Ahnlab V3제품에서는 해당 악성코드를 다음과 같은 진단명으로 진단하고 있다.
<진단명>
- VBA/Dropper.S1~S6
- Win-Trojan/Suspig9.Exp
- Trojan/Win32.Trickbot
'악성코드 정보' 카테고리의 다른 글
BlueCrab 랜섬웨어를 유포하는 자바스크립트(*.js) 코드 변화 (0) | 2019.09.03 |
---|---|
Ammyy 해킹툴에서 확인된 Shim Database(SDB) 인젝션 공격 (0) | 2019.09.02 |
Exploit-Kit을 통해 유포되는 BlueCrab 랜섬웨어 (반복 UAC 주의) (0) | 2019.08.27 |
취약점(CVE-2018-4878)을 악용한 러시아發 악성코드 유포 (0) | 2019.08.21 |
[긴급] '스캔파일' 메일로 유포되는 워드 문서 주의 - Ammyy 유포 (0) | 2019.08.09 |
댓글