인터넷이 발달되면서 해킹 기법도 다양하고 기발한 방법들이 많이 나오는 것 같습니다.
최근엔 Space와 Tab키를 이용하여 악성스크립트를 보이지 않도록 하는 방법이 나와서 소개 합니다.
저도 언능 샘플을 구해서 보고싶네요~


<출처> 울지않는벌새


최근 중국발 온라인 게임 계정 탈취를 목적으로 하는 악성코드 유포시 기존에 사용하던 자바 스크립트(JavaScript) 방식과는 다르게 Space와 Tab키를 이용하여 외형적으로 코드가 보이지 않도록 제작된 부분이 확인이 되고 있습니다.

해당 악성 스크립트에 대해 이미 보안 블로그에서 정보를 공개하였으며, 저와 같은 초보자를 위해 해당 악성 스크립트를 단순 무식하게 풀어보는 방법에 대해 살펴보도록 하겠습니다.

샘플에 사용된 스크립트는 이번 주말 모 언론사 웹 사이트에서 유포되는 것이며, 위와 같이 스크립트 내부가 어떠한 정보도 없이 공란(Blank)으로 처리가 되어 있는 것을 확인할 수 있습니다.

눈에 보이지 않는 공란 영역을 초보자가 이해하기 쉽게 숨겨진 부분을 표시해보면 그림과 같이 Space 키와 Tab 키로 입력한 정보가 포함되어 있는 것을 확인할 수 있습니다.

Dehydrate(숨겨진)된 문자열을 Hydrate(표시)하기 위해서는 Space 키는 "1", Tab 키는 "0"으로 표시하여 7 Bit 단위의 2진수로 표시를 하라고 안내되어 있습니다.

1차적으로 2진수로 작성된 수를 7 Bit 단위로 쪼개서 스크립트를 구성하면 위와 같은 모양을 갖추게 됩니다.
 
해당 "1100100 1101111 1100011 1110101 1101101 1100101 1101110 1110100 0101110 1110111 1110010 1101001 ~ (중략) ~ 1110011 1100011 1110010 1101001 1110000 1110100 0100101 0110011 1000101 0100010 0101001 0101001 0111011" 2진수 Binary 값을 다시 10진수 Decimal 값으로 변환을 하시기 바랍니다.

참고로 해당 스크립트 변환을 위해서는 변환툴을 반드시 이용하시기 바라며, 수동으로 무식하게 하시면 많이 힘듭니다.

변환이 완료되면 그림과 같은 형태를 갖추게 되며, 마지막으로 Malzilla 분석툴을 이용하면 다음과 같은 최종적으로 불러오는 악성 스크립트 주소 cc.js 파일을 확인할 수 있습니다.

참고로 cc.js 파일에 대하여 nProtect 보안 제품에서는 Script-JS/W32.Agent.CJV (VirusTotal : 1/43) 진단명으로 진단하며, 해당 악성 스크립트는 다음과 같은 추가적인 악성 파일을 실행시킵니다.

  • h**p://ojy**.com/css/ac/board.html
  • h**p://ojy**.com/css/ac/vvv.html
  • h**p://ojy**.com/css/ac/hhh.html
  • h**p://ojy**.com/css/ac/fff.html
  • h**p://ojy**.com/css/ac/ac1230.swf (avast! : SWF:CVE-2011-2140-A [Expl])
  • h**p://ojy**.com/css/ac/h6.html (Kaspersky : Exploit.HTML.CVE-2011-1255.a)
  • h**p://ojy**.com/css/ac/fff.html
  • h**p://ojy**.com/css/ac/h8.html
  • h**p://ojy**.com/css/ac/Applet.html
  • h**p://ojy**.com/css/ac/cc.html
  • h**p://ojy**.com/css/ac/Applets.jar (AhnLab V3 : JAVA/Jorik)
  • h**p://ojy**.com/css/ac/e.avi (Microsoft : Exploit:Win32/CVE-2011-2140.A)
  • h**p://ojy**.com/css/ac/s.exe (MD5 : d90ccc137ba09276d6800942bc732b88)

참고로 최종 파일(s.exe)에 대하여 BitDefender 보안 제품에서는 Trojan.Generic.KD.500437 (VirusTotal : 13/42) 진단명으로 진단되고 있습니다.

해당 악성 스크립트는 접속한 사용자가 Adobe Flash Player, Oracle JRE 프로그램이 설치된 환경에서 취약점을 가진 버전을 사용할 경우 자동으로 감염시키도록 구성되어 있으며, 최종적으로 ws2help.dll 시스템 파일을 변조하여 온라인 게임을 비롯한 특정 웹 사이트 계정 정보를 탈취하는 악의적인 동작을 합니다.

특히 ws2help.dll 시스템 파일의 백업 파일도 변조하여 백신 프로그램을 통한 치료를 어렵게 하고 있으며, 잘못 치료를 할 경우 시스템 부팅이 이루어지지 않는 문제가 발생하므로 반드시 Windows CD를 통해 복구를 해야 합니다.

참고로 해당 악성코드 감염시 가장 유사성이 강한 부분은 해당 링크 내용을 참고하시기 바랍니다.

이번 사례와 같이 웹 사이트 관리자가 숨겨진 악성 스크립트를 찾을 때 숨게 노출되지 않도록 하기 위해 점점 교묘하게 진화하고 있다는 점에서 주의가 요구되며, 개인 사용자들은 이런 악성코드에 근본적으로 감염되지 않기 위해서는 백신 프로그램에 의존하기 보다는 윈도우 보안 패치를 포함한 각종 소프트웨어의 최신 버전을 사용하는 습관이 중요하겠습니다.


                               자바스크립트 난독화 되어있을 경우 자동으로 분석해주는 유용한 사이트가 
                               있어 소개를 합니다. 아시는 분은 다 아시는 사이트라 굳이 다른 부가적인
                               말은 하지 안겠습니다.


                                       
 

                                메인화면 입니다. 스크립트 소소나 파일을 업로드 하고 Submit URL(s) 를 클릭
                                하면 자동으로 난독화 된 소스를 분석하며 분석결과를 단계별로 보여줍니다.
                               



                                 
                               



<출처> 처리의 블로그

정상적인 시스템 파일인 ws2help.dll 를 변조하는 악성코드 중 기존 악성코드와는 달리 변종된 악성파일로써
해당 파일에 감염 될 경우 윈도우 부팅 장애가 발생하니 아무쪼록 감염되지 않도록 주의하자~!


ws2help 관련 포스트 보기


<감염증상>

  1. 온라인 게임 계정 유출 (기존 악성코드와 동일)
  2. 인터넷 익스플로러 강제 종료 (기존 악성코드와 동일)
  3. 윈도우 부팅 시 블루 스크린 발생되어 부팅 장애 (변종 악성코드)
  4. 안전모드로 부팅 불가 (변종 악성코드)


해당 악성코드는 MS 취약점과 Adobe Flash Player 취약점을 이용하여 감염이 되며,
현재 공식적인 보안 패치가 나와있다.


<참고 사이트>

  1. Microsoft 보안업데이트(2011년06월15일)

     http://www.microsoft.com/korea/technet/security/Bulletin/ms11-jun.mspx

  2. [Adobe]Security update available for Adobe Flash Player(CVE-2011-2110)
     http://www.adobe.com/support/security/bulletins/apsb11-18.html




패치 하지 않으신 분들은 감염 시 재부팅 되면 아래와 같은 무시무시한 화면을 보시게 된다.






<조치방법 No.1> - 감염 시
  1. 백신 최신버전으로 업데이트 하자 (현재 대부분 백신에서 탐지된다.)
  2. 변조된 ws2help.dll 파일을 임의의 파일명으로 변경한 후 원본파일을 ws2help.dll 로 변경한다.
  3. 재부팅 후 변조 된 악성파일을 삭제한다.


<조치방법 No.2> - 부팅 장애 발생 시
  1. 부팅 장애가 발생한 PC에서는 윈도우 CD를 이용하여 복구모드로 들어간다.
  2. 로그온 할 windows 설치 선택 부분에 "1" 을 선택한 후 명령어 모드로 들어간다.
  3. system32 폴더 위치에서 아래의 명령어를 입력한다.
     > del wsh2lp.dll
     > ren ws3help.dll ws2help.dll
     > exit


<조치방법 No.3> - 복구 CD가 없을 시
  1. PC에서 하드디스크를 떼어 다른 PC에 Slave로 연결한다.
  2. 감염 PC의 시스템폴더(c:\windows\system32)의 ws2help.dll을 삭제한다.
  3. 변경된 원본파일의 이름을 변경한다. (ws3help.dll -> ws2help.dll)
  4. 원래의 PC에 하드디스크를 연결한 후 재부팅 한다.



★ 감염되기 전에 최신 보안 패치를 생활화 하자~











지난 번 ws2help.dll 악성코드와 동일한 공격방식으로 분석이 아니라 자료를 남기고자 리포팅 한다.

<ws2help.dll 분석 리포트>
  - 분석 리포트 보기


인터넷 서핑 중 악성코드에 감염되어 확인 결과
유포지가 우리나라 보안기업 홈페이지로 확인이 되었다.

대부분 영세한 기업의 홈페이지는 호스팅 업체에 맡기고 있으니 보안업체라고 다 보안이 되는건 아니지만
보안업체 홈페이지에서 유포되니.. 참.. 안타깝다.

악성코드 유포지는 다음과 같으며 아직 유포중인 관계로 * 처리를 하였다. (내 스딸이 아니긴 한데..ㅋ)

<악성코드 유포지>
  http://do**.han****.co.kr/HanZip_Ins/info/ko.html
  http://do**.han****.co.kr/HanZip_Ins/info/1.html
  http://do**.han****.co.kr/HanZip_Ins/info/2.html
  http://do**.han****.co.kr/HanZip_Ins/info/nb.js
  http://do**.han****.co.kr/HanZip_Ins/info/2.js
  http://do**.han****.co.kr/HanZip_Ins/info/nb6.swf
  http://do**.han****.co.kr/HanZip_Ins/info/nb8.swf



각 악성코드 내용