HAURI

전체메뉴 열기

Security issues analysis

주의해야 할 보안위협요소에 대한 분석자료 제공

보안이슈 분석

새로운 방식의 파밍 악성코드
등록일 :
2014.11.13

 새로운 방식의 파밍 악성코드 등장


지금까지 파밍 악성코드와는 또 다른 방법으로 파밍을 시도하는 악성코드가 최근 발견되었다. 기존의 악성코드들은 hosts 파일이나, hosts.ics 파일을 통해 파밍을 시도하였으나, 11월 9일 밤 부터 발견되고 있는 OS가Windows Vista 이하 버전일 경우 전혀 다른 파일을 생성하고, 정상파일의 변조를통해 파밍을 시도한다.

 

이번 악성코드에 감염될 경우 기존의 hosts 또는 hosts.ics 파일과 동일하게 생긴 파일을 다른 경로에 생성한다.

Path : (시스템 폴더)\Drivers\[3자랜덤]\[5자랜덤]

 

[그림 1] 악성 hosts 와 동일한 구조의 악성코드

 

해당 파일을 이용하여 DNS 테이블을 재 설정하기 위해 DNS 서비스를 찾아 해당 역할을 수행하는 DLL 파일의 메모리 상의 코드를 수정한다.

 

정상파일의 경우 : (시스템 폴더)\Drivers\etc\hosts 파일을 참조

패치된 코드의 경우 : (시스템 폴더)\Drivers\[3자랜덤]\[5자랜덤] 파일을 참조

 

 

[그림 2] 정상적인 코드(위)와 악성코드로 변경된 코드(아래)

 

 

이렇게 메모리의 코드가 패치되면 hosts 파일을 대신하여 악성코드가 생성한 파일을 참조하여 DNS 테이블을 구성하게 함으로써 파밍을 시도하게 된다. 이렇게 될 경우 hosts 파일은 그 역할을 하지 못하게 되며, 악성코드가 삭제되더라도DNS Client 서비스를 재시작 하기 전까지는 악성코드가 그 역할을 대신하게 된다.

OS가 Windows Vista 이상의 버전일 경우에는 지난 8월부터 발견되었던 악성코드와 유사하게 수동으로 DNS 서버를 로컬호스트(127.0.0.1)로 변경하고, DNS 쿼리를 악성코드에서 직접 처리하여 동작하게 하는 방식을 사용하고 있다. 로컬 PC의 DNS 레코드 A를 변조하여 특정 사이트에 접속을 시도 할 때 파밍할 IP로 응답하여 파밍을 진행한다. (자체 DNS 방식)

  

[그림 3] DNS 서버 주소를 직접 변경

 

Hosts 파일을 이용하여 파밍을 하는 경우는 널리 알려져 일반인들도 hosts 파일 확인을 통해 간단히 파밍을 처리 할 수 있었다. 하지만 올해는 이렇게 다양한 파밍 방법이 등장함에 따라 사용자가 더욱 더 주의를 기울여야 할 것이다.

 

 

[해당 악성코드의 분석보고서]

 

(1) 자기자신을 랜덤한 폴더에 생성하여 복사한다.

C:\[랜덤]\[랜덤].EXE

 

(2) 레지스트리에 등록하여 윈도우 시작 시 자동실행되도록 한다.

경로 : HKCU\Software\\Microsoft\\Windows\\CurrentVersion\\Run

이름 : TFM0N

값 : C:\[랜덤]\[랜덤].EXE

 

(3) 복호화 로직을 통해 특정 URL 주소를 복호화 한다. 

URL : http://67.xxx.xxx.xxx:805/index,php

  

  

(4) 시스템 정보(네트워크 주소, 하디드스크 정보, CPU정보 등)의 정보를 탈취하여 전송한다.

URL : 67.xxx.xxx.xxx:8760

  

 

(5) 공인인증서 탈취를 위해 특정 경로의 문자열을 검사하여 “npki”문자열이 존재할 시 해당 폴더를 랜덤한 이름으로 복사한 후 압축하여 인증서 정보를 탈취한다. 

  


 

(6) 탈취한 인증서는 특정 URL에 전송한다.

URL : 67.xxx.xxx.xxx:805/u.php

   

 

(7) 운영체제를 구분하여 운영체제 윈도우 비스타 이후와 이전에 따라 다르게 동작한다. 

  

 

- 운영체제 윈도우 비스타 이전 

 

(8) 감염된 특정 파일을 읽어와 URL을 가져오며, 해당 파일이 없을 시 기존에 복호화 된URL주소로 접속을 시도한다. 

경로 : (자기복사 폴더)\lang.ini

URL : http://67.xxx.xxx.xxx:805/index,php

  


 

(9) 현재 프로세스의 리스트를 시간 정보와 함께 저장한다.

C:\M.TXT

  

 

(10) HOSTS변경 정보에 대한 처리상황을 시간정보와 함께 저장한다. 

C:\1.TXT

  

 

(11) 생성된 C:\[랜덤] 폴더의 앞 3자리를 특정 폴더에 생성하여 랜덤 폴더의 앞 5자리 이름으로 파일을 생성한다. 생성된 파일은 정상 사이트 접속 시 악성 사이트로 접속되게 하는 파밍 역할을 한다. 

  

 

(12) 특정 프로세스의 메모리를 변경하여 HOSTS파일의 경로를 악성파일이 생성한 랜덤 폴더의 앞 5자리 이름을 HOSTS기능으로 수행하도록 변경한다. 

  

 

(13) 특정 프로세스의 메모리값을 변조하여 파밍기능을 수행하도록 한다. 

기존 폴더 : C:\WINDOWS\system32\drivers\etc\hosts

변경 폴더 : C:\WINDOWS\system32\drivers\[랜덤 3자리]\[랜덤 5자리]

프로세스 명 : C:\WINDOWS\system32\svchost.exe -k NetworkService

메모리 변조되는 모듈 : dnsapi.dll

  

 

(빨간색) 변경되기전 바이너리, (파란색) 변경된 바이너리 

  

 

- 운영체제 윈도우 비스타 이후 

  

(14) 특정 네트워크에 접속을 하여 파밍할 악성 네트워크 주소를 받아온다.

URL : http://67.xxx.xxx.xxx:805/index.php


 

(15) 네트워크 DNS서버 초기화하여 바뀐 정보로. 변경 후 특정 경로의 디렉토리 이름을 변경한다.

기본 DNS : 127.0.0.1

보조 DNS : 8.8.8.8(구글 DNS)

디렉토리 변경 전 : C:\WINDOWS\system32\drivers\ETC

디렉토리 변경 후 : C:\WINDOWS\system32\drivers\doc

  


 

 

(16) 악성 코드에 접속을 시도하여 접속 시 특정 사이트에 대한 목록을 생성하고 DNS 서버로부터 호스트 정보를 받아와 특정 사이트로 접속하고 있는지 확인한다. 해당 리스트 목록에 접속 시 악성 파밍 주소로 접속하게 한다.

  

 

이후 공통 동작

 

(17) 특정 중국 블로그에 접속한다. 

주소 : http://user.qzone.qq.com/19xxxxxxx:8086

  

 

(18) 블로그에 접속시 title에 특정 문자열을 가져와 숫자와 “.”을 구분하여 또 다른 파밍 악성 주소를 가져온다. (현재는 해당 블로그에 정보가 사라져 더 이상 진행이 되지 않는다)


 

  • - 본 정보의 저작권은 (주)하우리에 있으므로 허가없이 전체 또는 일부를 사용 시 저작권 침해로 간주될 수 있습니다.
  • - 상업적인 목적이나 단체에서 사용할 경우, 별도로 허가를 받으셔야 합니다. (정보 이용 문의 skim@hauri.co.kr)

Top