보안/악성코드 분석

보안/악성코드 분석

악성코드 동적 분석 도구 올리디버거 활용

올리디버거(OllyDBG)란 무엇인가?디버깅 프로그램 중 하나로, 디스어셈블리와 디버그가 모두 가능한 도구로 리버싱에서 사용된다.디버거에 탑재된 Disassembler(디스어셈블러) 모듈이 기계어를 어셈블리어로 번역해서 보여준다.Debugger(디버거)는 다른 대상 프로그램을 테스트하고 디버그하는데 쓰이는 컴퓨터 프로그램이다.디버그란? 컴퓨터 프로그램의 정확성이나 논리적인 오류(버그)를 찾아내는 과정  올리디버거 활용올리디버거 아이콘을 더블클릭하여 실행해도 되지만, 분석할 파일을 마우스 우측 클릭 후 Open as OllyDbg를 클릭하여 실행도 가능하다. 분석할 파일을 올리디버거로 실행 후 화면을 보면 여러 코드들과 메모리 값들이 확인된다.1. 주소 창: 명령어가 실행될 주소를 가르키는 창2. OP 코..

보안/악성코드 분석

리버싱 개념 및 어셈블리어 설명

리버싱 기초리버싱은 통상적으로 컴파일된 바이너리(exe, dll, sys 등)를 디스어셈블(disassemble) 도구를 이용하여 어셈블리 코드로 변환하여 필요한 작업을 수행하는 것이다. 어셈블리 코드에서 소프트웨어의 동작 방식을 알아낸다거나 일정 부분만 수정하는 것도 리버싱이라 한다. ex) 악성코드 분석은 해당 파일 또는 프로그램에서 악성 행위를 하는 부분을 분석한다.프로그램을 디스어셈블 하지 않고도 그 실행 파일이 만들어내는 데이터 파일이나 패킷 등을 분석하여 그 프로그램을 재현하는 것도 리버싱이라 볼 수 있다.ex) 서버와 통신을 수행하는 기능이 있는 게임 프로그램이 디버거나 에디터를 활용하여 게임 프로그램을 조작하지 않고 패킷 분석 프로그램을 이용하여 패킷을 분석 및 동작을 흉내 내는 프로그램을..

보안/악성코드 분석

악성코드 동적 분석 도구 기능 및 사용법 (Process Monitor, Process Explorer)

악성코드 동적 분석 방법기초 동적 분석이란?프로그램을 직접 실행하며 분석(프로그램 실행에 의한 변화들을 확인, 로그 수집)악성코드 분석에서 가장 프로그램의 영향을 쉽게 파악프로그램의 기능을 파악하기 위해 악성코드 실행 전후 상태를 조사 및 분석분석 방법악성코드 실습 시 발생하는 호스트/네트워크 환경 구성(본 글은 win7 32bit 환경 구성)파일, 프로그램 실행, 레지스트리, 서비스 등 관련 항목 변경 사항 확인실행 시 발생하는 네트워크 트래픽 분석(Wireshark, Network Miner 등 활용)Windows 유틸 도구 다운로드 URL (Process Monitor, Process Explorer, Autoruns 포함)https://learn.microsoft.com/ko-kr/sysinter..

보안/악성코드 분석

DLL 의존성 확인 도구 (Dependency Walker) & 리소스 확인 도구 (리소스 해커) 기능 및 사용법

DLL(Dynamic Link Library) 이란?MS 윈도우에서 구현된 동적 라이브러리이다. 내부에는 다른 프로그램이 불러서 쓸 수 있는 다양한 함수들을 가지고 있다.자주 사용되는 표준적인 함수를 매번 직접 작성해서 사용하는 것은 지나치게 시간 소모적이므로 표준화할 수 있는 함수를 미리 만들어서 모아 놓은 것.DLL 파일 → 함수 모음, 1개의 EXE 파일로 볼 수 있다.DLL → 동적 링킹, EXE → 정적 링킹EXE와 DLL의 차이:가장 큰 차이점은 실행 시점이다. EXE(독립적 실행)는 필요한 모든 라이브러리들을 갖고 있다. DLL은 프로그램 실행 도중에 갖고 오거나 가져다 준다.EXE와 DLL 파일의 크기도 연관이 있으며, EXE는 독립적으로 실행하기 위해 모든 파일이 필요하여 그만큼 용량이 ..

보안/악성코드 분석

PE 헤더 분석 도구 (PEview, pestudio) 기능 및 사용법

악성코드 분석 이해악성코드 분석 = 바이너리 분석 = 컴파일된 파일들을 분석악성코드 분석을 위해 실행 파일의 구조를 알아야 한다.윈도우: EXE, DLL리눅스: ELF, 바이너리 파일 PE 란?PE는 윈도우에서 사용하는 실행 파일(EXE), DLL 파일 등을 위한 파일 형식PE 파일 포맷은 Portable Executable File Format의 약자로, 파일이 이식 가능한 다른 곳에 옮겨져도(Portable) 실행 가능하도록(Executable) 만든 포맷(Format)이다.  PEview 기능 및 사용법그림1의 아이콘을 더블클릭하여 실행 후, 분석할 파일을 불러온다.PEview 실행 시, 좌측에 4D 5A, 우측에 MZ 라는 문자열이 확인된다.4D 5A는 ASCII 문자열(16진수)로 MZ를 의미하..

보안/악성코드 분석

악성코드 분석 시 파일 내 문자열 확인 도구 (BinText, Strings) 기능 및 사용법

Bin Text 기능 및 사용법Binary 파일에서 ASCII 및 유니코드 등이 문자열 정보를 추출하여 보여주는 분석 도구.파일 내 사용하는 메시지, URL, DLL, API 등을 확인할 수 있어 악성코드 정적 분석 시 유용하다.다운로드 URL: https://www.majorgeeks.com/files/details/bintext.html그림1의 아이콘을 더블클릭하여 파일을 실행한다.BinText 실행 후 Browse를 클릭하여 파일 경로를 불러온 후 Go를 누르거나, 파일을 드래그 앤 드랍하여 분석한다. 그림3과 같이 파일을 불러온 후, Text 항목에서 해당 파일의 Strings 값을 확인할 수 있다.특정 문자열 검색 하기 위해 하단의 검색창에 문자열 입력 후 Find를 눌러 검색한다. kernel..

Security Engineer
'보안/악성코드 분석' 카테고리의 글 목록