악성코드 분석방법 PINCOM 김영성 dokymania@naver.com 13. 09. 28.

Slides:



Advertisements
Similar presentations
Python Essential 세미나 1 CGI 프로그램 작성법 발표자 : 박승기 ( 수 )
Advertisements

CHAP. 2 안드로이드 개발 도구 설치. © 2012 생능출판사 All rights reserved 개발 과정의 개요.
1 강. 안드로이드 개요 및 개발 환경 구축 - 안드로이드 개요 -JDK 설치 -Path 설정 - 이클립스 설치 -ADT, SDK 설치 Lecturer Kim Myoung-Ho Nickname 블스
공공기관을 위한 PC 관리 솔루션 솔루션 개요 주요 기능 구축사례 경쟁제품 비교 구축 예시 제품 정보 및 문의.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
W AKE UP 5 조 아르케. 개요 핸드폰 알람을 듣지못하고 다시수 면 스마트폰 알람의 진화 알람을 무시하고 잘수없는 환경 구축 알람과 동시에 간단한 게임들 자동구동 사용자가 알람 을 종료하지 못할 시 알람해제 불 가능 Five second films-late for.
Android 프로그램개발 환경. 학습 목표 ■ 교육 목표  JDK 설치  JDK 환경 설정  Eclipse 설치  Android SDK 설치  ADT Plug-in 설치  Android Virtual Device(AVD) 설치  Android 예제 프로그램.
앱인벤터 기초과정 (1차시) ㈜헬로앱스 강사: 김영준 목원대학교 겸임교수.
난이도 : 초급 제1장 앱 인벤터 소개 및 준비.
2016 유성환 Hybrid MOBILE.
엑셀리포트를 이용한 날짜별 리포트 자동 저장 방법
14주차 1교시 강화계획 [학습목표] 1. 강화계획의 정의를 안다 [학습내용] 1. 단순한 강화계획 2. 간헐적 강화 3. 복합 계획 4. 선택과 대응법칙 [사전학습] 강화계획이 일어날 수 있는 사례를 생각해본다.
Consumer PC & AIO PC DMI Refresh 방법 설명 (UEFI DMI Ver)
연장근로와 야간·휴일근로 김영호 노무사 나눔 노사관계연구소 소장 연세대 일반대학원 박사 수료 고려사이버대 법학과 외래교수
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
SAS Foundation Client 9.4 설치 가이드
3조 오세혁 김문환 김용현.
Ubiquitous Computing Practice - Part I (Installation) -
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
TETRIS FOR QTOPIA.
Root Filesystem Porting
C / C++ Programming in multi platform
제 2 장 WML 시뮬레이터 및 무선인터넷 서버 설치
Root Filesystem Porting
NJM Messenger 박상원 박연호.
Cross Compiler 설치.
SK Telecom 매출 통계 시스템의 SQL Server Reporting Services 적용사례
Git 사용법 GitHub 가입 GitHub 새 저장소 만들기 Git 설치 로컬 저장소 만들기 로컬 저장소와 원격 저장소 연결
CHAP 12. 리소스와 보안.
날짜: 팀명: TEAM-SIX 발표자: 이기영
Malware (Sample) Static/Dynamic Analysis (no reversing)
Method & library.
자바응용.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
2017년 1학기 국가근로장학금 장학생 교육 1.
㈜시스원이 제공하는 시스템 관리 통합 솔루션 SysmanagerOne Agent설치 안내서
이름 : 황 상 두 전화번호 : 이메일 : PinTool 이름 : 황 상 두 전화번호 : 이메일 :
27장. 모듈화 프로그래밍.
Device Driver 임베디드 시스템 I.
설치 환경 □ 운영체제 버전 : CentOS Linux 7.2 □ 리눅스 커널 버전 :
Go Lang 리뷰 이동은.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Flash Communication Server
Chapter 34. Advanced Web Page Options
2강_첫번째 안드로이드 프로젝트 에뮬레이터(AVD) 만들기 처음 만들어 보는 프로젝트 전체적인 구성 살펴보기
자바 5.0 프로그래밍.
LabVIEW WiznTec 주임 박명대 1.
악성코드 분석 Malware Analysis 악성코드 분석
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
CHAP 21. 전화, SMS, 주소록.
( Windows Service Application Debugging )
웹(WWW).
KISTI Supercomputing Center 명훈주
05. General Linear List – Homework
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
[INA240] Web Programming Homework #2 [INA240] Web Programming
Tensorboard in Windows
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
과제 4: Thread (5월 9일까지) 4장 연습문제 풀이
CODE INJECTION 시스템B 김한슬.
Docker Study 6~7.
Eclipse를 이용한 Embedded Linux 응용 프로그램 개발
핸드터미널 조작 및 S/W 업그레이드 통신 확인하기.
펌웨어(S/W) Upgrade 방법 Samsung Kies3
유승석 FILE I/O File Input/Output 유승석 SD50 – C# & .NET Platform.
6 객체.
원격업무지원 서비스 F A Q 한국교육학술정보원.
Presentation transcript:

악성코드 분석방법 PINCOM 김영성 dokymania@naver.com 13. 09. 28

목차 1 분석순서 2 초기분석 3 Unpack 4 동적분석 5 Debugging

분석 순서 초기분석 UnPacking 동적분석 Debugging

초기분석 - PEiD 악성코드의 외형을 분석 UPX Packed

초기분석 – Strings (Sysinternals)

Unpacking – using unpacker upx –d packed파일 –o목적파일

Unpacking – using unpacker Unpacked !

동적분석 – tool 소개 악성코드를 실행시켜서 각종 모니터링 툴로 관찰 <Process Explorer> <TCPView>

동적분석 – tool 소개 <Process Monitor> <Autoruns>

동적분석 – tool 소개 Command 명령 조합으로 Batch 파일 제작 -> 전, 후의 상황을 비교할 때 유용

자동화 분석(Automated System) cuckoo sandbox, CWsandbox http://www.cuckoosandbox.org http://mwanalysis.org

< CWSandbox의 기본 구조 > 자동화 분석(Automated System) < CWSandbox의 기본 구조 >

자동화 분석 – Cuckoo sandbox

자동화 분석 - https://malwr.com/ cuckoo sandbox 기반 VirusTotal library 이용

참고) APK 자동화 분석 < 안드로이드 apk 파일 분석 서비스 > Stowaway SanDroid Mobile-Sandbox23 CopperDroid ComDroid AndroTotal <Windows binary, APK, 의심스러운 URL> Anubix

동적분석 – Automated System

동적분석 – Automated System

동적분석 – Automated System

동적분석 – Automated System

동적분석 – Automated System

동적분석 – Automated System 4개의 DropFile 존재

동적분석 – Automated System

동적분석 – Automated System DarkSeoulDropper API호출 흐름

동적분석 – Automated System DarkSeoulDropper API호출 흐름

동적분석 – Automated System DarkSeoulDropper API호출 흐름

동적분석 – Automated System AgentBase.exe API호출 흐름

Service for VISMS Agent 동적분석 – Automated System Pasvc.exe vs Clisvc.exe 구분 Pasvc.exe Clisvc.exe 제품 Ahnlab Policy Agent ViRobot ISMS 회사 Ahnlab, Inc. Hauri 설명 paSvc Service for VISMS Agent 디렉토리 %PROGRAMFILES%\AhnLab\APC2\Policy Agent %PROGRAMFILES%\Hauri\SiteClient

동적분석 – Automated System AgentBase.exe API호출 흐름 PhysicalDrive0~9 까지 진행

동적분석 – Automated System AgentBase.exe API호출 흐름 SYNCHRONIZE | FILE_SHARE_READ SYNCHRONIZE | GERNERIC_WRITE | FILE_READ_ATTRIBUTES B: ~ Y: 까지 진행

악성코드는 모든 조건에서 실행되지 않는다. 동적분석 – Malwr.com의 한계 악성코드가 실행될 수 있는 Ex) - 악성서버와의 연결이 되어야 작동 - runtime library가 필요한 언어로 작성 - OS버전, 서비스팩에 따라 실행 악성코드가 실행될 수 있는 환경을 만들어 줘야 함.

Behavioral Analysis가 없다? 동적분석 – Malwr.com의 한계 - DarkComet ?? < darkComet > Behavioral Analysis가 없다? < darkSeoul >

동적분석 – Malwr.com의 한계 - DarkComet - XP sp3 환경에서 실행

동적분석 – Malwr.com의 한계 - DarkComet

동적분석 – Malwr.com의 한계 - DarkComet

IDA https://www.hex-rays.com Debugging - Tool UserMode Debugging http://www.ollydbg.de/ IDA https://www.hex-rays.com KernelMode Debugging Windbg http://msdn.microsoft.com

Debugging - 필요지식 Programming 언어 - Assembly, C, C++, …. StartUp Code - Main문이 실행되기 이전의 초기화 담당 - 프로그램 언어 / 컴파일러 종류별로 다름

Debugging - 필요지식 실행파일 구조 < ELF 구조 > < PE 구조 >

Debugging - DarkSeoulDropper DarkSeoulDropper의 StartUp Code

“C:windows\temp\~v3.log” 가 없으면 AgentBase.exe 실행 Debugging - DarkSeoulDropper dropfiles “C:windows\temp\~v3.log” 가 없으면 AgentBase.exe 실행

Debugging - DarkSeoulDropper "c:\Documents and settings\Administrator\Local Settings\Application Data\Felix_Deimel\mRemote\confCons.xml“ => mRemote "c:\Documents and settings\Administrator\Application Data\VanDyke\Config\Sessions“ => SecureCRT

Debugging - DarkSeoulDropper mRemote 설치 O -> 4033A0 함수 호출 SecureCRT 설치 O -> 404370 함수 호출

Debugging – 4033A0 함수 <Node , Username=“root” , Protocol=“SSH : 문자열이 존재하는지 Password=“” : 문자열이 존재하지 않는지 확인

Hostname, Descr, Panel, Port, Password 파싱 Debugging – 4033A0 함수 Hostname, Descr, Panel, Port, Password 파싱

Debugging – 404370 함수 %TEMP%\conime.exe -batch -P PORT -l root Password %Temp%\~pr1.tmp 서버 IP:/tmp/cups %TEMP%\alg.exe -batch -P PORT -l root -pw Password ServerIP "chmod 755 /tmp/cups;/tmp/cups"

Dropfiles - ~pr1.tmp

Dropfiles – conime.exe, alg.exe - Conime.exe : PSCP Console( Build 2006.03.13 23:32:43) - Alg.exe : Putty Console( Build 2013.02.14 23:14:13)

Dropfiles – AgentBase.exe

.NET File Reversing - DarkComet ?????????????

MSIL 코드 자체에는 데이터 형식 등 자세한 정보들이 포함 => 정확한 디컴파일 가능 .NET File Reversing - DarkComet MSIL 코드 자체에는 데이터 형식 등 자세한 정보들이 포함 => 정확한 디컴파일 가능

.NET File Reversing - DarkComet Decompiler - .NET Reflector

.NET File Reversing - DarkComet Decompiler - .NET Reflector

참고자료 - 강흥수 멘토님의 BoB 수업 - Ahnlab Clinic Center - [악성코드 탐지 -3] 에뮬레이터와 샌드박스 http://acc.giro.or.kr/secu_view.asp?seq=9531&category=01 https://malwr.com/ Elf 구조 : http://pobimoon-syspg.blogspot.kr/2012/03/mips.html PE 구조 : http://reversecore.com/18 .NET Framework 오류 : http://shallbox.tistory.com/43 - NSHC 3.20 사이버테러 사고 분석 보고서 악성코드 분석방법론 ASEC 장영준 연구원 http://www.slideshare.net/youngjunchang14/slideshare-21143372 < 악성코드 출처 > http://contagiodump.blogspot.kr <.Net 그림 출처> http://dotnetclass.blogsome.com

Q&A