ランサムウェアLockyキャンペーンを解析してみた!
市田 達也
こんばんは!Recruit-CSIRTです。
数日前から、ランサムウェアLockyを添付したスパムメールをばらまくキャンペーンが、世界的に観測されているようです。
https://labsblog.f-secure.com/2016/07/13/a-new-high-for-locky/
当社のメールアドレスにもかなりの数のスパムメールが送られています。今回は、このランサムウェアの挙動を解析した結果について報告します。
大量に送られているメールは英語で書かれており、以下のようなタイトルがつけられていました。
- Hi
- Need your attention
- Important
- ATTN
- Please review
- Fw:
- Re:
メール本文も英語の業務メールでした。
このメールにzip圧縮されたwsf(windows script file)ファイルが添付されており、実行すると攻撃者のサーバーからマルウェアをダウンロードして感染してしまうものです。
それでは実際に、wsfファイルの内容を見てみましょう。
ファイル全般にわたって難読化されているため、このままではどんな動作をするか解析することができません。
ファイルの最終部を見てみると、難読化を解除して実行(eval)するコードがありました。
evalをprintに書き換えて実行することで、解読した内容を表示することができました。
解読した内容を表示するとさらにもう一段、難読化がかかっていました。
手動で解析したところマルウェアをダウンロードして感染させる機能が確認されました。ダウンロード先のURLは「437」という共通したマジックナンバーの次の変数に格納されていました。この場合、変数「QYPv6」をPrintすることで3つのURLが抽出することができます。
解析環境からURLにアクセスしたところ、実際にランサムウェアがダウンロードされることが確認されました。
wsfファイルからURLのリストを抽出するPython Scriptを作成しましたので、参考までに公開します。実行にはjscへのパスを通す必要があります。
※なお、本スクリプトについては、諸環境での動作、及び実行時の安全性を保証するものではありません。万が一、実行に伴い不具合が発生した場合でも、一切の保証はいたしかねます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
from os import listdir, system, chdir from sys import argv import re from commands import getoutput if len(argv) != 2: print "Usage: ./locky.py [wsf file]" F = open(argv[1]).read() F = F.replace("<job>","") F = F[F.index(">")+4:F.index("if (")] F = F.replace("eval", "//") F = F.replace("function", "//function") F = F.replace("/*@cc_on", "") F = F.replace("@*/", "") F += "\n\rprint(c);" o = open("dump.js", "w") o.write(F) o.close() F = getoutput("jsc dump.js") # After "437" next VAR will contain URL after decoding index437 = F.index('"437"') indexVAR = F.index("var", index437) + 4 indexVAREnd = F.index("=", indexVAR) varName = F[indexVAR:indexVAREnd] indexLineEnd = F.index("\n", indexVAR) F = F[:indexLineEnd] F += "print (%s);" % varName o = open("dump.js","w") o.write(F) o.close() print getoutput("jsc dump.js") # Print it with file name to the left |
Recruit-CSIRTにて3,000以上のスパムメールを解析したところ、合計246のURLを特定しました。特定したURLは、JPCERT/CCに情報共有しております。