Burp Suiteを使ってスマホアプリの通信を調査する
7月 11, 2014 — 22:49

目的
スマホアプリの作成やマルウエアが流行しているので手軽に通信を解析できる手段を確保しておきたいと思いました。
今回、Burp Suiteと呼ばれるHTTPやHTTPSを解析するソフトウェアの使い方を紹介したいと思います。

※ SSL/TLSの仕組みなどについてはある程度、知識があることが前提で解説を進めます。

準備
Burp Suiteのダウンロードページからburpsuite_free_v1.6.jarをダウンロードして実行します。
※ このソフトウエアの実行にはJavaのランタイムが必要です。

Burp Suiteの起動
ダウンロードしたjarファイルをダブルクリックしてBurp Suiteを起動します。

Burp Suiteの設定
標準設定ではローカルホスト内でしかアクセスできないため、他の端末からアクセスできるように設定します。

Burp Suiteを起動したら、以下の様なウインドウが表示されます。
WS000002

[Proxy]タブをクリックし、[Options]タブをクリックします。
8080番のポートを使う設定がデフォルトで入っているのでそれを選択し、[Edit]をクリックします。
WS000003

[All interfaces]にチェックを入れて[OK]をクリックします。
WS000004

これで他の端末からこの、PCで起動しているBurp Suiteへアクセスできるようになったはずです。

Burp Suiteの証明書作成
クライアント側のブラウザなどに導入するルート証明書を作成します。

[Proxy]タブをクリックして、[Options]タブをクリックします。

[CA certificate …]をクリックすると以下のようなウインドウが表示されます。
[Export]の中にある[Certificate in DER format]を選択して[Next]を押します。
WS000005

途中、保存先の選択などがありますがファイル名(拡張子:crt)などを指定するだけで特に困ることもないはずです。

証明書を作成すると以下の様なファイルが生成されます。
WS000007

Android端末への証明書導入
先ほど作成した証明書をSDカードなどにコピーしてAndroid端末に導入します。

[設定]から[セキュリティ]をクリックし、[SDカードからインストール]をクリックします。
2014_07_12_14.29.27

証明書を置いた場所まで移動し、証明書を選択します。
2014_07_12_14.44.22

証明書の名前を指定して[OK]をクリックします。
2014_07_12_14.45.30

Android端末のProxy設定
無線LANのアクセスポイント名からProxy設定(Burp Suiteを起動しているパソコンのIPアドレスとポート番号)を行います。
※ Android端末でのProxy設定については情報がありふれているので省略します。

Android端末で行われている通信の確認
Android端末上で動いているアプリが行った通信の内容が確認します。

[Proxy]タブをクリックして、[HTTP history]タブをクリックします。
HTTPだけでなくHTTPSの通信も複合されているためリクエスト・レスポンス双方の通信内容を確認する事ができます。
WS000009

今回、Android端末を用いて書いていますが、基本は対象がiPhoneでもパソコンでも行う事はさほど変わりません。

以下は、状況に応じて設定してください。

Burp Suiteで通信を毎回止めたくない時の設定
Burp Suiteを介して通信を行うとリクエストごとに毎回[Forward]ボタンを押さなければなりません。
リクエスト内容を書き換えたいときは便利なのですが、単純に通信を見たいときは邪魔なので以下の設定を行います。

[Proxy]タブをクリックして、[Options]タブをクリックします。

[Intercept Client Requests]で[Is in target scope]を選択して有効化します。
WS000008

Burp Suiteの日本語表示
Burp Suiteで解析した通信に日本語が混在していた場合、日本語が化けて見えなくなるため、見えるように設定します。

[Options]タブをクリックして、[Display]タブをクリックします。
[HTTP Message Display]のフォント設定を日本語用のフォントに変更します。
WS000006

※ 証明書の導入などもあるため大丈夫だとは思いますが、くれぐれも悪用などしないようお願い致します。

参考サイト
Burp Proxy で iPhone の通信をパケットキャプチャ
[改訂版] iPhoneアプリのSSL接続をパケットキャプチャする方法 | [ bROOM.LOG ! ]

iPhone “メッセージ”(SMS/MMS)を一括削除する 要JB
9月 14, 2012 — 10:38

私のiOS5まで改善されなかった不満を上げると”メッセージ”アプリの一括削除機能が無いことでした。”編集”ボタンを押してちまちま削除しようにも数千件ぐらいメールが溜まっていては気が滅入ってしまいます。

そこで紹介するのが”iDelete-MSG”です。このアプリをインストールすると”編集”ボタンをクリックすると”Delete All”ボタンが右側に表示されそれをクリックすると一気に全てのメールを削除することができます。

が。。。しかし、ここまで紹介しておきながら実はこのアプリ何故か現在Cydiaの検索では見つかりません。。。。
BigBossにて無料で公開されているはずなんですけどねぇ・・・・

そこで困り果てて解決策を考えていたのですが、海外のサイトに解決策を見つけました。

How to Delete all Text Messages on iPhone with Single Tap

こちらのサイトにアプリのdebファイルが上がっているのでそれを直接iPhoneからiFile(有料版)でインストールすることで動きました。iFileは度々使い結構便利なので無料版しか持っていない人はこの際有料版を購入してもいいかもしれませんね。

ちなみに海外のサイトの方はiFunboxでインストールしたようです。

一応debファイルはここにも上げておこうかと思います。
ideletemsg_1.0.1
※ 作者ならびにその関係者の方で何か問題がございましたらご連絡ください。迅速に削除したいと思います。

最後に余談になってしまうのですが、あまりにもメールの件数が多すぎるとこのアプリを動かしている途中、iPhoneがフリーズする可能性があります。
そういう場合は再起動を繰返しながら一括削除をすことで解決することができます。

参考
iDelete-MSG – メッセージ履歴の『一括削除ボタン』を追加する [JBApp]

iOS5 で純正テザリングの有効化とシャッター音の無効化
10月 18, 2011 — 21:48

最初に述べておきますが、これらの改造は全て自己責任で行なってください。
壊れても、当方、当方に関係するすべての団体は一切責任を負わないものとします。

当たり前ですが、悪用も厳禁です。

先日脱獄したiPhone3GSで速くも純正テザリングの有効化とシャッター音を無音化する手段を見つけたのでメモしておきます。

シャッター音の無効化

まず、シャッター音の無効化の方が簡単なのでこっちからまとめます。
これはiOS4時代となんら変わりありません。
ただ、まだパッチとか出ていないようなのでパッチがやってることを手動でやるだけです。

iPhoneの言語を英語します(Cydiaが日本語では落ちるため)。
Cydiaより”iFile”をインストールしてください。

“iFile”を起動し下記のファイルを好きな名前でリネームします。

変更内容

変更前
/System/Library/Audio/UISounds/photoShtter.caf

変更後
/System/Library/Audio/UISounds/photoShtter_bkup.caf

これでiPhoneを再起動すれば無音化されていると思います。

純正テザリングの有効化

次に純正テザリングを有効化する方法をまとめます。
まず”carrier.plist”を書き換えるためCommCenterClassic patch for iOS 5 GM (9A334)こちらの方が公開しているリポジトリ(http://v.backspace.jp/repo/)をCydiaに追加します。そしてCydiaより”CommCenterpatch classic”をインストールしてください。

その後、”iFile”を起動し下記のファイルの内容を編集します。
/System/Library/Carrier Bundles/iPhone/Softbank_jp.bundle/carrier.plist

編集内容

編集前

<key>type-mask</key>
<integer>7</integer>

編集後

<key>type-mask</key>
<integer>55</integer>

編集したファイルを保存し、再起動します。

設定から下記のように辿り有効化すると純正テザリング(インターネット共有)が利用できると思います。
“設定” -> “一般” -> “ネットワーク” -> “インターネット共有” -> “オン”

ベースバンドiPad用(06.15.00)のiPhone3GSの iOS4.3.3 紐なし脱獄
5月 6, 2011 — 18:45

ベースバンドiPad用(06.15.00)のiPhone3GSの iOS4.3.3 アップグレード方法 and 紐なしJB をメモします。

※ MacOSXでは何かうまくいかないのでWindowsで行いました。

iPhone3GS用公式ファームウエア(iOS4.3.2とiOS4.3.3)をそれぞれダウンロードします。
redsn0w 0.9.6rc14をダウンロードしてくる。

Fix Recoveryをダウンロードしてきます。もしかすると.dllが無いとか言われるかも知れない。。。探してきてください。

1.iPhoneをPCに接続します。

2.iTunesで普通に復元(アップデート)します。

3.終盤にエラー1605が発生するのでOkを押して復元を終えます。

4.再度DFU モードにし、Fix Recovery(iOS4.3用)を実行します。

5.復元が完了すると思います。

6.redsn0w 0.9.6rc14 を起動しiOS4.3.2を読み込ませる。先ほどiOS4.3.3に復元(アップデート)したiPhone3GSを接続し普通にJBする。

完了

iPhone iPod のリモコン コントローラが効かなくなった時の対処法
4月 11, 2011 — 10:37

ポケットの中に入れるのでジャックの中に綿埃が入るみたいですね。
それで接触不良を起こしている事が多いようです。

それで詰まった綿埃を取り除く方法ですが、爪楊枝を折ったもの(斜めに切ったもの)をジャックの中に挿し込み回転させます。それで絡まった綿埃を引き出せば簡単に対処することができます。

針で同様に行うと内部に傷を付ける可能性があるので爪楊枝などを使うことをおすすめします。

iPhone 3GS BB6.15.00 iOS4.3.1 JB 方法
4月 6, 2011 — 21:29

結論から言うとiOS 4.2.1でiPad用ベースバンド6.15.00を入れたiPhone3GSをiOS4.3.1にアップグレードすることはできますがかなりの矛盾が起きるのでまだしないほうがいいです。と言うのも、ultrasn0w1.2がiOS4.3.1に対応していません。ですのでSIMフリーになりません。

とりあえずiOS4.3.1とiOS4.2.1の復元 or ダウングレード方法をメモします。

※MacOSXでは何かうまくいかないのでWindowsで行いました。SHSHは保存してあることが前提となります。

公式ファームウエアをそれぞれダウンロードします。

Fix Recoveryをダウンロードしてきます。もしかすると.dllが無いとか言われるかも知れない。。。探してきてください。

0.TinyUmbrellaで認証サーバを偽装します。

1.iPhoneを接続しDFU モードにします。

2.iTunesでShift+復元でファームウエアを選択し、復元します。
※私の環境ではCFWは1600エラーが出て使えませんでした。

3.終盤にエラー1605が発生するのでOkを押して復元を終えます。

4.再度DFU モードにし、Fix Recoveryを実行します。

5.復元が完了すると思います。

6.必要があればredsn0wで再度脱獄してください。

参考:iPhone 3GS(iOS 4.3 baseband 06.15.00)を redsn0w 0.9.6rc9 で脱獄・・

iOS 4.3.1 iPhone4 redsn0w 0.9.6rc9 紐なし脱獄 方法
4月 4, 2011 — 14:40

脱獄が正常に確認できることを確認しましたので紹介します
※各自自己責任でお願いします。ご使用中のiPhone・iPodが壊れても私は責任を負いません。

現在諸事情により自宅にいないため外出先からMacOSXを利用し脱獄を行いました

redsn0wの使い方:Windows iPod touch 第2世代 脱獄 Jailbreak iOS 4.1 redsn0w 0.9.6 beta1

Mac OSX用:redsn0w 0.9.6rc9
Windows用:redsn0w 0.9.6rc9

iPhone4用iOS4.3.1:iPhone3,1_4.3.1_8G4_Restore.ipsw


参考元:
PwnageToolに続いてiOS 4.3.1に対応したredsn0w 0.9.6rc9もリリース
PwnageToolリリース

iPhone アプリ アイコン 画像変更
12月 13, 2010 — 13:13

アイコンは下記のように保存されているためアイコン画像を差し替える。
/var/mobile/Applications/[番号+アルファベット]/[アプリ名].app/icon.png
/var/mobile/Applications/[番号+アルファベット]/[アプリ名].app/icon@2x.png

ここで再起動して反映されない場合アイコン画像がキャッシュされている可能性があるのでキャッシュを削除する。

キャッシュは下記のディレクトリに格納されているので探して削除する。
/var/mobile/Library/Caches/com.apple.IconsCache/com.apple.[アプリ名]_defaultRole-defaultIcon-0
/var/mobile/Library/Caches/com.apple.IconsCache/com.apple.[アプリ名]_defaultRole-defaultIcon-24

ザ☆人柱 転んでも泣きません!  SIMフリーiPhone 3GS+銀SIMでパケ死
12月 5, 2010 — 16:23

① iPhoneをアクチベーションを行おうと怪しいSIMカードを挿してみましたが・・・
対策されてますね。弾かれました。

転んだ私から一言:
iPhone Activation Card アクチベーションカードは使えない。すなおに解約済み黒SIMを探しましょう

② iPhone用の黒SIMを使いたくなくSIMフリー化したiPhoneで銀SIMを使おうとしましたが・・・
あれ、パケ死するんですね^^;

転んだ私から一言:
SoftBankのパケ代で破産したくなければ普通のiPhoneで普通に契約しましょう。

③ 中国製の怪しい激安iPhone用バッテリーケースApocket 2を使ってみたら・・・
動きません。3GSには非対応のようですね。

転んだ私から一言:
安そうなAP1200ってケースをおすすめします。

④iOS4.2をPwnageToolでJBしてCydiaを起動してみたら・・・
なぜかリポジトリを追加できません。おそらく非対応なのでしょうね。

転んだ私から一言:
RedSn0wをおすすめします。

どなたかの役に立つ事を祈ります。