2018. 4. 18. 23:07ㆍ악성코드 분석
기초 정적분석이란?
- 악성코드 분석시에 가장 먼저 진행
- 프로그램의 기능을 파악하기 위해서 코드 or 프로그램의 구조를 분석한다
( 프로그램을 실행시키지 않는다 )
악성코드파일에서 사용하는 문자열이나 사용하는 DLL 및 함수를 조사
분석 방법
<1> 악성코드의 지문(Finger Print)확인
악성코드는 해시를 이름으로 사용한다
해시값을 사용하여 악성코드를 식별할 수 있다
=> 해시와 그 특징을 공유한 사이트가 존재한다 ( https://www.virustotal.com )
또는 WinMD5Free Program을 사용해서 MD5해시값을 구할 수 있다
* virustotal 사이트 & 악성파일 매칭
<2> 악성코드 실행파일이 사용하는 문자열 검색
Strings Program을 사용한다
실행파일이 생성하는 파일의 이름을 지정할 때 사용하는 문자열이나, 외부주소로 연결 시 사용할 IP주소등이 검출된다
* strings.exe프로그램을 통해서 문자열 검색
* 리다이렉션을 활용해 text파일 생성
* 악성파일에서 사용하는 문자열 검색 결과
<3> PE세부 구조 확인
PEview Program을 사용해서 PE내부 구조를 검사한다
=> 언패킹이 되어있는지, 어떤 DLL을 Import하여서 사용하고 있는지 검사한다
* PEiD => 패킹 or 언패킹 여부 확인
* 실행파일의 IAT검사 => 사용하는 프로세스를 확인하여 어떤 작업을 하는지 예측할 수 있다
<4> Resourcer검사
Resource Hacker Program을 사용해서 악성코드 실행파일에 저장된 리소스 파일을 찾거나 추출해내서 분석한다
악성코드를 실행시켜서 또 다른 악성파일을 설치하는 악성코드를 "Dropper" 라고한다
'악성코드 분석' 카테고리의 다른 글
악성코드 기초 정적분석 ( File packed FSG ) (0) | 2018.04.20 |
---|---|
악성코드 기초 정적분석 ( File packed UPX ) (0) | 2018.04.19 |
FSG 수동언패킹 [ Lena21 ] (0) | 2018.04.14 |
Upack 수동언패킹 [ Lena21 ] (0) | 2018.04.14 |
UPX 수동언패킹 [ Lena 21 ] (0) | 2018.04.10 |