728x90
반응형

Reverse Engineering 30

SEH

일부 악성코드나 패커는 일부러 exception 을 발생시켜 분석을 방해하는 형태가 있다. 그때의 스택 구조와 각 구조체 정의에 대한 자료이다. 자료 정리는 팀내 모님께서 ... typedef struct _EXCEPTION_RECORD { DWORD ExceptionCode; DWORD ExceptionFlags; EXCEPTION_RECORD *ExceptionRecord; PVOID ExceptionAddress; DWORD NumberParameters; UINT_PTR ExceptionInformation[0Fh]; } EXCEPTION_RECORD; typedef struct _EXCEPTION_REGISTRATION { EXCEPTION_REGISTRATION *prev; EXCP_HANDL..

OllyBonE - 상당수 패커를 풀어주는 OllyDbg 플로그인

OllyBonE 는 패커를 손쉽게 풀어주는 툴 중 하나입니다. 2006년 블랙햇에서 소개되었다고 합니다. http://www.joestewart.org/ollybone/ 플러그인을 설치하면 OllyDbg 의 Plugins 에 OllyBonE 가 추가되고 메모리 맵 (Memory map)의 섹션에서 오른쪽 마우스 버튼을 누르면 Set break-on-execute 가 보입니다. 이 메뉴를 통해 코드를 수행하면 상당수 패커를 풀 고 OEP를 찾을 수 있습니다. [주의] 블루스크린 뜨면 DEP 를 끄라고 하는군요. Control Panel->System->Advanced->Performance->Settings->Data Execution Prevention.

정적분석과 동적분석

악성코드 분석 방법에는 크게 정적분석과 동적분석이 있다. * 정적분석(Static Analysis) 샘플 실행하지 않고 분석. 타백신 실행하기, 내부 스트링보기, 단순 디스어셈블(?) * 동적분석(Dynamic Analysis) 샘플 실행하면서 분석 모니터링 프로그램(윈도우 악성코드의 경우 파일, 프로세스, 레지스트리, 네트워크) * 코드분석 디스어셈블, 디버거, 리버스 컴파일러 초급, 중급, 고급은 바로 정적분석, 동적분석과 코드분석 실력의 차이

가상 시스템

가상 시스템 중 가장 많이 사용되는 프로그램이 VMWare 이다. http://www.vmware.com 마이크로소프트사에서 인수하여 현재 무료로 사용할 수 있는 Virtual PC 도 있다. http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx 하지만, 가상 시스템을 이용한 분석에는 다음과 같은 문제가 있다. 1. 가상 환경에서 프로그램이 실행 안될 수 있다. 일반적인 프로그램이라면 상관없지만 일부 패커는 가상 환경에서는 오동작 할 수 있다. 2. 가상 환경에서 악성코드가 제대로 실행되지 않을 수 있다. 최근에 악성코드는 가상환경을 인식해 가상 환경에서는 오동작하거나 실행되지 않는 경우가 있다. 악성코드 제작자들도 바보는 ..

F-Secure Reverse Engineering Challenge Level 1

F-Secure 리버스엔지니어링 문제 Level 1 의 그냥 따라가면된다. 파일은 아래에서 http://www.f-secure.com/khallenge/e3278641a885fedcdf7ec8bced72b8c1/FSC_Level1.zip 암호는 그냥 abcdef 라고 입력하고 코드를 따라가면 69001088 부터 원래 암호를 저장하는 것을 알 수 있다. %c 만 보면 8자 임을 알 수 있고 690010BF 가지 따라가 완성된 값은 Asm07REC 이 값을 690010C9 에서 비교함을 알 수 있다.

728x90
반응형