7/18(水) 気になったセキュリティ記事

Blackgear Cyberespionage Campaign Resurfaces, Abuses Social Media for C&C Communication - TrendLabs Security Intelligence Blog

 

日本を標的にしているAPT攻撃者グループに関する最新の記事があったので簡単に概要をメモ。

 

■ グループ名

Blackgear (別名: Topgear, Comnie)

 

■ 標的

国: 日本、韓国、台湾

組織: 公的機関、通信、ハイテク産業

 

■ 使用するマルウェア

Marade (ダウンローダー)

Protux (バックドア)

Elirks (バックドア)

 

■ 特徴

C2サーバの通信先をブログやソーシャルメディアに投稿した記事中に隠す

 

■ 攻撃方法

1. ドキュメントファイル、または偽のインストーラを標的に送りつける。

(e.g. マクロ付きOfficeファイル、偽のFlash Playerインストーラ)

 

2. 被害者が送りつけられたファイルを実行するとMarade (ダウンローダー)が起動する。

 

3. Marade (ダウンローダー)はブログやソーシャルメディアからC2サーバの通信先を取得する。

 

4. Marade (ダウンローダー)は3.で取得した通信先からProtux (バックドア)をダウンロード・実行する。

 

5. Protux (バックドア)はブログやソーシャルメディアからC2サーバの通信先を取得する。

 

6. 攻撃者はC2サーバから命令を下してProtux (バックドア)を利用して任意の操作を行う。

 

IOC

「干○妹!身代金ウイルス」の解析

マルウェアの解析スキルを磨くため、最近の適当なランサムウェアがないかを探していたところ、VirusTotalで奇妙なマルウェアを発見。

f:id:b1nary:20180222002510p:plain

コメントを見ると暗号化したファイルの拡張子を「.下物妹!」に変更する、との(面白い)情報がありましたので早速入手して中身を見てみました。 

まずはマルウェアの表層部分を見てみると、中身は実行ファイルで、バージョンやPDBを見るとバッチリと「Ransom」との記載が見られます。

f:id:b1nary:20180222004213p:plain

続いて今回のランサムウェアを実行して見たところ、以下のような画面が表示され、実際にファイルの暗号化が行われます。*1

VirusTotalのコメントとは少し違い、暗号化されたファイルの拡張子は「.干◯妹!」でした)

f:id:b1nary:20180222005633p:plain

内部のコードを確認して見たところ、暗号化にはDESを使っており、暗号化に使うキーはマルウェア内にハードコードされていることからも簡単に復号化可能です。

また、そもそもとしてマルウェアを実行する際に「-recover」のオプションを付けて実行すると、

私はすでに5文書を復号化しました。

と言いつつ全てのファイルを復号化してくれます・・。

f:id:b1nary:20180222011642p:plain

結果として、今回のマルウェアはただのお遊び目的だと思われますが、日本語が変なことからも、外国人が日本向けに作っていると思うと少し興味深いかもしれません。

*1:暗号化対象となる拡張子は以下と思われます

".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".txt", ".jpg", ".png", ".gif", ".dng", ".mp3", ".mp4", ".rmvb", ".flac", ".ape", ".avi", ".mkv", ".mpg", ".jpeg", ".pdf"

2/18(日) 気になったセキュリティ記事

andreafortuna.org

サンドボックスアンチウイルス製品に検知されることを回避するためにマルウェアが使用するテクニックを解説した記事。

例として挙げられているものとしては以下(一部)。

 

1.サンドボックス検知

(1) CPUのコア数を確認

サンドボックスに割り当てられているCPUのコア数は少ないことが多いため、CPUのコア数がある閾値より少ない場合はサンドボックスとして検知

 

(2) ユーザーの活動痕跡を確認

通常の端末であれば存在するであろう、ユーザのキーボード入力やマウスの動きがない場合はサンドボックスとして検知

 

2.難読化

(1) 使われないコードを挿入

マルウェア内部のシグネチャが変わるため、シグネチャベースでのアンチウイルス製品だと検知できなくなる可能性

 

(2) レジスタの配置転換

説明を見てもよく分からなかったが、おそらく通常のレジスタの役割を無視して使用するものと推定

(ex. ループのカウンタにはecxレジスタを本来使うべきだが、eaxレジスタで代行する等)

  

3.パッカー(自己解凍書庫)

ソフトウェアをそのまま実行できる形で保持しながら、中身だけを圧縮するツール。

本来は正規ツールであり、プログラムのサイズを小さくするために使われたりするが、マルウェアによって悪用されている。

マルウェア内に含まれる悪性コードはパッカーによって圧縮されるため、アンチウイルス製品のシグネチャでは検知できず、またリバースエンジニアリングも困難になる。

【著名なパッカーのリスト】

 

他にも様々なテクニックがあるかと思いますが、なかなか興味深いです。 

 

2/17(土) 気になったセキュリティ記事

www.c0d3xpl0it.com

 

わざと悪意のあるネットワークトラフィックを組織内部で発生させて検知できるかどうかをテストするためのツール。

生成できるトラフィックとしては以下があるとのこと(一部)。

  1. C2サーバとして使われているドメインDNSリクエス
  2. C2サーバとして使われているドメインにアクセス
  3. シンクホール化されているドメインにアクセス
  4. DNSトンネリング
  5. DGA
  6. ポートスキャン

実際にインシデントが発生してから検知できない自体が発覚するよりも、未然に本当に検知できるのかを確認しておくのは良さそうです。

またC2サーバとして使われているドメインは以下のサイトから取得しているとのこと。

cybercrime-tracker.net

Square CTF WriteUp - Crypt 50pt -

Square CTFのCrypt 50ptの問題として、以下の暗号文が出題。

The androids’ plans for domination include securing ancient artifacts relating to the animal world to be used for nefarious means. We managed to infiltrate one of their digsites and intercepted this ancient scientific tome, but it's encrypted! We think it relates to Julius Caesar's time in Rome, for he was a great friend and benefactor to the feline community. We could use your cryptanalysis skills to determine the contents of this tome and whether it will give us any leverage against our enemies.

Kyv ufdvjkzt trk (Wvczj jzcmvjkizj trklj fi Wvczj trklj) zj r jdrcc, kpgztrccp wliip, triezmfiflj drddrc. Kyvp riv fwkve trccvu yfljv trkj nyve bvgk rj zeuffi gvkj fi jzdgcp trkj nyve kyviv zj ef evvu kf uzjkzexlzjy kyvd wifd fkyvi wvczuj reu wvczevj. Trkj riv fwkve mrclvu sp yldrej wfi tfdgrezfejyzg reu wfi kyvzi rszczkp kf ylek mvidze. Kyviv riv dfiv kyre 70 trk sivvuj, kyflxy uzwwvivek rjjftzrkzfej giftcrzd uzwwvivek eldsvij rttfiuzex kf kyvzi jkreuriuj. Kyv wcrx zj kyv gyirjv nzky urjyvj: wcrx nyrk zj r ufdvjkzt trk.

 

まず暗号文を見て直感的に感じたのは、ROT13ではないかとのこと。

(以前にも同じような文章を見たことがあったため)

さらに出題文を読むと「Julius Caesar」の文言があることから、シーザー暗号を使っていると確信。

シーザー暗号 - Wikipedia

そのため、シフト数を適当に変更しながら復号化を行ったところ、シフト数9で以下の有意な文章に変換成功。

The domestic cat (Felis silvestris catus or Felis catus) is a small, typically furry, carnivorous mammal. They are often called house cats when kept as indoor pets or simply cats when there is no need to distinguish them from other felids and felines. Cats are often valued by humans for companionship and for their ability to hunt vermin. There are more than 70 cat breeds, though different associations proclaim different numbers according to their standards. The flag is the phrase with dashes: flag what is a domestic cat. 

フラグは

The flag is the phrase with dashes: flag what is a domestic cat. 

とのことだったので、答えは以下になります。

flag-what-is-a-domestic-cat

 

 

 

gemでインストール時にエラーが発生

gemコマンドで初めてツールをインストールしようとしたところ、以下のエラーが発生。

 

#gem install zsteg

Building native extensions. This could take a while...
ERROR: Error installing zsteg:
ERROR: Failed to build gem native extension.

current directory: /var/lib/gems/2.3.0/gems/rainbow-2.2.2/ext
/usr/bin/ruby2.3 mkrf_conf.rb

current directory: /var/lib/gems/2.3.0/gems/rainbow-2.2.2/ext
/usr/bin/ruby2.3 -rubygems /usr/share/rubygems-integration/all/gems/rake-12.0.0/exe/rake RUBYARCHDIR=/var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/rainbow-2.2.2 RUBYLIBDIR=/var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/rainbow-2.2.2
/usr/bin/ruby2.3: No such file or directory -- /usr/share/rubygems-integration/all/gems/rake-12.0.0/exe/rake (LoadError)

rake failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.3.0/gems/rainbow-2.2.2 for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/rainbow-2.2.2/gem_make.out

原因としてはエラー文にバッチリ記載されている通り、

/usr/bin/ruby2.3: No such file or directory -- /usr/share/rubygems-integration/all/gems/rake-12.0.0/exe/rake (LoadError)

とのことだったので、

#gem install rake

でrakeを先にインストールした後で再度実行したところ、無事にインストールできました。

#gem install zsteg
Building native extensions. This could take a while...
Successfully installed rainbow-2.2.2
Fetching: zpng-0.2.5.gem (100%)
Successfully installed zpng-0.2.5
Fetching: zsteg-0.1.2.gem (100%)
Successfully installed zsteg-0.1.2
Parsing documentation for rainbow-2.2.2
Installing ri documentation for rainbow-2.2.2
Parsing documentation for zpng-0.2.5
Installing ri documentation for zpng-0.2.5
Parsing documentation for zsteg-0.1.2
Installing ri documentation for zsteg-0.1.2
Done installing documentation for rainbow, zpng, zsteg after 1 seconds
3 gems installed

 

リバースエンジニアリングコンテスト開催

FireEyeより「2017/09/01」からCTF形式のリバースエンジニアリングコンテストが開催されるとのこと。

個人で解く形式で、課題はWindows以外に、一部LinuxAndroidArduino向けの出題も有り。

以下のCTFページから過去の問題も落とせるみたいなので

腕試しに挑戦してみる予定。

 CTFサイト

http://flare-on.com/