Villegas first pacsec_2016-jp
Transcript of Villegas first pacsec_2016-jp
2016
背景
• 現在のリバースエンジニアリングのプロセス – 検体を入手し、検体を分析
• 次の検体を入手し、検体を分析 – 次の検体を入手し、検体を分析
» 洗浄と繰り返し…
• 分析作業の重複が生まれる – アナリストとその他の人のために
2016
• FIRST: Function Identification and Recovery Signature Tool • ストリームラインコードの分析
• 重複してしまう無駄な努力を防ぐ • 分析時間の改善
• 柔軟性 • 拡張のためのモジュラーフレームワーク
IDA Pro
2016
IDA Pro
メタデータのチェック 56 6A 0C 6A 01 E8 64 AB 00 00 …
ファンクションメタデータの追加 名前 / プロパティ / コメント
ファンクションメタデータの更新 最新バージョンで実装
システム概要
2016
必要なもの Python Requests Module https://pypi.python.org/pypi/requests オプション: Requests-kerberos (もしkerberos認証が必要ならば)
プラグインの入手 以下からPythonプラグインをダウンロード https://git.com/vrtadmin/FIRST-plugin-ida
IDA Proのpluginsフォルダにプラグインをコピー IDA Proを実行
pip install requests
インストール
2016
Server: 10.7.1.9 Port: 3389 Protocol: HTTP
設定
オプション 1 初期画面で設定を入力 (FIRSTが未設定の場合のみ表示される)
オプション 2 • IDA ProのView画面
• IDA Proのメニュー
• Configurationを選択
‘1’を押す
Edit > Plugins > FIRST Server: first-plugin.us Port: 80 Protocol: HTTP
2016
sub_401000 -------------------------------------------------- 56 6a 0c 6a 01 e8 64 ab 00 00 8b f0 8b 44 24 10 89 46 04 8b 44 24 14 89 46 08 a1 08 b4 47 00 85 c0 59 59 74 12 83 3d 00 b4 47 00 00 75 09 ff 35 0c b4 47 00 ff d0 59 a1 04 b4 47 00 85 c0 74 04 89 30 eb 06 89 35 00 b4 47 00 89 35 04 b4 47 00 83 26 00 5e c3
どのようにプラグインは動くのか 一度に関数や多くの情報を確認
プラグインは、関数によって呼び出されたオペコード、アーキテクチャ、およびAPIをサーバーに送信する
2016
一度に関数や多くの情報を追加 プラグインは、関数によって呼び出されたオペコード、アーキテクチャ、APIと、メタデータ(関数名、プロトタイプ、および繰り返し可能なコメント)をサーバーに送信する
どのようにプラグインは動くのか
sub_401000 int __cdecl (int, int) main_function -------------------------------------------------- 56 6a 0c 6a 01 e8 64 ab 00 00 8b f0 8b 44 24 10 89 46 04 8b 44 24 14 89 46 08 a1 08 b4 47 00 85 c0 59 59 74 12 83 3d 00 b4 47 00 00 75 09 ff 35 0c b4 47 00 ff d0 59 a1 04 b4 47 00 85 c0 74 04 89 30 eb 06 89 35 00 b4 47 00 89 35 04 b4 47 00 83 26 00 5e c3
2016
サーバーはフレームワークになっている
• Python、Django、およびMongoDBを利用
• 拡張可能なモジュラーフレームワーク
• モジュール • 認証
BETAでは、GoogleのOAuth2を活用 • 検出エンジン
完全一致、ニーモニックハッシング、および基本的なマスキング
• バックエンドデータベース BETAではmongoDBを活用
どのようにサーバーが動くのか
2016
データ
• OpenSSL • 7zip • aPLib • ucl • LinreSSL 2.3.1 • Mimikatz • aPackage • UPX • ClamWin
• Alina Spark • Dexter • Grum • Pony • Zeus • HackingTeam RCS • …
2016
コードの入手 https://git.com/vrtadmin/FIRST
問題の提出: https://git.com/vrtadmin/FIRST/issues/new
FIRSTの利用登録 http://first-plugin.us
ドキュメントを読む https://first-plugin.us/docs