상세 컨텐츠

본문 제목

[악성코드 분석 리포트] Spyware. PWS. KRBanker.M(변종)

악성코드 분석 리포트

by 알약(Alyac) 2015. 2. 12. 10:04

본문

Spyware.PWS.KRBanker.M (변종)


현재 웹사이트를 통한 악성코드 유포방식이 지속해서 증가하고 있습니다. 공격자는 취약한 웹 서버를 경유지로 이용하고 대량으로 악성코드를 유포합니다. 유포된 악성코드는 국가 간의 사이버 전쟁, 산업시설 공격, 온라인게임 계정 탈취, 랜섬웨어, 금융 정보 탈취 등 여러 종류가 존재합니다. 이러한 악성코드들은 지속적으로 변종을 만들어 백신을 우회하고 사용자를 속이기 위한 기법을 추가하기 시작했습니다. 


이 악성코드는 D사에서 제작한 동영상 플레이어를 이용하여 악성 파일을 실행시키는 교묘한 방법을 사용하고 있습니다. 지금까지 정상 파일처럼 위장한 방식은 지속되어 왔지만, 이 악성코드는 정상 파일을 이용하여 악성 파일을 실행시키는 방법을 이용하고 있습니다. 

 

또한 사용자들이 많이 사용하고 있는 D사의 동영상 플레이어와 모 프로그램을 이용하여 사용자로 하여금 더욱 혼란을 주고 있으며, 큰 피해가 예상됩니다. 따라서 정상 파일 이용하여 악성 행위를 하는 악성코드에 대해 연구하여 새로운 공격을 이해하고 대비할 필요가 있습니다.



악성코드 동작 방법

  

대부분의 프로그램은 효과적인 개발을 위해 라이브러리 파일(DLL)을 만들어 배포합니다. D사의 동영상 플레이어 또한 설치된 프로그램의 디렉토리 내에 동작하는 데 필요한 라이브러리를 사용합니다. 이 때 필요한 라이브러리는 오직 경로 문자열만 검색하게 되며, 로드된 DLL파일이 자신이 실제 사용하고자 하는 파일인지 검증하지 않습니다. 때문에 동일한 파일명의 DLL이 존재하면 그대로 실행됩니다.



실제 현재 사용 중인 D사의 실행 파일 내부를 보면 유포자가 사용한 파일과 거의 동일한 코드를 확인할 수 있는데, 의도적으로 D사 프로그램에 대해 이런 취약점을 이용했음을 추론할 수 있습니다.



악성코드 순서도





악성코드 분석


악성파일 분석(1.exe)

악성파일은 Drive-by download 방식으로 웹을 통해 유포되며, 주요 기능은 Downloader입니다. 

 


이후 NPKI 폴더를 찾아서 해당 내용을 외부로 유출합니다.



그 외에도 시작프로그램 QVMLIKE.exe 등록, 방화벽 설정 해제와 같은 지속적인 공격을 위한 환경 설정을 시도합니다.



 

  

악성파일 분석(yk.exe)

주요 기능은 Downloader입니다. 1.exe 파일과 같은 서버에서 파일을 내려 받습니다.

 



C:\\WINDOWS\\Adhex 폴더에 360siom.exe와 Lie.exe를 내려 받고, 360siom.exe를 실행하면 yk.exe는 종료됩니다. 특이한 점은 6초뒤 Adhex 폴더 자체를 삭제한다는 것입니다. yk.exe는 지속적인 행위를 하지 않습니다.


악성파일 분석(360siom.exe – Potplayer.dll)
360siom.exe는 D사의 동영상 플레이어 실행파일과 동일한 파일입니다. 정상적으로PotPlayer.dll을 로드하지만, 정상 파일이 아닌 악성코드 PotPlayer.dll가 로드됩니다.
 

   

코드를 보면 실행 파일이 위치한 디렉토리에서 DLL파일을 확인하고 로드됩니다. 즉, 같은 디렉토리에 PotPlayer.dll 파일만 있다면 다른 검증 절차 없이 로드 후 실행되는 것입니다.



로드 이후 PotPlayer.dll에 의해 다음과 같이 자기 자신을 복사해 지속적인 악성 행위를 진행할 수 있게 합니다. 복사 파일명을 국내 백신 업체의 제품과 유사하게 만듭니다. 
 


아래의 경로에 V3like이름으로 폴더를 생성하고, PotPlayer.dll을 제외한 나머지 파일 이름을 V3like로 변경합니다.
    


 

아래의 레지스트리 경로에 V3like 라는 이름으로 등록되며, 윈도우가 시작될 때마다 악성코드가 자동으로 실행됩니다.

 

 

최종적으로 악성코드가 파일 복사 및 레지스트리를 등록하는 내용을 정리해 보면 아래와 같습니다.

 

   

이후 서비스 실행에 사용되는 svchost.exe 프로세스에 코드를 삽입합니다. 그리고 V3like.lnk파일 내부에 존재하는 악성코드를 가져옵니다. 

   

   

svchost.exe 프로세스를 SUSPEND 상태로 생성하고 다음과 같이 코드 인젝션을 시도합니다.

 

   

인젝션이 끝나면 svchost.exe 프로세스에 새로 설정한 Thread를 실행하는 방식으로 실제 악성행위가 시작됩니다. svchost.exe는 V3like.lnk를 실행하는 프로세스 역할만 수행합니다.



악성파일 분석(svchost.exe)

프로세스가 실행되면 일단 사용자가 설치한 백신을 무력화시킵니다. 이전 악성코드들과 다르게 국내 백신에 대한 무력화 코드가 없으며 대신 중국에서 출시한 백신에 대해 무력화를 수행하는 특징을 가지고 있습니다.


   

Thread를 생성하여 사용자가 입력하는 데이터를 특정 파일에 저장시키는 키로깅(key logging)기능을 수행합니다. 

  


사용자가 키보드로 입력한 정보들을 .key 확장자 형태로 시스템 폴더에 저장합니다. 이때 저장된 내용을 암호화 하기 위해 Xor 합니다.
   


키로그가 저장되는 파일의 위치는 다음과 같습니다.
    
저장위치
-%SYSTEM%\Random.key


XOR연산을 통해 복호화를 해보면 다음과 같이 키로그 내용을 확인할 수 있습니다.

    


해당 악성코드는 지속적으로 C&C와 접속을 시도합니다. C&C와의 접속에 성공하면 시스템정보를 보냅니다.
   

   
접속을 시도하는 C&C서버의 정보는 아래와 같습니다.
     
- 접속 서버 도메인
Yky*****.wha.la

- 분석 시 접속 서버 IP
61.33.155.99

- 접속 서버 PORT
TCP 7988


네트워크 접속이 성공적으로 이루어 지면 봇의 기능을 수행합니다. 

- 파일 삭제

- 폴더 삭제

- 파일 이동

- 파일 생성

- 파일 검색

- 프로세스 생성



악성코드 분석 결론


이번 악성코드는 국내 유명 프로그램의 실행 방식을 분석하고, 이를 악용하여 악성 DLL을 실행시키는 수법을 활용했습니다. 뻐꾸기가 스스로 둥지를 틀지 않고 다른 새 둥지에 알을 낳아 키우는 방식과 유사하다고 할 수 있습니다. 

 

따라서 프로그램 제작자들은 해커의 공격을 막기 위해서 단순히 문자열만으로 파일을 찾아 로드하기보다, 로드하려는 파일이 실제 자신의 모듈인지 아닌지 확인할 수 있는 최소한의 검증 과정을 거치는 것이 필요합니다. 또한 국내 유명 프로그램을 실제 분석하고 있다는 점에 주목하고, 향후 2차 3차로 활용될 수 있는 보안 위협에 미리 대비할 것을 당부 드립니다.



관련글 더보기

댓글 영역