관리 메뉴

HeeJ's

[06]악성코드분석_7주차 본문

<Information Security>/<Malware>

[06]악성코드분석_7주차

meow00 2021. 11. 16. 19:31

1. 기초 정적 분석

 

1.1 VirusTotal

 

1.2 PEView

컴파일된 시간 확인

 

Address Table의 KERNEL32.dll 확인

대부분의 프로그램에 사용되는 dll

API들로 어떤 동작이 있었는지 확인 가능

 

CreateMutexA :

이름이 있거나 이름이 없는 Mutex 오브젝트 생성

-> 동기화 진행

-> 다른 프로그램이 침범할 수 없게끔

-> 중복 실행 방지

 

CreateThread :

스레드 생성

-> 부가적인 스레드를 만들어냄

-> 동기화를 위해 Sleep, WaitForObject 실행

 

GetStartUpInfoA :

StartUpInfo 구조체 생성

-> CreateProcess에 필요함(Process를 만드는 함수)

 

TerminateProcess :

프로세스 종료

 

GetCurrentProcess :

현 프로세스의 핸들을 얻음

 

1.3 Exeinfo

Win Console로 실행,

Packing 되지 않음

 

 

2. 기초 동적 분석

 

2.1. SysAnalyzer

 

socket -> bind -> listen :

소켓을 만들고 ip와 바인딩

 

바탕화면의 analysis 폴더에서 로그 확인 가능

 

3. 고급 정적 분석

 

3.1. IDA

esi 0으로 초기화 후, nCmdShow에 넘겨줌

=> Cmd를 보이지 않게 설정

 

Mutex 생성했지만, 분기점이 없으므로 중요X

 

소켓 생성 후 초기화

 

바인드 에러가 뜬 경우, "bind error"를 띄우고, 재 바인딩

 

바인딩이 성공한 경우, Listening 진행

 

스레드 동작 함수 정의

StartAddress로 이동

 

Object(MutexBackdoor)를 기다리는 함수

후, ReleaseMutex 진행

 

파이프를 받아, StartUpInfo 구조체 생성

(cmd 입출력을 파이프로 관리함)

 

위의 내용으로 CreateProcess 진행

 

103h : Still Alive

-> ExitCodeProcess를 진행해도 프로세스는 살아있게 됨

 

4. 고급 동적 분석

 

4.1. ollydbg

 

main 함수

 

위에서 분석했던 함수들 확인

 

 

 

'<Information Security> > <Malware>' 카테고리의 다른 글

[05]악성코드분석_6주차  (0) 2021.11.10
[04]악성코드분석_5주차  (0) 2021.11.03
[03]악성코드분석_4주차  (0) 2021.10.06
[02] 악성코드 분석_3주차  (0) 2021.09.29
[01] 악성코드 분석_2주차  (0) 2021.09.21