본문 바로가기

카테고리 없음

[악성코드 스터디] 정적 분석 실습

https://bazaar.abuse.ch/sample/ff2db25dd562045e84272f4bdc7e53154c43bd13ffdd4801e7cb309072e67044/

 

MalwareBazaar | Checking your browser

Please confirm that you are not a robot by clicking on the checkbox below

bazaar.abuse.ch

 

1. 파일 타입 확인

- Windows 실행 파일(.exe)

- 32비트(x86)

- GUI 프로그램 형태

- 섹션 7개로, 일반 프로그램보다 약간 많아 패킹/난독화 가능성이 있음

 

2. 해시값 생성

- 샘플 식별 및 추적을 위한 해시 생성

- 이후 VT/Threat Intel/동일성 비교에 사용

 

3. 헤더 정보 확인

- Go 언어로 컴파일된 실행파일(lang: go)

- 5MB로 큰 편(binsz: 5129424)

- compiled 시간이 비정상적이며 타임스탬프 제거 흔적이 보임

- canary, nx가 활성화되어 있고 signed true, overlay true, stripped false로 확인됨

-> Go로 만든, 추가 payload를 숨긴 가능성이 높은 실제 악성코드

 

4. 간단 바이너리 확인

- 파일 크기와 기본 구조를 빠르게 점검

- Go 바이너리 특유의 큰 크기와 런타임 포함 여부를 확인

 

 

5. 문자열 분석

(중략)

- strings 결과에서 Go 런타임 관련 문자열이 다수 확인됨

- HTTP/PowerShell 같은 직접적인 명령 문자열은 두드러지지 않지만, Windows APIGo 런타임 심볼이 많이 노출됨

- Go 기반 실행파일임을 뒷받침하는 정황

 

6. PE 구조 분석

1) imports 확인: kernel32.dll 중심의 다양한 API 사용

 

2) 섹션 확인: .text, .rdata, .data, .idata, .reloc, .symtab, .rsrc 등으로 구성

-> 일반적인 PE이지만 Go 바이너리 특성과 함께 분석 필요

 

7. 종합 판단

- Go 기반 드로퍼 또는 백도어 계열 악성코드 가능성이 높음

- overlay 존재, 비정상 timestamp, signed 표시, 큰 용량이 핵심 근거

- 추가 payload를 숨긴 2단계 악성코드일 가능성이 큼

 

- 파일 크기: 5,129,424 bytes

- PE32 (Windows x86 GUI 실행파일)

- gopclntab 미존재 Go 런타임 메타데이터 제거 또는 난독화 가능성

- 실행형 단일 바이너리 구조 가능성 또는 패킹된 Go malware 가능성