악성코드 분석 시작
peview 프로그램을 다운받고 EXE 를 아무거나 집어넣어보면
원래 4A 5D 인데
잘보면 5A4D로나온다
그이유는
리틀엔디안 때문이다
little endian(윈도우)
big endian(리눅스)
두개씩 쪼갠다음에 뒤에 것을 앞으로 가져오고 앞에 것을 뒤로 가져온다.
4d 5a를 윈도우에서 10진수로 바꾸면 그값은?
먼저 리틀 엔디안 으로 먼저 바꾸고 10진수로 바꾸면됩니다.
5A 4D 는 23,117
이런걸하는이유는 메모리 스택구조때문에 위에서부터아래로 순서대로 들어간다. 더빠르다
빅엔디안은 사람과 읽고쓰는 방법이 같아서 메모리의값을 보는데 편리하다.
■구조분석 프로그램(PEview)를 통한 exe파일 분석
▲ IMAGE_DOS_HEADER : MS-DOS 운영체제에서 실행, 항상 MZ로 시작, 이 파일은 PE
▲ MS_DOS Stub : MS-DOS에서 실행 불가
▲ SECTION : 파일 실행에 필요한 데이터(코드, 변수, 이미지, 외부 호출함수 등)
- text : 소스코드
- data : 정적, 전역 변수
- rdata : 읽기 전용. 상수, 배열 등
윈도우 실행파일과 패커(Packer)
▲ 실행파일 내부 로직, 헤더, 외부호출함수, 데이터 등을 숨기거나, 백신 탐지를 우회하기 위해
내부 데이터를 압축
* 용량 축소 목적이 아님
영원한 악성코드는없고 한두시간 하루면 거의 사라집니다.
백신이나오기전까지 최대한 많이 퍼트리려고 노력합니다. 일반적으로는
한나절에 다 사라지게 됩니다.
일반적으로 눈에 안뛰도록 자바스크립트 난독화개념으로 분석을 어렵게하기위해서 꼬아서 놔둔것이다.
악성코드 분석 종류
▲ 자동화 분석
- ‘Virustotal, Hybrid Analsys’ 과 같은 자동분석 서비스를 이용
▲ 정적 분석
- 악성코드 실행 없이 코드 내부 구조, 흐름, 외부 호출함수, 데이터, 해시, 문자열 등 파악
▲ 동적 분석
- 가상환경에서 악성코드를 실행하여 네트워크, 프로세스, 메모리 분석을 통해 실행 전/후
환경 변화를 분석
▲ 코드 역공학 분석
- 악성코드 실행파일(exe)을 소스코드 또는 어셈블리 코드로 변환하여 악성코드 내부
알고리즘, 코드 실행 루틴, 실행되지 않은 부분 등을 확인
- 정적/동적 혼합 분석
'악성코드 및 포렌식' 카테고리의 다른 글
악성코드 분석 2 - 통신 포트를 찾는 과정 (0) | 2021.02.03 |
---|---|
악성코드 분석 1 - http cashe control attack (0) | 2021.02.02 |
네트워크 포렌식 CTF 3, 5 (0) | 2021.02.02 |
네트워크 포렌식 CTF 1 (0) | 2021.02.02 |
메모리 포렌식 CTF 5 (0) | 2021.02.01 |