ISBN : 000-00-000-0000-0 최신취약점분석정보 (MicroSoft Office 메모리손상취약점 ;CVE-2015-1641) 2016 년 한국과학기술정보연구원 과학기술사이버안전센터
1. 소개 CVE-2015-1641 취약점파일은 16년 8월경최초로발견되었으며, Microsoft Office 메모리손상취약점이다. 문서에포함된 Embedded Object * 에의해발생된다. * 객체연결및포함 (OLE) 에서한응용프로그램이생성한목적문서에포함된다른응용프로그램에서만든객체 ( 텍스트, 차트, 그랙픽등어느것이나될수있다 ) 여기서 invbdr.doc 는.doc 확장자를가지고있지만 RTF * 문서파일이며, 해당파일은 < 다음 > 과같이구성되어있다. * Rich Text Format 약자로텍스트파일일종이며, 글꼴과글꼴크기등의정보포함 RTF Header 1 ST Embeded Object 2 nd Embeded Object 3 rd Embeded Object 4 Th Embeded Object Shell Code Malware File Data MS Office 제품군중에서취약한버전정보는 < 다음 > 과같다. MS15-022 패치를 하지않을경우 MS Office 에서지원하고있는모든버전에취약할수있다. 취약한버전정보 MS Word 2007 MS Word 2010 MS Word 2013 취약점패치정보 MS15-022 MS15-022 MS15-022 - 1 -
2. invbdr.doc 파일분석 가. ASLR 우회 invbdr.doc 에는악성파일데이터와이를드롭 (Drop) 및실행시키기위한쉘코드 (ShellCode) 가포함되어있는데, 쉘코드가정상적으로동작하기위해서는 ASLR (Address Space Layout Randomization) 우회가선행되어야한다. 이를위한방법으로 Non-ASLR module 을사용한다. invbdr.doc 파일에서첫번째오브젝트를살펴보면 < 다음 > 과같다. 여기서 objdata 를형식에맞게구분해보면 < 다음 > 과같다. - 2 -
해당 Object 는 ProgID 가 otkloadr.wrassembly.1 로식별되는 COM Object 를 로드한다. 그결과 OTKLOADR.DLL 과 Non ASLR 모듈인 MSVRC71.dll 이같이 로드된다. invbdr.doc 을실행시켰을때 OleLoad() 함수에의해 OTKOADRL.DLL 이로드되고 동시에 MSVRC71.dll 이올라오는것을확인할수있다. - 3 -
나. HEAP Spray 두번째오브젝트의 objdata 가메모리에올라갔을때의값은 < 다음 > 과같다. 데이터가압축된형태를취하고있으나.docx 파일이다. invbdr.doc 는 ActiveX 를사용해서.bin 파일데이터를메모리에로드한다. 그결과.bin 파일데이터가총 40 번반복해서메모리에로드된다. - 4 -
< 다음 > 은.bin 파일의패턴을보여준다. 여기서 ROP Chain 코드에의해 NOP Sled/ 쉡코드영역이실행권한으로변경된다. - 5 -
권한을변경하고나면해당영역으로이동해서코드가실행된다. NOP Sled 가 끝나면쉘코드가실행된다. 코드동작을살펴보면, invbdr.doc 는 Main 쉘코드와함께악성코드파일을가지고 있으며, 메모리맵파일을이용해서 Main 쉘코드를로드한다. - 6 -
메모리공간을할당한뒤에 Main 쉘코드를복사하고해당영역으로이동한다. 다. Main 쉘코드 (Shellcode) invbdr.doc 가가지고있는악성코드파일데이터는암호화되어있으며, 0xCAFEBABE 로 XOR 연산을하고나면 PE 파일데이터를확인할수있다. - 7 -
복호화가끝난후 winsvchost.exe 라는파일명으로 Temp 폴더경로에드롭한다. WinExec( ) 함수를사용해서 winsvchost.exe 를실행한다. - 8 -
마지막으로사용자를속이기위해 invbdr.doc 를다시실행한뒤에종료된다. - 9 -
3. AutopIt 악성코드정보 이메일계정과 Web 계정정보를탈취하는 AutoIt 악성코드.. winsvchost.exe 는 CVE-2015-1641 취약점을이용한문서파일에의해생성및 실행된다. 가. winsvchost.exe winsvchost.exe 는 AutoIt 으로만들어진 Installer 이며, < 다음 > 과같은 3 개의 파일을드롭한다. 파일생성경로 : C: Uers Administrator AppData Local Temp IXP000.TMP File Name DYRNiZTVKBDedfPGaZFYi.exe DYRNiZTVKBDedfPGaZF XVBieIGOcXTG Description AutoIt3.exe 악성 AutoIt Script 파일암호화된악성파일데이터 - 10 -
DYRNiZTVKBDedfPGaZFYi.exe 는 AutoIt v3 Script.exe 파일이며, AutoIt Script 로 작성된 DYRNiZTVKBDedfPGaZF 파일을실행한다. 또한, DYRNiZTVKBDedfPGaZFYi.exe 파일실행시전달되는 Commanad Code 는 < 다음 > 과같다. Command Code; C: Users ADMINI~1 AppData Local Temp IXP000.TMP DYRNiZTVKBDedfPGaZFYi.exe DYRNiZTVKBDedfPGaZF 나. DTRNiZTVKBDedfPGaZF DYRNiZTVKBDedfPGaZF 에는 Autoit Script 가 < 다음 > 과난독화되어있다. - 11 -
코드동작을순서대로살펴보면, 먼저 %AppData% 경로에복제파일을생성하고 파일속성을시스템파일및숨김속성으로변경한다. 감염 PC 환경을체크하여가상환경이라고확인되면동작이종료되며, 여기서확인 하는프로세스는 < 다음 > 과같다. vmtoolsd.exe VboxTray.exe SandboxieRpcSs.exe winsvchost.exe 는 RegAsm.exe 프로세스에 XVBieIGOcXTG 파일데이터를삽입시킨다. RegAsm.exe 는버전에따라설치경로가상이하기때문에선행작업으로감염 PC의.NET Framework 의버전 (.NET Framework v2.0.50727,.net Framework v4.0.30319) 을반드시확인한다. XVBieIGOcXTG 파일데이터는암호화되어있기때문에복호화가필요하다. 이때 Windows Crypt 관련함수를사용하고복호화키값은 DYRNiZTVKBDedfPGaZF 에 포함되어있다. 최근유포되는변종파일을실행했을때 < 다음 > 과같은에러메시지를확인할수 있다. 이러한현상은암호화되어있는파일의복호화가정확하게이루어지지않은 상태에서타깃프로세스에삽입시켰을경우발생한다. - 12 -
복호화가완료되면해당파일데이터를 RegAsm.exe 프로세스에삽입시키며, Process Hollowing 기법을사용한다. 다. 악성 RegAsm.exe 악성 RegAsm.exe 는이메일계정및 Web 계정정보를탈취한다. 이때동일한 방식으로정상 vbc.exe 에악의적인코드를삽입시킨다. - 13 -
그결과이메일계정및 Web 계정정보가텍스트파일로저장된다. 악성코드가수집한 Web 계정정보는 < 다음 > 과같다. 사용자가접속한 URL 정보 및사용자정보 (ID, PassWord) 정보가포함되어있다. 해당파일은조정 (C&C) 서버로전송된다. - 14 -