エフセキュアブログ

RAT

AutoItScript→VBScriptによる検出回避とか

2013年8月頃よりマルウェア開発者らのコミュニティ内でマルウェアをVBScriptへ変換を依頼するなどのスレッドを見かけるようになりました。
下図は一例で、或るRAT(Remote Administration Tool)をVBScriptへ変換して欲しい、といった依頼のものです。

convert request

既存のマルウェアをわざわざ他の開発言語で作り直す主な理由として、
  ・一時的なセキュリティ対策ツールの回避
  ・VBScriptなどのスクリプト言語ではエンコード処理が容易
  ・スクリプト言語への変換、公開により別の開発者が登場し、機能面などで機能向上が期待
などが挙げられます。
いずれにせよ、マルウェア開発者側にこのような動きがあるということは、次のサイバー攻撃の流れとして融通がきき易いスクリプト言語ベースのマルウェアの脅威が増大すると予測できそうです。
ちなみに、現在ちらほら確認しているのはZeuSの亜種でも利用されているとされるAutoItScriptからVBScriptへの変換です。
(このAutoItScriptで開発されたマルウェアの増加に関してトレンドマイクロ社のブログで報告されています。)
#ZeuS自身の変換は見た事ありませんが、ソースコードが流出していることを考えると有り得るかも?
傾向からしますと、VBScriptの利用が目立っていますので、そういった意味では対応策を考え始めた方が良いかもしれません。
下の記事に主な対応策が記載されていますので、参考にしてみては如何でしょうか。

VBScript Malware Demo using FileSystemObject


AutoItScriptで開発されたマルウェアについて
補足で、上述のAutoItScriptについて触れてみたいと思います。
AutoItScriptはAutoItがインストールされた環境下でなければ動作しません。そこで、AutoItにより
スクリプトをコンパイルしますとUPXによりパックされEXEファイルとして出力することができます。
但し、コンパイルした結果は、
  ・UPXの利用はプログラムの善悪に関係無く、一部のセキュリティ対策ツールに検出されてしまう
  ・EXEファイルはサンドボックス型のセキュリティ対策ツールで検出されてしまう可能性がある
  ・AutoItで作成したことはすぐに分かってしまう
などの理由によりセキュリティ対策ツールに処理されてしまう可能性が高まります。
そこで、攻撃者らは試行錯誤した結果、解決策のひとつとしてソースコードの変換を考えたと推測されます
参考までに変換前と後は下のサンプルのような内容となります。(イメージだけ・・・)
サンプル1:AutoItScript
FUNC __IS_SPREADING ()


LOCAL $W_KEY = STRINGSPLIT (@SCRIPT,".")
$SPREADING = REGREAD ("HKEY_LOCAL_MACHINE\SOFTWARE\" & $W_KEY[1],"")
IF  $SPREADING = "" THEN
     $SPREADING = "FALSE"
     IF  STRINGUPPER (STRINGMID (@FULLPATH,2)) = STRINGUPPER (":\" & @SCRIPT) THEN $SPREADING = "TRUE"
     REGWRITE ("HKEY_LOCAL_MACHINE\SOFTWARE\" & $W_KEY[1],"","REG_SZ",$SPREADING)
ENDIF
ENDFUNC
サンプル2:VBScript
spreading = shellobj.regread ("HKEY_LOCAL_MACHINE\software\" & split (install,".")(0) & "\")
if spreading = "" then
   if lcase ( mid(wscript.scriptfullname,2)) = ":\" &  lcase(install) then
      spreading = "true - " & date
      shellobj.regwrite "HKEY_LOCAL_MACHINE\software\" & split (install,".")(0)  & "\",  spreading, "REG_SZ"
   else
      usbspreading = "false - " & date
      shellobj.regwrite "HKEY_LOCAL_MACHINE\software\" & split (install,".")(0)  & "\",  spreading, "REG_SZ"

   end if
end If  

実際はサンプル2からさらにエンコードされますので、可読性のあることは殆どありません。意識せずにみると、
複数のマルウェアが存在するように見えます。ここまでのイメージとしては、次のようになります。元はひとつの検体なのですが、自由度の高い(?)言語に変換することで形体を変化させ生存率を高めているわけです。

autoit

最終的にエンコードや暗号処理を用いていますので、検体そのものを被害PC上よりピンポイントで発見することはなかなか骨が折れそうです。また、
暫くはサイバー攻撃手法に変化が起こるというよりは、このような回避手法とのいたちごっこが続くと考えています。このような状況を踏まえますと、利用頻度が低いスクリプトなどは予め動作制限をしておき、脅威レベルを軽減しておいた方が安心かもしれません。

 

UNRECOMは今後のRATの主流になれるか

2013年も12月となり、今年も残り僅かとなりました。そんな中、Java RATのひとつであるAdwind RATがUnrecom Soft(UNiversal REmote COntrol Multi-Platform)に買収され、新たな展開をみせようとしています。
Adwindは、Android RATの1つであるAndroRat(流出したソースコードと推測)をベースとしたAndroidの遠隔操作機能を追加し、クロス・プラットフォーム(Windows、MacOS、Linux、Android)の統合管理をいち早く実現したことで知られています。
このことは他のRAT開発者らにも影響を与えたとも考えられ、今後のトレンドを占う意味でも注目のRATであったと思います。

unrecom

このようにPCとスマートフォンが攻撃者により統合管理され始めますと、それらを繋ぐオンライン・ストレージなども標的となる可能性も出てくるのでは?と勘ぐりたくなりますね。
どの程度の実現性があるか分かりませんが、リスクの対象範囲は徐々に拡大し始めているようです。
※Adwindは2013年11月20日以降は利用できなくなっています。

アナウンス

さて、Unrecomの機能面ですが、現在のところほぼAdwind v3.0と同様です。Adwindの特徴でもあるPluginを一通り引き継いでいます。遠隔操作をする際に、あると便利なものは一通り揃っているようです。今後どのような機能が追加されるのかが興味深いところです。注目はAndroid向けのPluginをどの程度充実させてくるか、でしょうか。
ちなみに、下図にあるFunnyのようなお遊び的なものもあります。利用価格は$10。

Funny:
It this a simple funny option for move the mouse of remote pc and push aleatori keys


plugins



尚、現在のところ検出状況は芳しくありません。アンチウイルスソフトでの検出結果はマチマチな状況です。。
但し、次のようにSnortのシグネチャも公開されていますので、IDS/IPS等による検出も可能ですので、被害にいち早く気付くことは出来そうです。(少なくともUnrecomの仕様に変更がなければ、です。)

alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg: "[CrowdStrike] -RECOMM/Adwind Default Password Auth"; \flow: to_server, established; \
content: "|00||28|e3a8809017dd76bd26557a5b923ab2ae16c0cdb3"; \
sid: 1981310201; rev: 20131115)


alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg: "[CrowdStrike] -RECOMM/Adwind Ping/Pong"; \
flow: to_server, established; dsize: 1024; \
content: "|00 00 53 09 58 58 58 58|"; depth: 16; \
content: "|58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58|"; offset: 1008; \
sid: 1981310202; rev: 20131115)

    参照URL:
    http://www.crowdstrike.com/blog/adwind-rat-rebranding/index.html


Java RATは以前より存在しましたが、今年6月頃より実用化されてきています。現在のところ大規模な攻撃情報は聞いていませんが、サイバー犯罪の世界では一般的になってくるのではないでしょうか。
何はともあれ、来年はJava RATやAndroid RATから目が離せません。


追記:
   かなり粗いですが、yara signatureです。
{
 strings:
  $Class = /opciones\/\w+\.class/
  $made = "desinstalador/MaDe.adwind"
  $gcon = "JTextPaneExample.class" nocase
  $plugin = "AdwindServer.class" nocase
 condition:
  any of ($Class) and ($made or $gcon) or $plugin
}

Android RATのオープンソース化で行きつく先は・・・


2011年に著名なBotであるZeuSのソースコードが流出したことは記憶に新しいです。その後、CitadelやKINSなどのBotの開発コミュニティは活性化し、サイバー犯罪に悪用される不正プログラムはより高度化したように思います。併せて、Malware as a Serviceの市場も拡大し、サイバー犯罪被害の増大に滑車を掛けました。(下図はCitadel Botnet Build Serviceの例)

citadel1

このような状況になった切っ掛けは、前述したソースコードの流出が要因の1つと考えられるわけですが、それが意図的であったかどうかは分かりません。しかし、結果として情報がオープンになったことで、それらの産業(?)は飛躍的に伸びたことは間違いなさそうです。
また、最初から不正プログラムをオープンソースとして配布したり、APIを公開するなどしコミュニティからアイデアを募ることで開発力を高めている例も少なくありません。

この流れはPCを対象としたマルウェアだけでなく、Androidにおいても幾つか確認されています。
例えば、AndroRatなどはその典型です。このRatはオープンソースとして配布されており、案の定、公開と同時に悪用が確認され、犯罪利用の増大が懸念されています。(下図はAndroRatのソースコードの一部)

androrat1

また、今後追加されるであろう機能についても注目されています。先ず、AndroRatの標準の機能においては、次のものがあります。
#他のRatでも確認できる標準的な機能を有しているように思います。
  • Get contacts (and all theirs informations)
  • Get call logs
  • Get all messages
  • Location by GPS/Network
  • Monitoring received messages in live
  • Monitoring phone state in live (call received, call sent, call missed..)
  • Take a picture from the camera
  • Stream sound from microphone (or other sources..)
  • Streaming video (for activity based client only)
  • Do a toast
  • Send a text message
  • Give call
  • Open an URL in the default browser
  • Do vibrate the phone
これに対し、他のオープンソースのAndroid Ratで追加が予定されていた機能として次のようなものがあります。これらのアイデアがAndroRatに取り込まれるかは分かりませんが、少なくともこういった機能を有するRATが登場する可能性はある、とは言えそうです。
#ちなみに、この開発プロジェクトは現在ストップしています。
  • Facebook Poster
  • Twitter Poster
  • Password Stealer 
  • Screenshot look
  • Root All Android Devices! (With 30 Working official verizon/at&t/sprint/Phonebooth ROMS)
  • Look At cam
  • LOAD ALARM
  • Time Changer
  • Text Reader
  • File Manager
この中で個人的に気になったのは、パスワード・スティーラーやスクリーンショットの閲覧、ルート化でしょうか。現在、Androidをはじめとしたスマートデバイスから、金融機関(銀行や証券会社など)を含め様々な取引きが可能です。この点を踏まえますと、上述の機能は非常に脅威です。
これらのアイデアが他のAndroidマルウェアにどの程度取り込まれるかは分かりません。しかし、Androidマルウェアのソースコードの公開により、この他にもサイバー犯罪の敷居を下げるような機能がが次々と登場するのは時間の問題かもしれません。(考え過ぎかもしれませんが。。。)
ちなみに、AndroRatはコンパイルサービスが確認されています。Androidマルウェアに関しても近い将来、本格的なMalware as a Serviceなどが提供されるようになるかもしれません。




バックナンバー
セキュリティ関連リンク
セキュリティ機関

政府関連

セキュリティ関連団体

研究機関・大学
詳細カテゴリ
メディア関係者の皆様へ
エフセキュアブログメンバー
エフセキュアブログメンバー
ミッコ・ヒッポネン
エフセキュア CRO(セキュリティ研究所主席研究員)(ヘルシンキ)
(Twitterアカウント)
(研究所Twitter)
ショーン・サリバン
エフセキュア セキュリティ・アドバイザー(ヘルシンキ)
(Twitterアカウント)
高間 剛典
メタ・アソシエイツ代表
(公式ブログ)
(Twitterアカウント)
星澤 裕二
株式会社セキュアブレイン 最高技術責任者
(公式ブログ)
(人物紹介)
岩井 博樹
デロイト トーマツ リスクサービス株式会社 (〜2013年3月 株式会社ラック) 情報セキュリティ大学院大学 客員研究員
(Twitterアカウント)

(人物紹介)
福森 大喜
株式会社サイバーディフェンス研究所 上級分析官
CDI-CIRTメンバー
(人物紹介)
鵜飼 裕司
株式会社FFRI 代表取締役社長
(人物紹介)
福本 佳成
楽天株式会社
執行役員
OWASP Japan
アドバイザリーボード
Rakuten-CERT representative
(人物紹介)
神田 貴雅
エフセキュア株式会社 プロダクトグループ 部長
富安 洋介
エフセキュア株式会社 プロダクトグループ
コーポレートセールスチーム
エフセキュア株式会社
(エフセキュアブログ公式Twitterアカウント)

海外記事翻訳
株式会社イメージズ・アンド・ワーズ
エフセキュアメールマガジン

ブログに載らないメルマガ限定情報や、技術者インタビュー、製品情報、技術解説を掲載して毎月一回配信します。アドレスのみの登録で購読無料。

エフセキュアブログQRコード
QRコード