선호 경로


악성코드는 보통 자신의 존재를 은닉하고자 하며, 떄로는 사용자로부터 간단한 방법을 통하여 속이고자 한다. 우선 파일의 이름을 실제 윈도우 파일과 비슷하게 kernei32.dll 로 변경하는 등 다양한 방법을 사용한다. 그 중에서 경로를 통하여 은닉하고자 할 때 주로 쓰이는 경로는 아래와 같다. 한번 살펴 보자.


# 시스템 폴더

시스템 폴더는 윈도우의 주요 시스템 파일이 존재하는 곳으로 은닉을 위해 시스템 파일과 파일명을 유사하게 변경하거나 경로를 바꿔 저장한다. 자주 사용되는 경로는 다음과 같다.


 %SystemRoot%\

 %SystemRoot%\system\

 %SystemRoot%\system32\

 %SystemRoot%\system32\

 %SystemRoot%\system32\dllcache

 %SystemRoot%\system32\drivers

 %SystemRoot%\SysWOW64\

 %SystemRoot%\SysWOW64\dllcache

 %SystemRoot%\SysWOW64\drivers


SysWOW64는 64비트 시스템에서만 존재하는 폴더로 32비트와의 호환성을 위해 존재하는 폴더이다. “%SystemRoot%\system32\” 폴더에 64비트 시스템 파일이 위치한다면 “%SystemRoot%\SysWOW64\”에는 32비트 시스템 파일이 위치한다. 따라서, 64비트 시스템에서는 2개의 폴더를 모두 조사할 필요가 있다.


 

# 사용자 기본 폴더

윈도우 비스타 이후부터 사용자의 홈 폴더는 “%SystemDrive%\Users\” 하위에 존재한다. 해당 폴더 하위를 살펴보면 사용자의 홈 폴더 이외에도 기본 폴더인 “Public(공용)”, “Default”가 존재한다. “Public” 폴더에는 각 사용자가 공통으로 가지는 파일(공용 사진, 비디오 등)이 저장되어 있고, “Default” 폴더에는 새로운 사용자 생성 시 초기 구성을 위한 파일이 저장되어 있다. 이런 폴더는 일반적으로 직접 들어가지 않기 때문에 공격자가 자주 은닉의 대상으로 삼는다. 또한 “Default”에 악성코드를 위치시키면 새로운 사용자가 생성될 때마다 자동 복사되기도 한다.


 %SystemDrive%\Users\Public\(%Public%)

 %SystemDrive%\Users\Default\


# 사용자 데이터 폴더

각 사용자의 응용프로그램 데이터가 저장되는 데이터 폴더는 숨긴 폴더이기 때문에 폴더 속성을 변경해야만 나타난다. 데이터 폴더도 일반적으로는 들어가지 않기 때문에 해당 경로가 악성코드 은닉에 자주 사용된다.


 %UserProfile%\AppData\

 %UserProfile%\AppData\Local\(%LocalAppData%)

 %UserProfile%\AppData\LocalLow\

 %UserProfile%\AppData\Roaming\(%AppData%)

 %SystemDrive%\ProgramData\(%AllUsersProfile%)


# 휴지통 폴더

윈도우의 휴지통 폴더는 운영체제에 의해 보호되어 있기 때문에 폴더 속성을 변경해야만 나타난다. 휴지통 폴더 하위에는 각 사용자의 SID 폴더가 나타나도 SID 폴더에 각 사용자가 삭제한 파일이 위치한다. 바탕화면에서 살펴보는 휴지통 내용은 로그인 사용자의 SID 폴더 내용이다. 악성코드는 휴지통 하위 SID 폴더와 동일한 수준으로 자주 은닉한다.

 %SystemDrive%\$Recycle.Bin\



# 시스템 볼륨 정보 폴더

시스템 복원 지점이나 볼륨 섀도 복사본이 저장되는 시스템 볼륨 정보 폴더는 운영체제에 의해 보호되어 있다. 폴더 속성을 변경하면 폴더의 존재는 확인할 수 있지만 폴더 내용은 확인할 수 없다. 폴더 내용을 확인하기 위해서는 폴더의 접근 권한을 변경해주어야 한다. 따라서, 악성코드를 장기간 안전하게 은닉할 수 있고 일부 보안 솔루션은 이런 이유로 해당 폴더 하위를 진단하지 못하기 때문에 악성코드가 종종 사용한다.

 %SystemDrive%\System Volume Information\


# 임시 폴더

임시 폴더는 공격자가 의도하기 보다는 악성코드가 시스템에 자동 유입되거나 드롭퍼가 드롭할 때 임시로 사용하는 경로로 악성코드의 복사본이 자주 존재한다.

 %UserProfile%\AppData\Local\Temp(%Temp%)

 %SystemRoot%\Temp\

 %LocalAppData%\Microsoft\Windows\Temporary Internet Files\


 

# 웹 브라우저 다운로드 경로

웹 브라우저의 기본 다운로드 경로나 액티브 X, 자바 애플릿 경로 등도 웹 브라우저를 이용하는 악성코드가 다운되어 있을 가능성이 많다.

 %UserProfile%\Downloads

 %UserProfile%\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\#

 %SystemRoot\Downloaded Program Files(Active X)

 

# 알려진 폴더

조직마다 공통된 사양의 표준 PC를 사용하다보니 모든 사용자에게 공통으로 존재하는 폴더가 있다. 특정 조직을 공격할 때 이런 폴더들이 종종 사용되곤 한다.

 %SystemDrive%\Intel

 %SystemDrive%\HNC

 %SystemDrive%\JungUmData

 … …



# 그 밖에 폴더

앞서 언급한 폴더 이외에도 악성코드가 자주 위치하는 경로는 다음과 같다.

 %AppData%\Microsoft\Windows\Start Menu\Programs\Startup

 %SystemDrive%\Program Files\Common Files\(%CommonProgramFiles%)

 %SystemDrive%\Program Files (x86)\Common Files\(%CommonProgramFiles(x86)%)

 … …




Reference

http://forensic-proof.com/archives/6520





'Reversing > Theory' 카테고리의 다른 글

악성코드 분류  (0) 2016.03.03
악성코드 분석 방법  (0) 2016.02.26
PEB Struct  (0) 2015.09.15
Packer  (0) 2015.09.05
Contents of the TIB (32-bit Windows)  (0) 2015.09.04