최근 언론에서 록키 랜섬웨어 재 등장이란 뉴스가 자주 보인다
Trojan/Win32.Locky
랜섬웨어란 금전을 요구하는 악성코드라고 생각하면 되겠다
록키라고 명명된 이유는 아마도 파일명 정보에 locky 라고 변경되어 록키라고 부르는거 같다
내 기준으로 볼때 해당 코드는 5월 초반부터 확인되었고, 최근엔 js 코드가 점점 난독화 과정이 복잡해 지는 구조이다
주로 메일의 첨부파일 안에 삽입된 코드는 swift*** 란 이름으로 들어있다
스위프트 코드가 떠들썩해서 인지는 몰라도 최근 유행했던 이름을 넣은거 같다
역시 지저분하게 난독화되어 있다
/*@cc_on 은 지난번 소개 했으니 생략
(* 컴공부의 과거글 참조)
소스코드 하단에 보면 eval(b); 부분이 키가 되는데
즉, 코드를 실행하는 부분으로
이 부분을 document.write 나 console.log 로 변경해서 보면 복호화 된 코드 확인 가능
복호화 코드 확인
더 지저분해진 느낌이지만 복호화된거 맞다;;
js뷰티를 사용하여 코드를 보기 좋게 바꿔봐도 복잡하긴 매한가지..
코드를 복호화하면 파일 저장 위치와 파일명이 확인 가능하다
WScript[CreateObject](WScript.shell).ExpandEnvironmentStrings(%TEMP%/P16CoDbMp.exe)
코드를 보면 WScript 문자가 확인되는 전 코드의 함수에 단서가 있다
악성 URL 주소를 가지고 있는 함수 !!
UIUr7
var UIUr7=[Wc+AKLRu2(UJCo)+HWWd2+AOi+PVa+QQf3+Jl5+NEh + IZCIo+Ks+(function VLx()
{
return YNKj9;
}
()) + IGh+GIg(TCRp4), QJf9+WJd9+Le8+RLn(Fs)+JLc7 + SPs6 + XRHQj3+Ph0+Qo4 + FGl+YTa(IYGVz2) + DOOn2(Cn)+PTg4, IDf + TXFQa1+HWr + Dl5+Dw(ULAm1)+VVd1+GSc6 + (function RLYSy()
{
return Uj3;
}
())+(function Mn()
{
return Uh;
}
())+ONq+BGLFl(Pu)+(function GJb()
{
return MXm;
}
())+FSVCh+RHRw2];
console.log 혹은 alert 으로 확인
세곳의 악성코드 유포지 주소가 들어있다
(* 최근 코드의 특징, 세곳모두 파일사이즈는 같지만 md5 값은 다름)
세곳을 접속해서 파일을 다운 받는데, 처음 주소에서 받아지면 뒷 주소는 접속하지 않는듯 하다
근데 이게 전부가 아니다
다운받은 파일은 그냥 원본이라고 해야될까?
실행구조(MZ)가 아닌 거지같은 파일이다;;
뒤 부분 코드를 보면 아래와 같은 수학적 연산을 두번이나 수행해서 최종 실행파일로 만드는 구조이다
OMG @..@
즉, 위 주소에서 받은 파일은 실행파일이 변하기 전의 파일
그래서인지 일부 백신에서만 탐지를 하고 있다
wscript 로 실행되는 js 파일이라고 생각해볼때
실행되기 전 코드를 주석처리하고 변환되는 과정까지만 확인 가능했다
실행하는 코드인 Run 문자를 찾았다
var Rp = "Run";
EOMy 부분을 주석처리하면 된다
EOMy[(function Mm2()
{
return Rp;
}
())]
tra.js 로 변경후 실행
\Temp\ 위치에 변환된 파일 확인
(vmware xp 라서 구식 주소.. 요즘은 C:\Users\Administrator\AppData\Local\Temp 일 것이다.)
변환된 P16CoDbMp.exe 는 Trojan/Win32.Locky 로 진단되고 있다
감염된 화면
외부와의 통신은 이런식으로 되나보다
참고로 아래랑 통신이 되어야 랜섬웨어에 감염된다
hxxp://**.**.**.***/upload/_dispatch.php
- 16.06.29 록키 랜섬웨어 확인 -
'공부 > 콤퓨타' 카테고리의 다른 글
wsf(Windows Script File) 랜섬웨어 (0) | 2016.07.14 |
---|---|
JS.Nemucod (네머코드) (0) | 2016.07.11 |
피싱사이트 확인 (0) | 2016.06.03 |
Angler EK (0) | 2016.05.26 |
@cc_on (JavaScript) (0) | 2016.05.26 |