Digital Forensic Report (Infringement Accident Scenario #1) 침해사고대응 : E-MAIL 시나리오분석 Best of the Best 4th Digital Forensic Track YungSan University Kim. Dong-Hyeon ddddh.tistory.com 2016-04-05
Abstract 시간이흐를수록기업들을목표로하는공격방법들이많아지고있다. 이문서는 E-MAIL 을통해서 악성코드가유포되는침해사고시나리오를통해어떻게공격이이루어지는지, 어떤방법으로분석을 해야되는지, 어떻게 E-MAIL 을안전하게사용할수있는지에대해서서술하였다. Last Saved 2016-04-19 II E-MAIL 시나리오분석
Table of Contents 1. SCENARIO OVERVIEW... 1 2. HACKER... 2 3. TARGET SYSTEM... 6 4. DETAILED BEHAVIOR... 7 5. HISTORY... 12 Last Saved 2016-04-19 III E-MAIL 시나리오분석
1. SCENARIO OVERVIEW 해커 A 는유명 B 대기업을해킹하고자결심한다. A 는철저한조사끝에 B 대기업에서쓰이는 OS 와소프트웨어정보들그리고 C 라는직원의이름과 E-MAIL 을알아냈다. 알아낸정보들을사용해 C 에게회사기밀문서인척악성코드가담긴메일을보낸다. C 는회사기밀문서를읽기위해메일을열어보았고. 몇일후 B 기업내의정보가해커 A 를통해공개되었고컴퓨터들은망가졌다. B 기업에서는바로디지털포렌식수사관을불렀다. Q1. 공격자와피해자는어떤메일을사용하였는가? Q2. 피해자는어떤 Web Browser 를사용하였는가? Q3. 피해자가다운로드한파일명은무엇인가? Q4. UNC 주소는어떻게되는가? Q5. 실행된악성코드의파일명은무엇인가? Last Saved 2016-04-19 1 E-MAIL 시나리오분석
2. HACKER 2.1. CVE-2014-4114 특수하게조작된 OLE 개체를포함하는 MS Office 파일을열경우윈도우즈 OLE 패키지매니저 (Windows OLE Package Manager) 역할을하는 packager.dll 가파일에내장되어있던 OLE 개체내의 INF 파일을 UNC 경로에접속하여원격으로다운받고실행될수있는취약점이다. *OLE (Object Linking and Embedding) 데이터간의정보를연결시켜준다. 예를들어서 OLE 가지원되는그래픽프로그램에서그림을그린후문서편집기와연결시키면나중에문서편집기의그림도같이바뀐다. *UNC (Universal Naming Covention) Windows Network 에서폴더나파일, 공유프린터등의네트워크자원을지정할수있도록하는것이다. UNC 를사용하게되면네트워크에연결하지않는경우나파일위치를모르는경우에도네트워크에있는문서를찾아볼수있다. 2.2. E-MAIL Python 을이용하여 B 기업으로스피어피싱메일 (Spear-Phishing Email) 을보냈다. [ 그림 2-1] 스피어피싱메일 * 실제스피어피싱메일사례 (http://blog.alyac.co.kr/163) Last Saved 2016-04-19 2 E-MAIL 시나리오분석
#-*- coding: utf-8 -*- import os import time import subprocess import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mimebase import MIMEBase from email import Encoders sender = "Ahacker@BCompany.com" toaddrlist = ["lolz1337@naver.com"] msg = MIMEMultipart('alternative') msg['subject'] = "[B 기업 ] 비자금내역 " msg['from'] = sender msg['to'] = ",".join(toaddrlist) Last Saved 2016-04-19 3 E-MAIL 시나리오분석
msg['subject'] = "[B 기업 ] 비자금내역 " msg['from'] = sender msg['to'] = ",".join(toaddrlist) attach = '[B_Company]SecreatFile.ppsx' if attach!= None: part = MIMEBase('application','octet-stream') part.set_payload(open(attach,'rb').read()) Encoders.encode_base64(part) part.add_header('content-disposition', 'attachment; filename=%s'%os.path.basename(attach)) msg.attach(part) text = ' 안녕하십니까? B 기업비자금내역서입니다. 오늘오후까지정리하여부장님께보고부탁드립니다. 인사처 A 드림 part1 = MIMEText(text, _charset='euc-kr') msg.attach(part1) ss = smtplib.smtp('localhost') ss.ehlo() ss.sendmail(sender, toaddrlist, msg.as_string()) ss.close() Last Saved 2016-04-19 4 E-MAIL 시나리오분석
2.3. VPN 업데이트예정. Last Saved 2016-04-19 5 E-MAIL 시나리오분석
3. TARGET SYSTEM Target Detailed Information Note Victim HW Type Virtual System VMWare v12 Computer CPU 1 Processer (2 Core) (PC) RAM 2,048 MB HDD Size 99.9 GB File System NTFS IP Address 192.168.128.2 NAT SW (OS) SW (Apps) Operating Microsoft Windows 7 System (SP1) Eng Web - MS Internet Explorer 32bit Document Microsoft Office 2013 Word, Excel, PowerPoint E-mail NAVER Last Saved 2016-04-19 6 E-MAIL 시나리오분석
4. DETAILED BEHAVIOR 4.1. TIMELINE Step Date/Time Action Additional Description Note D-Day 2016-04-11 12:20 Receive an e-mail Ahacker@BCompany.com lolz1337@naver.com Subject: [B 기업 ] 비자금내역 Body: 정리후보고해주세요 2016-04-12 08:57 Read an e-mail and downloaded attach file Searching the leakage methods through webbrowsers: SSCRET_FUND.PPSX - Microsoft Internet Explorer - NAVER E-MAIL 2016-04-12 08:58 Open files SECRET_FUND.ppsx Open and read files Connect UNC Connect UNC Path 192.168.0.2//public Read file Read.inf file 192.168.0.2//public/YrQJ.inf Rename files and Run gif extensions is changed (ex., *.gif *.gif.exe) 192.168.0.2//public/CRMq.gif CRMq.gif.txt Create file create CRMq.gif.txt %appdata% Last Saved 2016-04-19 7 E-MAIL 시나리오분석
4.2. BROWSING HISTORY Browser OS Path Internet Windows 7 %LocalAppData%\Microsoft\Windows\WebCache\WebCacheV01.dat Explorer 10, 11 Windows 8 %LocalAppData%\Microsoft\Windows\WebCache\WebCacheV16.dat %LocalAppData%\Microsoft\Windows\WebCache\WebCacheV24.dat Internet Windows 2000 Explorer 6, 7, 8, 9 Windows XP Windows Vista Windows 7 Chrome Windows 2000 Windows XP %UserProfile%\Local Settings\Temporary Internet Files \Content.IE5\index.dat %UserProfile%\Local Settings\Temporary Internet Files \Content.IE5\<Random>\< 모든파일 > %LocalAppData%\Microsoft\Windows\Temporary Internet Files\Content.IE5\index.dat %LocalAppData%\Microsoft\Windows\Temporary Internet Files\Content.IE5\<Random>\< 모든 File> %UserProfile%\Local Settings\Application Data\Google\Chrome\User Data\Default\Cache\\< 모든파일 > Windows Vista Windows 7 %LocalAppData%\Google\Chrome\User Data\Default\Cache\ Last Saved 2016-04-19 8 E-MAIL 시나리오분석
4.3. E-MAIL HEADER Last Saved 2016-04-19 9 E-MAIL 시나리오분석
[ 그림 4-1] 악성메일헤더 메일을보내온곳의 IP 를찾으려면맨밑 Received 부터살펴보아야한다. 1. RECEIVED: FROM [172.30.100.165] (MEWEBMAIL.LOCALHOST [127.0.0.1]) 172.30.100.165 IP 로부터 127.0.0.1(LOOP BACK) 으로메일을보내왔고 172.30.100.165 는내부네트워크에서할당받은 IP. 2. RECEIVED: FROM LOCALHOST ([220.77.178.162]) LOCALHOST 에서 220.77.178.162 로전달. B HACKER 가사용하는공인 IP 는 220.77.178.162 로추측. Last Saved 2016-04-19 10 E-MAIL 시나리오분석
[ 그림 4-1] Who Is - KISA B Hacker 는 경상남도양산시주남동 에서악성메일을보낸것으로추정 ( 당연내가학교에서보냈음 ) ㅋㅋ [ 그림 4-1] 요약 1. Who Is 는 ISP 업체가직접등록한정보만을보여준다. 2. Who Is 는최종사용자에대한정보는가르쳐주지않는다. 결과 : 정확한정보를알려면수사기관등이법원을허가를받아 ISP 업체에요청을해야된다. Last Saved 2016-04-19 11 E-MAIL 시나리오분석
5. HISTORY Rev Issue Date Section History 1.00 2016-04-12 All - First release version 1.01 2016-05-* Malware - 업데이트예정 Last Saved 2016-04-19 12 E-MAIL 시나리오분석