메일로 전파되는Locky 랜섬웨어 변종(.zepto)
2016.07.25 00:46
1. 개요
2016년 초부터 등장 했던 랜섬웨어가 잠잠해지는 듯하더니 지속적으로 메일로 유포되고 있다.
지속적으로 내용과 보내는 사람을 변경해서 메일을 보내준다.
과거 수법과 동일하게 zip으로 만들어진 압축 파일 안에는 wsf 스크립트 파일이 존재한다.
해당 파일을 실행할 비트코인을 요구하는 창을 띄우고 바탕화면도 변경시킨다. 각각 의 폴더안에는 "_HELP_instructions.html"의 형태의 파일과 zepto 확장자의 파일만 덩그라니, 남아 있다.
2. 스크립트 파일 확인
wsf 파일을 열어 보면 난독화된 js 코드가 존재함을 알 수 있다.
js 스크립트만 따로 추출을 해주어서 한번 정리를 해준다.
document.write와 textarea를 사용하여 변수 c의 내용을 확인한다.
위의 방법으로 난독화가 풀린 731줄 가량의 또다른 js 스크립트소스를 획득 할 수 있다.
이스크립트 함수의 핵심을 문서에는 안나와있지만 bar 함수안에 eval명령어가 있고, c문자열 변수를 eval로 실행하는 것이다.
한줄씩 타고 내려오면서 alert노가다를하면 위와 같은 도메인 정보를 획득 할 수 있다.
다운받은 파일은 난독화 해제 후 위의 경로에 저장.
3. 파일분석
먼저 파일에 대한 정보를 확시나 얻을 수 있을까해서 peid 돌려 보았지만 딱히...
bintext를 이용해 문자열 확인 해봐도 딱히....
일단 파일을 실행했을때 하는 행위를 파악하기 위해 실행해본다.
해당 악성코드는 "321" 파라미터로 받아야 정상적으로 작동한다.
네트워크 접속 여부 확인 가능
c&c와 통신을 통해 키를 받을 것으로 추정한다.
procmon으로 파일을 찾고 zepto 확장자로 암호화하여 저장한다.
파일을 ollydbg로 트레이싱을 해나가다 보니 A70000에서 00400000로 1byte씩 복사하는 것을 확인 가능.
해당 A70000부분은 pe 파일 형태로 구성되어 있다.
A70000에서 문자열을 쫙 긇어 hxd로 파일을 만들어 준다.
난독화가 풀린듯하다. 처음 파일에서는 확인 할 수 없었던 익숙한 확장자들이 보인다.
위의 종류에 대한 확장자에 대해 암호화를 한다.
새로운 파일로 다시 실행하면 시스템의 언어 확인 후 Sleep를 이용해 잠시 쉰다. Timeout =43000.ms (43초후실행)
그다음으로 암호화 관련 키생성과 관련된 함수들을 호출 한다.
실행할때마다 다르게 키가 생성된다. 위의 사진은 암호화에 사용될 키값
디버깅을 해보면 어떤 윈도우 버전을 쓰는지에 대해 확인 한다.
url들의 파라미터를 입력하는 것을 확인 할 수 있다.
"id=D41D8CD98F00B204&act=getkey&affid=1&lang=ko&corp=0&serv=0&os=Windows+XP&sp=3&x64=0&v=2"
파일 실행 했을때 확인 되었던 도메인들에 대해 접속하는 것 처럼 외부 접속 확인.
xfequCH=%C6%F3%B9%F0%914K%88%D9%9E%E2%DD%86h%0E%B9%8A%5D%29%9B%B5_%10%E4%85
%F2D%82W%92B%D8%CD%ED%F2&HvValcY=%2Cyv%5C%FDni%1Et%8Eu%9D%98%A7%A9%9Ay%82%E7
%91%1CK%A0%F2%A3%1A%BCA%60%CFn%D5%AE%9B%D6%D8%05%E5%B3%D1D5%D4%C4%19%0E
%98%1A%BC%B8&Kb
시스템에서 가져온 정보들의 이용해 C&C서버로 요청한다.
새로운 쓰레드를 생성하고 쓰레드에서 암호화를 진행한다. FindFirstFileW를 이용해서 디렉터리를 검색한다.
메모리에 저장되어 있는 디렉터리들 확인.
위의 루프문을 돌면서 암호화 할 파일 확장자들에 대한 정보를 가져온다.
FindNextFileW를 이용해서 쭈욱 스캔~
그리고 우리의 파일들은 암호화가 된다.
Createfilew를 이용하여 비트코인 요청 페이지를 만든다.
생성된 html 파일
다음으로는 파탕화면을 변경하기 위한 부분이다. 바탕화면을 변경하기 위해 RegOpenKeyEXA를 호출한다.
다음으로는 위의 사진 처름 레지스트리를 설정한후 RegSetValueExA를 이용해 레지스트리 값을 변경한다.
SystemParameterInFoW를 호출 하여 배경화면을 갱신.
위와 같이 배경화면이 변경된다.
ShellExecuteW명령어로 바탕화면에 만들어진 html과 bmp 파일을 실행시킨다.
악성코드가 실행되면, 원본 파일은 위의 경로로 이름을 sys1C.tmp로 변경하여 이동 시킨다.
옮겨진 파일을 cmd명령어를 이용해서 삭제.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
5 |
랜섬웨어 자바스크립트 wscript 오류 발생 원인
![]() | Leekyu | 2016.11.30 | 4125 |
4 |
비트코인 채굴 악성코드(Photo.scr)
![]() | Leekyu | 2016.08.12 | 8107 |
» |
메일로 전파되는Locky 랜섬웨어 변종(.zepto)
![]() | Leekyu | 2016.07.25 | 741 |
2 |
메일로 전파되는 docm의 Macro기반 악성코드
![]() | Leekyu | 2016.06.26 | 2163 |
1 |
.Net 기반의 악성코드 분석
![]() | Leekyu | 2016.06.19 | 1853 |