악성코드 기초 정적분석 ( Dropper )

2018. 4. 21. 15:59악성코드 분석




[ 악성코드 기초 정적분석 ]

1> 악성코드 해시값을 통한 파일검색 ( www.virustotal.com )



2> 패킹여부 확인



3> 패킹된 파일이 아니여서 사용하는 DLL들을 바로 확인할 수 있다


OpenProcessToken 

 open access token ( 프로세스 접근 권한 같은 것 획득 )

LookupPrivilegeValueA 

 retrieve LUID ( LUID검색 ) 

AdjustTokenPrivileges 

 토큰에서 가지는 권한들을 획득

CreateRemoteThread 

 다른 프로세스에서 작동하는 스레드를 생성

FindResourceA 

 자원의 이름이나 위치 타입을 결정

LoadResource 

 메모리의 자원에 접근할 수 있는 포인터를 획득하는데 사용하는 핸들을 검색 


드롭퍼란 ?

실행파일이 새로운 실행파일을 생성해서 메모리에 올리는 악성코드를 말한다



4> Resource Hacker program

해당 프로그램으로 실행파일을 조사하면 실행파일 내부에 존재하는 리소스 파일을 찾을 수 있다

해당 리소스 파일을 점검하고 추출해올 수 있다 



5> 실행파일에서 사용하는 문자열 검색 ( strings program )


 [ 문자열 검색( strings ) 결과 ] 

위에서 import한 DLL이름들을 볼 수 있고,


사용한 문자열에 "URLDownloadToFileA" 그리고 특정 URL이 존재한다

해당 프로세스는 특정 URL주소에 존재하는 파일을 다운로드 받도록 한다

 ( 실습파일에서는 리소스파일과 실행파일의 코드가 동일했다 )

but, 실제로 드롭퍼 악성코드는 정상으로 보이는 실행파일에 악의적인 목적의 리소스를 숨기고 있을 수 있다


* 요점 - ResourceHacker를 활용해서 리소스를 검사할 수 있다 !