분석 정보/악성코드 분석 정보

[악성코드 분석] winhost.exe

TACHYON & ISARC 2015. 12. 16. 18:15

winhost.exe 악성코드 분석 보고서  

 


1. 분석 정보

1.1. 개요

고객의 신고에 의해 접수되어 유포 경로가 확인되지 않은 winhost.exe 파일은 실행된 PC에 동작 중이던 정상 프로세스들에 악성코드를 인젝션 하는 동작을 수행한다. 인젝션 된 악성코드는 추가적으로 악성파일 또는 악성코드를 다운로드 한다.



1.2. winhost.exe

winhost.exe 파일을 실행하면 현재 동작중인 프로세스 중에서 “explorer.exe” 를 찾는다. 이후 정상 동작 중이던 explorer.exe 프로세스 및 하위 프로세스들에 악성동작을 하기 위한 특정 코드를 인젝션한다.

 

1.3. 감염된 프로세스


winhost.exe 파일에 의해 정상 프로세스에 인젝션 된 코드는 winhost.exe 파일을 숨기기 위해 “C:\Users\{username}\appdata\local”폴더 안에 랜덤한 이름의 폴더를 생성하고 랜덤한 이름으로 파일명을 변경하여 이동시킨다. 이후 윈도우 부팅 시마다 자동실행하기 위해 다음의 레지스트리 값을 추가한다.



[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]

값 이름: 1673382030

데이터: “C:\Users\{username}\appdata\local\(랜덤한 폴더명)\(랜덤한 파일명).exe"

[표]레지스트리 등록 값




 

이후에 인터넷 보호모드를 해제하는 레지스트리 값을 설정한다. 인터넷 보호모드가 해제되면 인터넷 브라우저를 이용하여 추가 악성파일 다운로드 시 별도의 알림이나 제약 없이 파일을 다운로드 할 수 있다.



[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]

값 이름: NoProtectedModeBanner

데이터: 0x00000001

값 이름:TabProcGrowth

데이터: 0x00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3]

값 이름: 2500

데이터: 0x00000003

[표]레지스트리 등록 값






감염 후에 iexplore.exe, firefox.exe, chrome.exe 와 같은 인터넷 브라우저를 실행할 경우 해당 프로세스도 감염되어 특정 IP (http://n****c**b.com/w**k/n*w/index.php - *1.**7.*2.**9) 와 통신하여 추가로 파일을 다운로드 하기 위해 필요한 URL 정보를 가져온다.



[그림]필요한 url 을 가져오는 패킷





이 다운로드 되는 URL 정보는 공격자에 의해 수시로 변경될 가능성이 있으며, 이에 따라 다운로드 되는 파일이 변경되고 이후의 동작이 달라질 수 있다.





1.4. ipclwl(랜덤한 파일명).exe

12일 이전에 감염된 프로세스에 의해 다운로드 된 파일은 특정 IP로부터 추가적인 악성코드를 다운로드 하여 실행한다

 

 


[그림]동작 흐름도





감염된 인터넷 브라우저는 특정 IP (http://n****c**b.com/w**k/n*w/index.php - *1.**7.*2.**9)와 통신하여 다수의 URL 정보를 가져온다. 추가 악성파일을 다운로드 하기 위한 *6.*0.*1.*6 만 사용하고 이 외의 URL http://*1.**7.*2.**9/~) 에는 연결시도를 하지 않는다.

http://*6.*0.*1.*6/f***s/n****e*t/970.exe
└→ 다운로드 경로: C:\Users\{username}\appdata\local\(랜덤한 파일명).exe

http://*1.**7.*2.**9/module/2****1****9****5****e****f****e3

http://*1.**7.*2.**9/module/5****7****f****b****7****6****15

http://*1.**7.*2.**9/module/f****c****1****d****d****3****e3

http://*1.**7.*2.**9/module/2****2****3****e****f****3****47

http://*1.**7.*2.**9/u*d/9

[표]iexplore.exe *1.**7.*2.**9 와 통신하여 가져온 URL 정보



[그림]파일 다운로드 패킷




다운로드 한 ipclwl(랜덤한 파일명).exe (=970.exe) 파일을 실행하면 특정 IP (*1.**4.*4.*4)에 연결하여 “C:\Users\All Users\AppData\Roaming” 하위에 Vv5VGSx229A0.dll 파일을 다운로드 한다. 다운로드 된 DLL 파일을 윈도우 부팅 시마다 자동실행하기 위하여 다음의 레지스트리 값을 추가한다.


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

값 이름: Vv5VGSx229A0 (랜덤한 문자열)

데이터: “regsvr32.exe /s "C:\Users\All Users\AppData\Roaming \Vv5VGSx229A0(랜덤한 파일명).dll"”

[표]레지스트리 등록값







Vv5VGSx229A0.dll 파일은 특정 IP (*1.**4.*4.*4)로 지속적인 접속을 시도하지만 분석 시점에서는 연결되지 않았다. 이후 해당 IP에 연결될 경우 추가적인 악성동작을 수행할 수 있다.






1.5. UejUgfa(랜덤한 문자열).dll



12일 이후에 감염된 프로세스에 의해 다운로드 된 파일은 최초 감염 파일인 winhost.exe와 유사한 동작(코드 인젝션 및 네트워크 연결)을 수행하며, winhosts.exe를 자동실행하기 위한 레지스트리 값을 덮어씀으로써 winhost.exe 파일의 동작을 대신한다.

 

 



[그림]동작 흐름도






감염된 인터넷 브라우저는 특정 IP (http://n****c**b.com/w**k/n*w/index.php - *1.**7.*2.**9) 와 통신하여 다수의 URL 정보를 가져온다.



http://*1.**7.*2.**9/module/2****1****9****5****e****f****e3

http://*1.**7.*2.**9/module/5****7****f****b****7****6****15

http://*1.**7.*2.**9/module/f****c****1****d****d****3****e3

http://*1.**7.*2.**9/module/2****2****3****e****f****3****47

http://*1.**7.*2.**9/upd/9
└→ 다운로드 경로:

C:\Users\{username}\appdata\local\(랜덤한 폴더명)\(랜덤한 파일명).dll

[표]파일 다운로드 URL







UejUgfa.exe 파일 (winhost.exe 파일의 복사본) 을 자동실행하기 위해 등록했던 레지스트리 정보를 다운로드 된 UejUgfa(랜덤한 파일명).dll 파일의 정보로 덮어쓴다.




[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]

값 이름: 1673382030

수정 전 데이터: “C:\Users\{username}\appdata\local\(랜덤한 폴더명)\(랜덤한 파일명).exe"

수정 후 데이터: regsvr32.exe " C:\Users\{username}\appdata\local\(랜덤한 폴더명)\(랜덤한 파일명).dll"

[표]파일 다운로드 URL








다운로드 된 UejUgfa.dll 파일은 winhost.exe 파일의 동작과 동일하게 정상 프로세스에 악성코드를 인젝션 한다. 악성코드가 인젝션 된 인터넷 프로세스는 특정 IP (http:// c****n**g.ru/w**k/n*w/index.php - *6.**1.1.**2) 와 지속적으로 통신을 시도하며 성공 시 추가 악성동작을 수행할 수 있다. 분석 시점에는 이 IP 와 연결이 이루어지지 않아 추가적인 악성동작은 확인할 수 없다.




2. 결론


winhost.exe 는 정상 프로세스에 공격자가 원하는 동작을 하도록 코드를 인젝션 하여 정상 프로세스를 통해 악성코드를 다운로드 및 실행한다. 해당 악성코드는 정상 프로세스에 인젝션 되어있기 때문에 사용자가 감염 사실을 확인하기 어렵다. 

해당 악성코드에 의해 다운로드 되는 파일은 공격자가 언제든지 변경 가능하여 추가 감염의 위험이 높다.


정상적인 프로세스를 감염시키는 winhost.exe 파일, 감염에 의해 다운로드 된 파일 모두 nProtect Anti-Virus/Spyware V3.0과 nProtect Anti-Virus/Spyware V4.0에서 치료 가능하다.


정상적인 경로로 유통되는 정상 파일 외에 다운로드 하여 실행하는 것은 위험할 수 있으므로 공식 사이트에서 파일을 다운로드 하여 사용하며 주기적인 백신검사와 빠른 업데이트로 안전한 PC사용 습관을 기르는 것이 중요하다.




[그림]nProtect Anti-Virus/Spyware V4.0 진단 화면 



[그림]nProtect Anti-Virus/Spyware V3.0 진단 화면