본문 바로가기

Work Log/As Cybersecurity Consultant

악성코드에 대한 나름대로의 분석 표준안

MITRE의 MAEC 프로젝트에서 영감을 얻어 나름 악성코드에 대한 간단한 특징 분석 표준안을 만들어본다.


악성코드의 특징을 분석 할 때에 크게 정적인 특징과 동적인 특징으로 주로 구분을 하는데, 이처럼 분석 된 결과를 보면 실제 어떤 악영향을 주는지 바로 인지하기 어려운 경우가 있다. 아래와 같이 "전파 및 감염 / 지속성 유지 / 악의적 기능" 으로 분류를 하면 해당 악성코드가 감염이 되면 결과적으로 어떤 영향을 미치는지, 감염이 어떻게 이루어지는지 그리고 감염이 된 이후에 사용자로부터 감염사실을 숨기거나 안티바이러스 제품으로부터 탐지되지 어렵게 하기 위해서 어떤 기능들이 있는지 인지하기가 한결 쉽다.


아래는 320 때의 악성코드에 대한 분석자료를 근거로 위의 구분에 맞추어 분류를 해 본 것이다. (분석 내용 자체는 실제와 다를 수 있으니 분류 방법을 보여주기 위한 예제 정도로 보자)


구분

정적인 특징, 동적인 특징

전파 및 감염

지속성 유지

악의적 기능

ApcRunCmd.exe

* PMS를 통한 전파 및 감염

N/A

* Drop: %Temp% 폴더에 파일 생성

- AgentBase.exe, Alg.exe,Conime.exe, ~pr1.tmp

* AgentBase.exe 실행

* 원격관리툴 설정파일 정보 획득 후 원격접속 (mRemote / SecureCRT) 원격접속 관리툴 여부 확인 및 명령어 실행(alg.exe, conime.exe)

AgentBase.exe

* ApcRunCmd.exe에 의해 Drop

* Anti-Virus 확인 및 강제 종료 시도

- %Temp% 폴더에서 ~v3.log 파일 확인

- Taskkill /F /IM pasvc.exe

- Taskkill /F /IM clisvc.exe

* 한 프로세스 실행

- FileMapping Object 존재여부 확인

* 실행 즉시 MBR / VBR / 논리드라이브 Overwrite (PRINCPES)

* 실행 즉시 MBR / VBR / 논리드라이브 파일 내용 삭제

* 시스템 재부팅

alg.exe

* ApcRunCmd.exe에 의해 Drop

* Packing

- UPX Packer

* SSH 연결

- PUTTY plink Program

conime.exe

* ApcRunCmd.exe에 의해 Drop

* Packing

- UPX Packer

* SCP 연결

- PUTTY pscp Program

~pr1.tmp

* ApcRunCmd.exe에 의해 Drop

* Unix 계열 스크립트

- dd 명령어 실행 XX MB 단위로 NULL Overwrite

- /kernel 등 특정 경로를 rm으로 삭제

kv_d[1].tmp

N/A

* Anti-Virus 무력화

- 하우리 관련 프로세스 종료

- 하우리 관련 파일 삭제

* Drop

- vms1014.zip -> OthDown.exe

- update.zip -> vmsinit.ini (환경설정)

OthDown.exe

* kv_d[1].tmp에 의해 Drop

* 특정 시각 이후에 MBR / VBR / 논리드라이브 Overwrite (HASTATI)

mb_join[1].gif

????

* 실행 즉시 MBR / VBR / 논리드라이브 Overwrite (PR!NCPES)