wonder

Maldevacademy 1) 시작, 멀웨어 개념 본문

Red Team/My 프로젝트

Maldevacademy 1) 시작, 멀웨어 개념

wonder12 2023. 8. 13. 01:07

 

 

시작

목표는 windows AV 우회 및 고급으로 갔을 땐 EDR evasion입니다.

멀웨어 제작을 위해서는, 기본적으로 알고있어야할 배경지식이 많이 필요합니다.

low-level 언어인 C코드로 제작을 하며 리버싱이 필수적입니다. 

 

 

 

필요한 툴은 이정도입니다.

 

windows API

windows API가 파일생성, 불러오기 등에 많이 사용됩니다.

CreateFileW 

같이요

 

뒤에 W 또는 A 가 붙는데 

A는 ANSI 이며

W는 Wide로 UNICODE 일 때입니다. 일반 영어로는 적용되지 않아 에러가 뜨는 모습니다.

 

 

에러 발생 시 GetLastError()

5 access

2 file not found

등  에러코드가뜹니다.

 

 

checking error 가 필요합니다.

 

NTAPI check

macro도 있습니다.

 

 

PE format 

PE format = windows에서 사용하는 실행파일입니다.

.exe .dll .sys .src

 

PE structure

PE는 구성이 나눠집니다. 

header

data directories

sections

 

Dos header 는 2 bytes  = MZ 로 시작합니다.

Dos Stub = "This program cannot be run in DOS mode"

NT header = FileHeader, Optional header가 중요하며 많은 정보가 들어있습니다.

 

 

data directory

 

#define IMAGE_DIRECTORY_ENTRY_EXPORT
#define IMAGE_DIRECTORY_ENTRY_IMPORT
#define IMAGE_DIRECTORY_ENTRY_RESOURCE
#define IMAGE_DIRECTORY_ENTRY_EXCEPTION
#define IMAGE_DIRECTORY_ENTRY_SECURITY
...

각각 0~16까지 정해진 숫자가 있습니다.

export directory, import address table (IAT) 중요합니다.

 

 

PE sections

= code, data, resource 가 포함됩니다.

.text

.data

.rdata = readonly

.idata

.reloc

.rsrc

 

PhysicalAddress or VirtualSize = 메모리에서 섹션 사이즈입니다. 

virtualaddress = offset 의 시작입니다.

 

 

DLL

executable function, data 지만 그자체로 실행은 불가능해서 실행해줄 프로그램이 필요합니다.

 

 

 

....

 

 

detection type

detection type에는 

대표적으로

static/signature based detection,

huriestic(static/dynamic)

behavior 

API hooking

 

 

 

...

 

 

payload encryption

types

XOR

AES
RC4

 

Comments