Fight Against Citadel in Japan(日本語版)

Similar documents
Himawari の異常な暗号

ログを活用したActive Directoryに対する攻撃の検知と対策

JEB Plugin 開発チュートリアル 第3回

あなたも狙われている!?インターネットバンキングの不正送金とマルウエアの脅威

Javaセキュアコーディングセミナー東京 第2回 数値データの取扱いと入力値の検証 演習解説

JPCERT/CCインシデント報告対応レポート[2015年4月1日 ~ 2015年6月30日]

はじめての暗号化メール(Thunderbird編)

制御システムセキュリティアセスメントサービス

マルウェアURSNIFによる漏えい情報を特定せよ ~感染後暗号通信の解読~

削除済みVSSスナップショットの復元

JEB Plugin 開発チュートリアル 第4回

Apache ActiveMQ における認証処理不備の脆弱性

JPCERT/CCインシデント報告対応レポート[2018年4月1日 ~ 2018年6月30日]

JBoss Application Server におけるディレクトリトラバーサルの脆弱性

JPCERT/CC インシデント報告対応レポート[2017年1月1日-2017年3月31日]

JPCERT/CCインシデント報告対応レポート[2018年7月1日~ 2018年9月30日]

技術レポート 1)QuiX 端末認証と HP IceWall SSO の連携 2)QuiX 端末認証と XenApp の連携 3)QuiX 端末認証 RADIUS オプションと APRESIA の連携 Ver 1.1 Copyright (C) 2012 Base Technology, Inc.

Spacewalkにおけるクロスサイトフォージェリ(CSRF)の脆弱性

J-Payment クレジットカード 決済システム接続仕様書

Python によるジオプロセシング スクリプト入門

JPCERT/CCインシデント報告対応レポート[2018年10月1日 ~ 2018年12月31日]

マルウェアレポート 2017年12月度版

テスト

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

ZipTheRipper のページへ移動したら ダウンロードの文字をクリックして下さい 使用許諾書を確認の上 同意チェックを入力し ダウンロードボタンを押して下さい サブウィンドウが表示されたら 保存 を選択して下さい ダウンロードが開始されます ダウンロードフォルダの中にある ZipTheRipp

プレゼンテーション

Microsoft Word - CBSNet-It連携ガイドver8.2.doc

スライド 1

Cards R Connector(v1.4.2)_ja.pptx

intra-mart e-Builder ver 5

JPCERT/CCインシデント報告対応レポート[2013年7月1日 ~ 2013年9月30日]

Office365 AL-Mail


図 2: パスワードリスト攻撃の概要 インターネットサービスの安全な利用は 利用者が適切にパスワードを管理することを前提に成り立っており 利用者はパスワードを使い回さず 適切に管理する責任があります 以下はパスワードリスト攻撃を受けたことを 2013 年 4 月以降に発表した企業のうち 試行件数 と

intra-mart EX申請システム version.7.2 事前チェック

(8) [ 全般 ] タブをクリックします (9) [ インターネット一時ファイル ] の [ 設定 ] ボタンをクリックします (10) [ 保存しているページの新しいバージョンの確認 ] から [ ページを表示するごとに確認する ] をクリックします (11) [OK] ボタンをクリックしていき

PowerPoint プレゼンテーション

SQLインジェクション・ワームに関する現状と推奨する対策案

WannaCry とは WannaCry はランサムウェアの一種 WannaCry は ランサムウェアと呼ばれる身代金要求型のマルウェアです WannaCryptor WanaCrypt Wcry といった呼ばれ方もします 一般的にランサムウェアに感染すると 以下のようなデータを使用できないように暗

多言語ドメイン名の実装 mdnkit 石曽根信 ( 株 ) SRA 2001/12/04 日本語ドメイン名解説 / mdnkit 1 mdnkit 多言語ドメイン名を扱うためのツールキット 正規化 エンコード変換等を提供するライブラリとコマンド 既存アプリケーシ

BOM for Windows Ver

ビジネスサーバ設定マニュアル_Standard応用編

Webプログラミング演習

目次 目次 2 著作権 3 免責事項 3 更新履歴 4 文書情報 4 1. はじめに 5 2. SpyEye の概要 動作概要 システムへのインストール 感染活動 他プロセスへの影響 SpyEye 隠ぺいルーチン H

Drive-by-Download攻撃における通信の 定性的特徴とその遷移を捉えた検知方式

大阪ガス株式会社 情報通信部 御中

WL-RA1Xユーザーズマニュアル

CloudEdgeあんしんプラス月次レポート解説書(1_0版) _docx

管理者のユーザ名とパスワードの設定

JEB Plugin 開発チュートリアル 第1回

MIRACLE MH for SNMP サポート SLA( サービスレベルアグリーメント ) ML-CS-0747 本書は サイバートラスト株式会社 ( 以下 サイバートラスト ) が MIRACLE MH for SNMP サポート ( 以下当サポートサービス ) の内容について説明するものである

Zone Poisoning

Ver.70 改版履歴 版数 日付 内容 担当 V /09/5 初版発行 STS V /0/8 証明書バックアップ作成とインストール手順追加 STS V /0/7 文言と画面修正 STS V..0 0//6 Firefox バージョンの変更 STS V..40

制御システムのセキュリティリスク軽減対策~EMET のご紹介~

C:\Apache Software Foundation\Apache2.2\htdocs\sample\login.html サンプルプログラム passworddisc.php <head><title> ログイン </title></head> $user=$_post['user']; $

太陽光発電の積雪荷重設計支援ツール 取扱説明書 国立研究開発法人産業技術総合研究所 太陽光発電研究センターシステムチーム 作成日 :2012 年 6 月

Microsoft Word - CBESNet-It連携ガイドver8.1.doc

allows attackers to steal the username-password pair saved in the password manager if the login page or other pages in the same domain are vulnerable

1. クライアント証明書管理手順 本章では サービス参加機関の利用管理者に配付するクライアント証明書の発行 更新 失効及び管理を行う登録担当者の操作方法について記述します サービス参加機関の利用管理者からクライアント証明書の発行要求があり クライアント証明書の新規発行が必要な場合は 1-2. クライ

管理者のユーザ名とパスワードの設定

脆弱性を狙った脅威の分析と対策について Vol 年 7 月 21 日独立行政法人情報処理推進機構セキュリティセンター (IPA/ISEC) 独立行政法人情報処理推進機構 ( 略称 IPA 理事長 : 西垣浩司 ) は 2008 年度におけ る脆弱性を狙った脅威の一例を分析し 対策をまと

MySQL Connector/J における SQL インジェクションの脆弱性

Cisco CSS HTTP キープアライブと ColdFusion サーバの連携

Microsoft PowerPoint - 【Webnner】はじめてのHULFT-WebFT.pptx

Apache Axis2 におけるXML署名検証不備

不正送金対策 フィッシング対策ソフト PhishWall( フィッシュウォール ) プレミアム のご案内 広島県信用組合では インターネットバンキングを安心してご利用いただくため 不正送金 フィッシング対策ソフト PhishWall( フィッシュウォール ) プレミアム を導入しました 無料でご利用

- 目次 - 1. 概要 インストール手順 イメージ作成モジュールのインストール DSN( データソース ) の設定 FTP の設定 操作説明 設定モジュール 監視モジュール... 11

Vista IE7 ブラウザの設定手順

intra-mart Accel Platform — Slack連携モジュール 利用ガイド   初版  

Stuxnet ~制御システムを狙った初のマルウエア~

Technical Report 年 8 月 31 日 株式会社セキュアソフト 注意喚起 : バンキングトロージャンに感染させるマルウェア付きメール拡散について 1. 概要最近インターネットバンキングなど金融機関関連情報の窃取を目的としたマルウェア付きメールが 日本国内で多数配

メディプロ1 Javaサーブレット補足資料.ppt

JPCERT/CCインシデント報告対応レポート[2011年7月1日~2011年9月30日]

JP-2-Develop Websites and Components in AEM v6x_(V3_after QA)_1111

3 ( 9 ) ( 13 ) ( ) 4 ( ) (3379 ) ( ) 2 ( ) 5 33 ( 3 ) ( ) 6 10 () 7 ( 4 ) ( ) ( ) 8 3() 2 ( ) 9 81

SAMBA Stunnel(Mac) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxxxx 部分は会社様によって異なります xxxxx 2 Mac OS 版ダウンロー

ログ分析によるサイバー攻撃検知システムの構築

ServerView ESXi CIM Provider VMware vSphere ESXi 6.0 インストールガイド

クライアント証明書導入マニュアル

McAfee Application Control ご紹介

Mobile Access IPSec VPN設定ガイド

TFTP serverの実装

TCG JRF 第 6 回公開ワークショップサイバーセキュリティの脅威動向 と取り組み 2014 年 12 月 3 日 (13:30-14:00) JPCERT コーディネーションセンター 理事 分析センター長真鍋敬士

Microsoft Word - FortiGate-iPhone_VPN_Setup-Guide_v1.0_J_ doc

Python によるジオプロセシング スクリプト入門

Microsoft Word - XOOPS インストールマニュアルv12.doc

2015 年 4 月 15 日に発表された HTTP.sys の脆弱性 ( ) へ の対応について 製品名 : バージョン : 対象プラットフォーム : カテゴリ : iautolaymagic すべてすべて Web アプリ この度 マイクロソフト社製品において緊急度の高い脆弱性 (CV

侵入挙動の反復性によるボット検知方式

7th CodeGear Developer Camp

1012  ボットネットおよびボットコードセットの耐性解析

メール誤送信対策<利用者編> ご利用の手引き

UNIVERGE SG3000 から SG3600 Ver.6.2(2012 年モデル ) への 移行手順 All Rights Reserved, Copyright(C) NEC Corporation 2017 年 11 月 4 版

CLUSTERPRO SSS 動作環境編

インターネットファームバキグ 電子証明書ガイドブック ~証明書取扱手順編~ - 契約会社向け -(対応 OS :Windows 8)

サードパーティ コール制御のセットアップ

システム利用前の準備作業2.1 準備作業の流れ 準備作業の流れは 以下のとおりです 2必要なものを用意する 2.2 パソコンインターネット接続回線 E メールアドレス 2.2-(1) 2.2-(2) 2.2-(3) 当金庫からの送付物 2.2-(4) パソコンの設定をする 2.3 Cookie の設

< 付録A: ソフトウェアアップデート >

はじめに このマニュアルは BACREX-R を実際に使用する前に知っておいて頂きたい内容として 使用する前の設定や 動作に関する注意事項を記述したものです 最初に必ずお読み頂き 各設定を行ってください 実際に表示される画面と マニュアルの画面とが異なる場合があります BACREX-R は お客様の

MWS CUP 2018 課題 2: 静的解析 中津留勇 石丸傑 石淵一三 2018/12/20

<4D F736F F F696E74202D20552D DC58F4994AD955C8E9197BF816A89DF8B8E82C696A F08CA992CA82B7838D834F95AA90CD76382E70707

Transcription:

Japan Computer Emergency Response Team Coordination Center 電子署名者 : Japan Computer Emergency Response Team Coordination Center DN : c=jp, st=tokyo, l=chiyoda-ku, email=office@jpcert.or.jp, o=japan Computer Emergency Response Team Coordination Center, cn=japan Computer Emergency Response Team Coordination Center 日付 : 2014.02.26 15:43:12 +09'00' Fight Against Citadel in Japan 2014/02/18 JPCERT/CC 分析センター 中津留 勇

目次 背景 日本における不正送金被害 Citadel の分析 動作概要 暗号化 メイキング Citadel Decryptor Citadel Decryptor 復号方法 デモ 1

背景 2

日本における不正送金被害 14 億 600 万円 標的となった金融機関は 32 3 億 800 万円 4800 万円 2011 年 2012 年 2013 年 http://www.npa.go.jp/cyber/pdf/h260131_banking.pdf 3

その裏で http://www.npa.go.jp/cyber/pdf/h260131_banking.pdf 4

不正送金に関連したマルウェア ZeuS SpyEye Carberp etc. Ice IX Citadel GameOver 5

Citadel の感染被害 6 http://blog.trendmicro.co.jp/archives/7547

インシデント全体像 リモート操作用サーバ 攻撃者 インターネットバンキング ユーザ 管理サーバ 7

Web Injects インターネットバンキング ユーザ 8

Web Injects デモ 9

マルウェアの作成 管理ツール 10

アンダーグラウンドでの売買 11

インシデント対応 リモート操作用サーバ 攻撃者 インターネットバンキング 情報共有 ユーザ 管理サーバ 12

インシデント対応するために どこの? どこの? リモート操作用サーバ 攻撃者 インターネットバンキング どこの? どのサイト? ユーザ どうやって? 管理サーバ 13

CITADEL の分析 14

Citadel の分析を行うにあたって リーク版 Citadel リーク版 ZeuS ZeuS ソースコード ブログ記事等 Web パネル Web パネル Web パネル ソース Sophos ビルダー ビルダー ビルダー ソース LEXSI ビルドされ たサーバ デバッグ情 報 15

分析手法 表層分析 ファイル情報等の情報収集 動的分析 監視ツール Sandbox デバッグ 静的分析 ソースコードを読む アセンブリコードを読む 16

静的分析 ZeuS との差分を調査 17

Citadel の挙動 送信用レポート Web Injects 現在の設定など 18

2 つの設定ファイル Base Config 初期設定 暗号鍵 Dynamic Config の URL など エンコードされてハードコード Dynamic Config 追加の設定 Webパネルの URL Web Injects etc サーバからダウンロード 19

Base Config botnet "CIT" timer_config 4 9 timer_logs 3 6 timer_stats 4 8 timer_modules 1 4 timer_autoupdate 8 url_config1 "http://citadelhost/folder/file.php file=config.dll" url_config2 "http://reserve-citadelhost/folder/file.php file=config.dll" remove_certs 1 disable_cookies 0 encryption_key "key123" report_software 1 enable_luhn10_get 0 enable_luhn10_post 1 disable_antivirus 0 use_module_video 1 antiemulation_enable 0 disable_httpgrabber 0 use_module_ffcookie 1 Dynamic Config の URL RC4 鍵を生成するためのパスワード 20

Dynamic Config url_loader "http://citadelhost/folder/file.php file=soft.exe" url_server "http://citadelhost/folder/gate.php" file_webinjects "injects.txt" url_webinjects "http://citadelhost/folder/file.php" entry "AdvancedConfigs" "http://reserve-host1/folder/file.php file=config.bin" "http://reserve-host2/folder/file.php file=config.bin" set_url https://www.wellsfargo.com/ GP end data_before entry "WebFilters" <div><strong><label for="userid">username</la "#*wellsfargo.com/*" data_end "@*payment.com/*" data_inject "!http://*.com/*.jpg" <input type="text" accesskey="u" id="userid" na end <DIV><STRONG><LABEL for=userid>atm Pin</L style="width: 147px" tabindex="2" maxlength= (snip) <DIV><STRONG><label for="password">passwo <input type="password" accesskey="p" id="pass <input type="hidden" name="screenid" value="si <input type="submit" value="go" name="btnsign <input type="hidden" id="u_p" name="u_p" value </form> data_end 21

情報の暗号化 22

暗号化されたデータ 23

暗号化されたデータの内容 パケット ファイル レジストリ 送信データ ( レポート ) レポート 現在の設定 Dynamic Config 追加モジュール のバックアップ Dynamic Config のバックアップ 追加モジュール 24

Citadel が用いる暗号方式 AES+ AES に XOR エンコードを組み合わせた方式 RC4+ RC4 に XOR エンコードを組み合わせた方式 RC4+ * 2 RC4+ による復号を 2 度行う Installed Data インストール時にランダムに生成した AES 鍵を使用した AES+ 25

Citadel が扱うデータ形式 BinStrage ヘッダアイテムアイテムアイテム UCL 圧縮 StrageArray サイズ (XOR) 暗号化 BinStrage サイズ (XOR) 暗号化 BinStrage サイズ (XOR) 暗号化 BinStrage 26

Dynamic Config の場合 XOR Base Config UCL 圧縮 Dynamic Config AES+ 27

0x400 バイトのオーバーレイ インストール前の Citadel インストール後 実行ファイル XOR 鍵 Install Setting パディング 実行ファイル ID, インストールパス, ランダム AES 鍵 ランダム StrageArray 鍵など Installed Data パディング 28

復号対象まとめ カテゴリ対象形式暗号方式 レポート暗号化 BinStrage RC4+ パケット Dynamic Config 暗号化 BinStrage AES+ 追加モジュール実行ファイル RC4+ * 2 レポートファイル StrageArray Installed Data ファイル モジュールのバックアップ StrageArray Installed Data レジストリ Dynamic Config のバックアップ 暗号化 BinStrage Installed Data 29

メイキング CITADEL DECRYPTOR 30

ゴール インシデント対応に必要な情報を復号する 31

実装 Python PyCrypto pefile UCL 32

RC4+ 復号処理 RC4 鍵取得 RC4 Visual Decrypt 33

RC4+ 実装 def rc4_plus_decrypt(login_key, base_key, buf): S1 = base_key['state'] S2 = map(ord, login_key) out = "" i = j = k = 0 for c in buf: i = (i + 1) & 0xFF j = (j + S1[i]) & 0xFF S1[i], S1[j] = S1[j], S1[i] out += chr((ord(c) ^ S1[(S1[i]+S1[j])&0xFF]) ^ S2[k%len(S2)]) k += 1 return out 34

AES+ 復号処理 AES 鍵取得 AES 復号 Visual Decrypt 35

AES+ 実装 def unpack_aes_plus(login_key, base_key, xor_key, aes_key, data): aes = AES.new(aes_key) tmp = aes.decrypt(data) out = "" for i in range(len(tmp)): out += chr(ord(tmp[i]) ^ ord(xor_key[i%len(xor_key)])) return out 36

必要なパラメータ Base Config Installed Data その他 RC4 鍵 StrageArray 鍵 Salt ランダム AES 鍵 LoginKey AES XOR 鍵 37

必要なパラメータの取得 re.compile(".* x56 xba(..) x00 x00 x52 x68(...) x50 xe8... x8b x0d.*", re.dotall) 38

UCL Decompress 39 http://www.oberhumer.com/opensource/ucl/

UCL Decompress 実装 def _ucl_decompress(self, data): ucl = cdll.loadlibrary(ucl) compressed = c_buffer(data) decompressed = c_buffer(decompress_max_size) decompressed_size = c_int() result = ucl.ucl_nrv2b_decompress_le32( pointer(compressed), c_int(len(compressed.raw)), pointer(decompressed), pointer(decompressed_size)) return decompressed.raw[:decompressed_size.value] 40

CITADEL DECRYPTOR 41

動作に必要な環境 Windows + 32bit Python コードおよび使用しているライブラリが 64bit に対応していないため PyCrypto Python の暗号モジュール AES 復号を行うために使用 Windows 用のバイナリは http://www.voidspace.org.uk/python/modules.shtml#pycrypto pefile Python の Windows 実行ファイルをパースするモジュール セクション等をパースして 必要な鍵を取り出すために使用 42

復号に必要なデータ 復号対象 アンパックされた Citadel 本体 ベース RC4 鍵 AES+ 用の XOR 鍵 RC4+ 用の XOR 鍵 (LOGINKEY) RC4+ 用の salt インストールされた後の Citadel 本体 Installed Data ランダムに生成された AES 鍵 ランダムに生成された StrageArray 鍵 43

citadel_decryptor.py Citadel が扱う暗号化された様々なデータを復号するスクリプト復号対象と アンパックした本体は常に引数に入れる必要がある >citadel_decryptor.py usage: citadel_decryptor.py [-h] [-n] [-a] [-d] [-o OUT] [-D] [-l LOGIN] [-k KEY] [-x XOR] [-s SALT] [-i INSTALLED] [-m MODE] [-v] DAT EXE citadel_decryptor.py: error: too few arguments > 44

目的別オプション 以下のオプションと 復号対象およびアンパック後の Citadel を指定する カテゴリ対象指定オプション レポート -m2 パケット Dynamic Config -d モジュール -m3 -n レポートファイル -a -i [Install Data を持つ実行ファイル ] ファイル レジストリ モジュールのバックアップ Dynamic Config のバックアップ -a -i [Install Data を持つ実行ファイル ] -d -i [Install Data を持つ実行ファイル ] 45

実践 46

Tips レジストリデータのバイナリ化 regedit を用いエクスポートしたデータを FileInsight のプラグインで バイナリデータに変換 https://github.com/nmantani/fileinsight-plugins アンパック パッカーが呼び出す API でブレークする方法が簡単 WriteProcessMemory CreateProcessW VirtualFree / VirtualFreeEx / RtlFreeHeap 仮想メモリ上から実行ファイルそのものを取り出す オーバーレイの 0x400 バイトを忘れずに切り取る 47

今後の活動 今持っているツール Citadel Decryptor ZeuS Decryptor Ver 2.0.8.9 Ver 2.9.6.1 Ice IX Decryptor etc. 持っていないツール Gameover (P2P ZeuS) Decryptor 48

Thank You! 連絡先 aa-info@jpcert.or.jp https://www.jpcert.or.jp インシデント報告 info@jpcert.or.jp https://www.jpcert.or.jp/form/