帰ってきたLocky:日本にも来るか?

昨年日本でも猛威を振るったランサムウェア「Locky」が、再び感染活動を活発化していると海外で報告されています。ご用心を。

映画や小説などでヒットした作品の続編が出ることはよくあります。それはサイバー犯罪の世界にも当てはまるようです。昨年日本でも猛威を振るったランサムウェア「Locky」が、再び感染活動を活発化していることが海外で報告されています。システムにランサムウェアを感染させるため、細工したMicrosoftのWordファイルなどをスパムメールに添付して送りつけ、受信者に開かせるという攻撃方法の大枠は変わっていないものの、攻撃者はそのスキームに興味深いひと手間を加えています。

※検証のため危険なファイルにアクセスしています。実際にスパムメールを受け取った際にはそうした操作を行わないでください。

攻撃手法

Lockyをダウンロードさせる目的で拡散しているスパムメールの一例はこちらです。

図1. スパムメールの例

図1の赤枠内で示すように、PDFファイルが添付されていることがわかります。

PDFを開くと、中に埋め込まれていたWord(.docm)ファイルが開きます。Wordに表示される[編集を有効にする]ボタンをクリックすると、%TEMP%フォルダーの中にランサムウェアの元となるファイルがダウンロードされ、その後実行ファイルが作成されました。

図2. 細工されたPDFを開き、埋め込まれたWordが開く様子

図3. %TEMP%フォルダーの中にランサムウェアの実行ファイルが作成された様子

しばらく待つと、見覚えのあるあの画面が表示されました。「あなたのすべてのファイルはRSA-2048とAES-128で暗号化された」という脅迫メッセージです。そして、暗号化されたファイルには「.osiris」という拡張子が付けられています(図4、図5参照)。

図4. ランサムウェアに感染し、メッセージが表示された

図5. ファイルが暗号化された

このように、今回観察された攻撃手法はWordファイルを埋め込んだPDFをメールに添付するというものでした。PDFの中のWordファイルはマクロで動くダウンローダーを備えており、好奇心にかられた人がファイルを実行してしまうと、ランサムウェアがダウンロードされます。デコイ(おとり)として動くPDFには現時点では何の面白みもありませんが、英語ではなく日本語で書かれた文章であったら、または大手企業を騙って届いたファイルであれば、感染してしまう可能性もあります。

マルウェアのトリック

技術的な観点から、順を追って今回のマルウェアを確認してみましょう。

  1. PDFファイル

スパムメールを受け取った人が最初に目にするマルウェアは、PDFファイルです。これをバイナリエディタで開いてみると、PDFファイルの中に、エンコードされたオブジェクトが埋め込まれていることがわかります(青く色付けされている部分です)。

図6. PDFファイル内にエンコードされたオブジェクト

  1. docmファイル

1で見つけたオブジェクトをデコードしてみると、docmファイルであることがわかります。

図7. デコード後のオブジェクト

  1. VBAマクロ

docmファイルの中には、マルウェアをダウンロードするためのVBAマクロが潜んでいます。

図8. docmファイルの悪意あるVBAマクロ

  1. マルウェアをダウンロードするための通信先URL

VBAの中には、「V」で区切られた3つの通信先が確認できます。

図9. 3つの通信先

また、このVBAの中にはデータを復号(xor)するために使用する鍵も確認することができます。

図10. データを復号するために使用される鍵

このVBAは通信先のひとつからデータをダウンロードし、そのデータを上記の鍵で復元することで、ファイルを作成し実行します。

ダウンロードされたデータと復元したデータを見てみましょう。

図11. 通信先のひとつからダウンロードされたデータ

データを復元すると、図12の実行ファイルが現れます。

図12. ダウンロードされたデータから実行ファイルを復元

この実行ファイルは解析を妨害するための機能が含まれており、そのままでは解析できませんが、解析を進めることで最終的に実行されるLockyの本体を抽出することができます。中の文字列を確認してみると、暗号化したファイルの拡張子として使う「.osiris」が確認できます。

図13. 暗号化したファイルの拡張子「.osiris」

今回のLockyが暗号化の対象としているファイルの拡張子は、次のとおりです:

.001 .002 .003 .004 .005 .006 .007 .008 .009 .010 .011 .123 .1cd .3dm .3ds .3fr .3g2 .3gp .3pr .602 .7zip .aac .ab4 .accdb .accde .accdr .accdt .ach .acr .act .adb .adp .ads .aes .agdl .aiff .ait .aoi .apj .apk .ARC .arw .asc .asf .asm .asp .aspx .asset .asx .avi .awg .back .backup .backupdb .bak .bank .bat .bay .bdb .bgt .bik .bin .bkp .blend .bmp .bpw .brd .bsa .cdf .cdr .cdr3 .cdr4 .cdr5 .cdr6 .cdrw .cdx .ce1 .ce2 .cer .cfg .cgm .cib .class .cls .cmd .cmt .config .contact .cpi .cpp .cr2 .craw .crt .crw .csh .csl .csr .css .CSV .csv .d3dbsp .dac .das .dat .db3 .dbf .dbx .db_journal .dc2 .dch .dcr .dcs .ddd .ddoc .ddrw .dds .der .des .design .dgc .dif .dip .dit .djv .djvu .dng .DOC .doc .docb .docm .docx .DOT .dot .dotm .dotx .drf .drw .dtd .dwg .dxb .dxf .dxg .edb .eml .eps .erbsql .erf .exf .fdb .ffd .fff .fhd .fla .flac .flf .flv .flvv .forge .fpx .frm .fxg .gif .gpg .gray .grey .groups .gry .hbk .hdd .hpp .html .hwp .ibank .ibd .ibz .idx .iif .iiq .incpas .indd .iwi .jar .java .jnt .jpe .jpeg .jpg .kc2 .kdbx .kdc .key .kpdx .kwm .laccdb .lay .lay6 .lbf .ldf .lit .litemod .litesql .log .ltx .lua .m2ts .m3u .m4a .m4p .m4u .m4v .mapimail .max .mbx .mdb .mdc .mdf .mef .mfw .mid .mkv .mlb .mml .mmw .mny .moneywell .mos .mov .mp3 .mp4 .mpeg .mpg .mrw .ms11 .msg .MYD .myd .MYI .n64 .ndd .ndf .NEF .nef .nk2 .nop .nrw .ns2 .ns3 .ns4 .nsd .nsf .nsg .nsh .nvram .nwb .nx2 .nxl .nyf .oab .obj .odb .odc .odf .odg .odm .odp .ods .odt .ogg .oil .onetoc2 .orf .ost .otg .oth .otp .ots .ott .p12 .p7b .p7c .pab .pages .PAQ .pas .pat .pcd .pct .pdb .pdd .pdf .pef .pem .pfx .php .pif .plc .plus_muhd .png .pot .potm .potx .ppam .pps .ppsm .ppsx .PPT .ppt .pptm .pptx .prf .psafe3 .psd .pspimage .pst .ptx .pwm .qba .qbb .qbm .qbr .qbw .qbx .qby .qcow .qcow2 .qed .r3d .raf .rar .rat .raw .rdb .re4 .RTF .rtf .rvt .rw2 .rwl .rwz .s3db .safe .sas7bdat .sav .save .say .sch .sd0 .sda .sdf .sldm .sldx .slk .sql .sqlite .SQLITE3 .sqlite3 .SQLITEDB .sqlitedb .sr2 .srf .srt .srw .st4 .st5 .st6 .st7 .st8 .stc .std .sti .stm .stw .stx .svg .swf .sxc .sxd .sxg .sxi .sxm .sxw .tar .tar.bz2 .tbk .tex .tga .tgz .thm .tif .tiff .tlg .txt .uop .uot .upk .vbox .vbs .vdi .vhd .vhdx .vmdk .vmsd .vmx .vmxf .vob .wab .wad .wallet .wav .wb2 .wk1 .wks .wma .wmv .wpd .wps .x11 .x3f .xis .xla .xlam .xlc .xlk .xlm .xlr .XLS .xls .xlsb .xlsm .xlsx .xlt .xltm .xltx .xlw .xml .ycbcra .yuv .zip

暗号化された後に案内される復号ツールのページでは31か国の言語に対応しており、日本語もすでに対応していることが確認できました。

図14. 対応言語のリスト

 ダウンローダーの通信先

ダウンローダーが通信する先は米国のサーバーが多かったのですが、日本に存在するサーバーも見つかっています。驚いたことに、その中のひとつは昨年9月14日の時点ですでにマルウェアを設置するWebサイトとして改ざんを受けており、修正されないまま(もしくは、修正された後にまた改ざんされて)現在もマルウェアの通信先として活動を続けていました。もし、皆様が外部組織からWebサイトの改ざんなどの指摘を受けた場合は、速やかにご対応いただくことを切に願います。

終わりに

幸い、本稿の執筆時点で、Lockyをダウンロードさせる日本語のスパムメールは見つかっていません。しかし、昨年日本で起きたランサムウェアの大流行を思い出すと、再度日本が狙われることも十分あり得ます。ゴールデンウィークの長期休暇がランサムウェアへの対応で潰れてしまう-そんなことにならないよう、不審なメールやファイルには十分ご注意ください。

カスペルスキー製品では、ランサムウェアおよびランサムウェアをダウンロードさせる悪意のあるオブジェクトを以下の検知名で検知し、ブロックします。

カスペルスキー製品での検知名

・HEUR:Trojan-Downloader.Script.Generic
・Trojan-Downloader.MSWord.Agent.asdfwz
・Trojan-Downloader.MSWord.Agent.bha
・Trojan-Ransom.Win32.Locky.xqk
・Trojan-Ransom.Win32.Locky.xqj

検体のハッシュ値の例

  • PDF
    12A1FEBFAF19527429E90B563438F9A6
    2CF8EB4EB5FA40B8F7B5BE63402ABEFC
    3DC01F4BFDDF27113C2EC638EF9094F1
    A34BA5C6C37FBF37E5A8C132A7D6B1B5
    50077BE91383C9866CDD739F4755CAF7
  • DOCM
    DB9355C9E9A0D5636079364F3C0934B7
    AE51143FF00EDD41B97A9D47886118C5
    0F274E97E7BFF5E07911D53B6AA9E9EC
    7DD4050381E5C6AFAECFE883899BE26F
    2465AD67F9BF09FCE6646385D089C49E
  • EXE
    DEEF6BCC389B90E11A83736F2B961A40
    E46DAD0C1C95BF86E6FAFD2BE03F7FAD

通信先の例

●●rens.com.au/jhg67g
●●bar.name/87tgyu

ヒント