Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cabir_analysis — cabinの部分的分析 | Kitploit
ツール/GitHubGitHub/spiralbl0ck/cabir_analysis
組み込みシステムセキュリティ静的分析Bluetoothセキュリティリバースエンジニアリングマルウェア分析モバイルセキュリティバイナリ解析学習と教育ラボと実践
GitHubspiralbl0ck/cabir_analysis

cabir_analysis

cabinの部分的分析

11263年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る

description: Bluetooth-Worm:SymbOS/Cabir 解析

Bluetooth-Worm:SymbOS/Cabir 解析

読み始める前に、一つお知らせしておかなければなりません:ここに書いてあることは全て話半分に読んでください。私はSymbianOSの開発者には程遠く、SymbianOS環境に詳しいわけでもありませんから。

でも、なぜこんな古いものを解析するのかって? それは、リモートハッキングに入門する最も簡単な方法だからだ。最近はこういうことは100万ドル級のnday/0dayでやるものだからな🤑🤑🤑。そして、私にはまだそのレベルの専門知識がないからだ。

よし、前置きはこの辺にして本題に入ろう。Cabirって何だよ? Symbian携帯電話で動作するBluetoothワームだ。Symbian phoneって何だよ、って思った人向けに説明すると、基本的にはARMで動く携帯電話だ。まあ目新しいものじゃないさ :) もっと簡潔な情報はこちら(https://en.wikipedia.org/wiki/S60_(software_platform))

幸運なことに、このソースコードはオンラインで入手できた(vxugに感謝)(SymbianOS.Cabir.7z)。これを参考に使うつもりだが、正直そんなものはどうでもいい。これをやるもう一つの理由は、ARMをいじってみたいからだ。だから、ソース/アセンブリ/エミュレータ/デバッギング/スニッフィングの観点から見ていくことにする。

よし、#1 ソースコードを一体どうやってコンパイルするんだ?

まあ、そんなに複雑な話ではない...

まず carbide ++(http://www.mediafire.com/file/6z54qrceef73x9s/Carbide_cpp_v2_7_en.exe/file)(https://gist.github.com/artem78/cb2b9650af186844f7b5654964676284から)をインストールする

次に、任意のperlエンジンをインストールする

次にnokia pc suite(https://www.usitility.com/nokia-pc-suite/)をインストールする

SDK(http://www.mediafire.com/file/9uc7fjb2ynmxlud/s60v3.1_SDK.zip/file )をインストールする

c/c++プラグイン(https://ia800905.us.archive.org/7/items/nokia_sdks_n_dev_tools/s60_open_c_cpp_plug_in_v1_7_en.zip)をインストールする

そして出来上がり、環境が手に入った :)

追記: windows 7を使う方がいい。どうやらwindows 10では動作が壊れて正常に動かないらしい

実環境での感染

TBD

このパートでは、携帯電話を脱獄(そう、聞き間違いじゃない、脱獄だ)する必要があることを知っておいてほしい。どうやってやるのかって?

リバースエンジニアリング解析

よし、これを一体どうやってコンパイルするんだ? 実に良い質問だ。私がやったのは、まず caribe\group フォルダから ABLT.BAT を実行することだった。こんな感じで

よし、次にやることは、SDKがインストールされている場所に行き、プラットフォームフォルダ(私の場合はS60_3rd_fp1)を特定し、epoc32フォルダを見つけてbuidフォルダに行き、userフォルダ、ユーザー名フォルダ、そしてさらに2、3個のディレクトリを選ぶと、こんな感じのフォルダに辿り着くはずだ

これが現在のパスだ。おそらく君が辿り着くはずの場所とほぼ同じものになるはずだ(C:\Symbian\9.2\S60_3rd_FP1\Epoc32\BUILD\Users\pwn\Desktop\CabirSourceCodes\caribe\group)

よし、次にcaribeフォルダ(またはソースコードに付けた名前のフォルダ)に入る必要がある。すると、ここで見えるように、異なる名前のフォルダが見つかるだろう

これは何なのか? 基本的には、最初にablt.batを実行すると(今でもその目的は分かっていないが、まあいいだろう)、pkgファイルをビルドするための異なるプラットフォームオプションが表示される。そこからsisファイルを生成するわけだ。このケースではGCCEとWINSCWが見える。デフォルトでablt.bat buildコマンドを実行すると、WINSCW(エミュレータプラットフォームに付けられたコードネーム)用にビルドされる。ソースコードのコンパイル方法を学ぶ目的では、今はGCCEを使うことにする。だが、例えば携帯電話にアップロードするためのARMプラットフォームを選んだ場合も、プロセスは同じだ。つまり、ablt build arm_whateverを実行して、ここまでと同じ手順を踏めばいい。よし、次はGCCEフォルダに行こう

urelフォルダに行くと、caribe.appというファイルがあるはずだ。そこからコマンドラインを開いて実行する

これは何をするのか??? 基本的にはmakesisを実行している。これがsisファイルを生成して、携帯電話にインストールできるようにする。なぜcaribeソースコードからsisファイルを作るのかって? 基本的には、makesisにcaribe.pkgを指定する必要があるからだ。じゃあ、なんでそんな手間をかけてbuildなんとかフォルダまで辿り着くのかって? -dパラメータに指定する必要があるからだ。それによって.sisファイルが生成される

よし、この方法は、この記事で参照しているsdk v3でのみ動作する。どうやら私が実験しているときに、Symbian専用のDiscordサーバーの開発者の一人が、cabirはsdk v2用にコーディングされていると指摘してくれた。だから、ここで紹介した方法は役に立たないかもしれない.....これは彼に連絡が取れ次第、追記する予定だ...彼は最近Discordであまりオンラインにならないので...

よし、.sisファイルは一体どうやってリバースエンジニアリングするのか?

簡単に言うと、.sisファイルはアーカイブだ。だから... siscontentsアプリケーションを使って解凍し、.appファイルをidaに放り込む。

アセンブリの観点

プロセス全体はこんな感じだ

それで、そのフォルダに入って、次に2つ進むとapp.appファイルを取得する

よし、それをidaに放り込むと

よし、つまり基本的にはARMのexeだ。マジでクール!次、どうぞ!うむ、是非とも~~~

ファイルにシンボルがあるぞ!!! まあ、何か変な理由でデバッグシンボル付きでバイナリをコンパイルしたから、運が良かったわけだ!

そして、基本的にコードを手に入れているので、リバースエンジニアリングのプロセスは、ソースコード解析の章で説明したものとほぼ同じだ:)

スニッフィングの観点

残念ながらこれはできない。計画ではFts4btを使うつもりだった。結構良さそうに見えたからだ(https://www.diva-portal.org/smash/get/diva2:24278/FULLTEXT01.pdf)

だが、どうやらその製品はEOL(サポート終了)に達しているらしい。もし偶然このパートができる人がいたら、DMを送ってほしい。この章を完成させるためにプルリクエストも送ってほしい

デバッガの観点

で、このセクションはどうするんだ!>>~> まあ、これが私の意見だ:USB経由でデバッガを接続して、ノキアの携帯電話上で直接コードをデバッグする方法を学ぶのは、私にとっても読者である君にとっても経験として価値があるだろう。だが、今のところは時間と労力がかかりすぎる(もうかなり疲れているんだ... ごめん、また今度にしよう)。これが無駄だと言えるもう一つの理由は、ソースコードと専用設計のSymbian IDEを持っているからだ。だから、こうしよう。Carbide++のデバッガを使って、1つか2つの関数を手短にデバッグする。これは読者でもできるはずだ。コードの流れはSCAセクションで説明したし、コードの解析を難しくするような暗号化やアンチ何とかといった手法もないからだ。それでは... 行こう!

正直なところ

ソースコード解析

よし、ソースコードにアクセスできるという事実を利用して、最大限に活用しよう。

私たちのディレクトリ構造はこんな感じだ。かなりきれいに整理されている

ではsrcフォルダを調べてみよう

私たちの旅はsrcフォルダ、正確にはcaribe.cppから始まる。なぜかって? かなりきれいに整理されているけど、一つ目立つのはcaribe.cppというファイルがあることだ。何か特別なのかって? いや、でも経験に基づく推測だけど、このケースでは29A(このマルウェアを開発したグループ)がソフトウェア開発者の古典的なアプローチに従ったんだろう。つまり、アプリのメインロジックはname_of_project.extensionに入れるというやつだ。よし、で、それはどんな風に見えるのかって? こうだ、若人よ

クールだが、これは何だ? 正直、知らない。でもいくつか推測してみよう。名前だけで判断すると、CApaApplication is the main of this application. If we search this on google we see that

よし、で、次はどうする?? もっと掘り下げていこうぜ。CCaribeApplicationを調べてみよう。でも待って、CCaribeApplicationはどこにある? CaribeApplication.hの中だ。それはどこだって? incフォルダの中だよ、ブラザー。こんな感じだ

よし、こんな感じだ

クールだな。別のクラスから継承するクラスが定義されているのが見える。そして、CreateDocumentLというprotectedメソッドが見える。クールだが、特に面白いものはない。ああ、ここは俺のミスだ、兄弟!!

ツールをダウンロード