PowerPoint 프레젠테이션

Similar documents
Deok9_Exploit Technique

EP의주소값이 "RVA : " 인것을볼수있다. 당연히올리디버거에서는해당 EP 값을이상하다고판단하여처음에 "System EP" 에서멈춘것이다. * ImageBase + RVA EP == VA EP == 현재바이너리에적용된프로

Secure Programming Lecture1 : Introduction

악성코드분석을위한 실행압축 해제기법 1. 개요 이제목을보고 실행압축이뭐야? 하는이도있을테고, 실행하면자동으로압축이풀리는 ZIP 파일과비슷한거아냐? 하고떠올리는이도있을것이다. 그러나여기서설명하는실행압축은그대상이다르다. 흔히말하는 ZIP, RAR처럼데이터들을하나로묶어놓는압

<41736D6C6F D20B9AEBCADBEE7BDC42E687770>

슬라이드 1

슬라이드 1

Visual Studio online Limited preview 간략하게살펴보기

예제와 함께 배워보는 OllyDbg사용법

vi 사용법

슬라이드 1

282서비스업관리-마트

#WI DNS DDoS 공격악성코드분석

Index


자식농사웹완

chungo_story_2013.pdf

*중1부

2

Çѱ¹ÀÇ ¼º°øº¥Ã³µµÅ¥

...._



전반부-pdf

표1.4출력

003-p.ps

<4D F736F F F696E74202D20312E20B0E6C1A6C0FCB8C15F3136B3E2C7CFB9DDB1E25F325FC6ED28C0BA292E >

_

12월월간보고서내지편집3

중앙도서관소식지겨울내지33

에너지포커스 2007년 가을호


01_당선자공약_서울

인권문예대회_작품집4-2




목차

A°ø¸ðÀü ³»Áö1-¼öÁ¤

±¹³»°æÁ¦ º¹»ç1

¿¡³ÊÁö ÀÚ¿ø-Âü°í ³»Áö.PDF

전반부-pdf

뉴스레터6호

Microsoft PowerPoint 하반기 크레딧 전망_V3.pptx

50차 본문 최종

양성내지b72뼈訪?303逞

³»Áöc03âš

fsb9¿ù³»ÁöÃÖÁ¾Ãâ

¾ç¼º-¾÷¹«Æí¶÷-³»¿ëÃà¼Ò4

전도대회자료집


< DBAB4B9ABC3BB5FBAB9B9ABB0FCB8AEB8C5B4BABEF32D33B1C72E706466>

표1~4

<3344C7C1B8B0C6C320BFE4BEE02D E706466>

µ¶ÀÏÅëÀÏÁý1~2Æíq36£02Ð


AhnLab_template

Microsoft PowerPoint - 07_04_s7기초기술교육_simatic_manager_operation.ppt [호환 모드]

Microsoft PowerPoint - chap01-C언어개요.pptx

AsProtect MUP

리눅스 프로세스 관리

Install stm32cubemx and st-link utility

Microsoft PowerPoint - System Programming Lab Week1.ppt [호환 모드]

Scalable Network-based Buffer Overflow Attack Detection

< C6520B1B8C1B6BFCD20BEF0C6D0C5B7C0C720BFF8B8AE2E687770>

강의10

악성코드분석보고서 학번 작성자김진홍작성일 2015 년 5 월 14 일 Keyword Downloader, Mouse cursor modification, Registry modification 1. 개요 1.1 요약 해당악성코드는악성코드를다운로드하는역할

Microsoft Word - PE Infection ? How to Inject a dll.doc

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

푸른21탄소중립행사내지확정

게시판 스팸 실시간 차단 시스템

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

<4D F736F F D20B1E2C8B9BDC3B8AEC1EE2DC0CCC5C3C7F62DC3D6C1BE>

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

Microsoft PowerPoint - chap-02.pptx

This is a title of the whitepaper

NTD36HD Manual

IDA use manual 1.0 Ad2m 1. IDA 기본구성 Menu Bar IDA 기본메뉴 Tool Bar 분석 Tool TAB 기능 (Hex, 그래프등 ) View Navigation Band 파일의코드부분을순차및섹션별색상으로보여줌. Disassembly 함수

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft Word - Armjtag_문서1.doc

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

4S 1차년도 평가 발표자료

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

vRealize Automation용 VMware Remote Console - VMware

Microsoft Word - Static analysis of Shellcode.doc

ActFax 4.31 Local Privilege Escalation Exploit

기술문서 Anti Reversing Techniques 박지훈

슬라이드 1

PowerPoint 프레젠테이션

[ 악성코드상세분석보고서 ] SK 커뮤니케이션즈해킹관련상세분석보고서 nateon.exe 대응 2 팀

1. Execution sequence 첫번째로 GameGuard 의실행순서는다음과같습니다 오전 10:10:03 Type : Create 오전 10:10:03 Parent ID : 0xA 오전 10:10:03 Pro

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

IDA 5.x Manual hwp

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

WinDbg 사용법

QR Code 복구記

Cubase AI installation guide

ThinkVantage Fingerprint Software

Transcription:

Black Falcon 입팀과제 Yoda's Write by FireM@rine

INDEX

Protector

02 CONTENTS 파일보호기법 (Protector) Protector 사용목적 크래킹 (Crackin) 방지 프로그램이크랙되어서불법적으로사용되는것방지 ( 게임보앆프로그램 ) 코드및리소스보호 PE 파일자체를보호하며파일이실행되었을때프로세스메모리를보호하여덤프를뜨지못하게함 특징 리버싱을막기위한다양한기법이추가 프로텍터들로압축된 PE파일들의크기는오히려원본 PE파일보다커지는경향 디버깅하기매우어려움 프로텍터종류 상용프로텍터 : ASProtect, Themida, SVKP 등 공개용프로텍터 : UltraProtect, Morphine, Yoda Protector 등

02 CONTENTS 파일보호기법 (Protector) 파일보호기법이란? Protector 실제악성코드에서사용되고있는실행압축해제를어렵게하는방법 yoda s Crypter, yoda Protecter, PE Crypt 등 암호화, 코드치환, 디버거무력화, API Redirection 등 파일보호시 PEP, OEP 위치

Yoda s Protector Yoda s Cryptor 어셈블리소스를기반으로 Ashkbiz Danehkar가맊든공개용프로텍터 현재마지막버전인 1.03.3를끝으로개발이중단됨 디버깅및디스어셈블링으로부터영향을받지않게맊듦 ( 보호함 ) 대부분의 PE파일을지원하고용량이작음

첫번째주요기능 Ollydbg 를종료시킴 Protector 는여러개의 API 의결합을이용해서모든실행중인프로세스들의 PID 번호를구하고현재실행된프로세스 ( Ollydbg ) 를검색 Protector 는타겟프로세스의 PID 와스스로의 PID 를비교한다음, 서로의 PID 가다르면그프로세스를종료 관렦된핵심 API 함수 : GetCurrentProcessID() 두번째주요기능 Protector 는 API 를이용해서입력장치들을막고사용자를시스템에서차단시키고다른검사들과복호화를시작 검사중에 Protector 가멈추거나 Ollydbg 가발견되면시스템은사용자의지시를기다림 ( 입력장치들이모두차단된상태에서사용자는컴퓨터를재시작할수밖에없음 [Ctrl+Alt+Del 가능 ]) 모든과정이정상적으로진행된다면 Protector 는 API 로차단한입력장치를해제 관렦된핵심 API 함수 : BlockInput()

Calc.exe( 계산기 ) 를 Packing Yoda s Protector 로패킹을하기위해 yp1.03.3 을실행해서패킹할파일을올림 패킹할파일 패킹될파일이름설정

Protect 를클릭하면파일을성공적으로보호했다는메세지창을띄우면서완료 파일크기가 114KB 에서 87KB 으로작아짐 패킹된파일 원본파일

MUP 를하기위해서패킹된 calc.exe 를 Ollydbg( 디버거 ) 안에서로드 OEP 찾기 모든 Exception 무시

BlockInput API 무력화 user32.dll 나올때까지실행 (F9) User32.dll 이로딩되면 Break on new module (DLL) 기능을해제 (Uncheck)

[Options] - [Debugging Option] - [Events] 탭의 "Break on new module (DLL)" 체크 BlockInput API 의실행을가로채기위해서 user32.dll 의로딩을중단해야됨

user32.dll 이로드될때까지 F9(Run) 클릭 Unknown Command 를맊날경우 Shift+F9( 강제실행 ) <Unknown Command 확인 >

user32.dll 로드 <user32.dll 로드 >

"Break on new module (DLL)" 를해제 (Uncheck) 더이상 DLL 로드시마다멈출필요가없음

BlockInput API 를수정하기위해서찾아감 user32.dll 모듈의 BlockInput API 에도달

BlockInput API 를수정해서입력장치들을사용할수있게함 BlockInput API 를없애기위해 RETN 4 전까지모든 code 를 NOP 로채움 RETN 4 에 Break Point BlockInput API 중단

Ollydbg 의종료를막기위해 PID 를얻음 LordPE 를실행해서 Ollydbg.exe 의 PID 를알아냄 (5B8) 참고 - Yoda Protector 는프로세스의 PID 를얻을때모든프로세스들이충돌없이실행되기위해서 CreateToolHelp32Snapshot 함수를사용함 - 스스로의 PID 를얻기위해서 GetCurrentProcessId 함수를사용 - Yoda Protector 는자신을시작한프로세스가자기의 PID 와동일한 PID 를갖고있는지확인 (ex. 보호된파일이 Debugger 를통해시작됐는지여부 ) - 만약 PID 가다르다면보호된파일은그프로세스를종료시킴

GetCurrentProcessId API 를수정하기위해서찾아감 코드화면에서 [Ctrl + G] 를눌러 GetCurrentProcessId 입력 kernel32.dll 모듈의 GetCurrentProcessId API 에도달

GetCurrentProcessId API를수정해서 Ollydbg의종료를막음 GetCurrentProcessId 는보호된파일의 PID를리턴 Ollydbg의 PID를리턴시키기위해변경 보호된파일의 PID가 Ollydbg의 PID라고인식하고 Ollydbg를종료하지않음 나머지는 NOP로채움 Ollydbg 의 PID 인 5B8 로바꿈 Ollydbg 의 PID 를리턴

Ollydbg 를 IsDebugerPresent 검색으로부터숨김 Plug-in 사용 [Plugins] [Olly Advanced] [Options] 클릭

실행후 BlockInput API 의 Break Point 에서두번멈춤 RETN 4 에서 2 번 Break 가걸림

OEP 가있는 code 에 Break Point Memory Map( 단축키 [Alt + M]) 을실행 첫번째섹션에 Set memory breakpoint on access 설정후실행하면 OEP 에도달

OEP 실행 (F9) 후패딩공간을맊나면 Shift + F9( 강제실행 ) OEP

OEP확인후 Dump OllyDump를사용해서덤프 [Plugins] [OllyDump] [Dump debugged process] 클릭 IAT를맞춰줌 ImportREC Tool 이 IAT 를맞춰주는보편적인 Tool

PEiD 로 MUP 전과후를비교