狠狠撸

狠狠撸Share a Scribd company logo
2015/09/29
@kengoScal
Android Pen Test
- Recon -
自己紹介
名前: 鈴木?研吾
twitter: @kengoScal
2011~2014:セキュリティアナリスト@某SIer
2014年11月: マネーフォワード入社
2014年11月~2015年01月: iOS開発
2015年02月~08月:Android開発
2015年10月~ : セキュリティ的な何か
2
Pen Testとは
? Pen(etration) Test
? ターゲットアプリの脆弱性を実際に突き、情報の取得
や改竄を狙うテストのこと
? バグ探し(テスト)の一種
3
自前Pen Testのすゝめ
? 価格は大体50万~100万くらい
? 自分で(も)やったほうがよくね?
? 診断項目の取捨選択 -> 大事な情報にリソースを
? 診断担当者とのやり取りの り
? Androidのフレームワークについて語れる
? お小遣い稼ぎに繋がる
4
Pen Test Phases
1. Planning
2. Scoping
3. Recon
4. Scanning
5. Exploitation
6. Reporting
5
Reconとは
? Recon(naisance): 偵察
? リーチ可能な情報を収集し、整理するフェーズ
? 技術的情報ももちろんだが、ターゲットの組織図?ビ
ジネス内容といったところもターゲット
6
Recon@Android
? アプリ情報収取
? logcat探し
? Networkキャプチャ
7
Recon@Android
? アプリ情報収拾
? logcat探し
? Networkキャプチャ
8
アプリ情報収集
? 収拾対象
? package情報
? Permission情報
? データの置き場
? android:exported=trueなコンポーネント
? etc
? drozerを使うとラク
? Androidセキュリティ?アセスメントツール
? デモ
9
Drozer
10
# package
dz> run app.package.list -f Maps
com.google.android.apps.maps (Maps)
# package情報(含むPermission)
dz> run app.package.info -f Maps
Package: com.google.android.apps.maps
Application Label: Maps
Process Name: com.google.android.apps.maps
Version: 8.4.1
Data Directory: /data/data/com.google.android.apps.maps
APK Path: /system/app/Maps/Maps.apk
UID: 10073
GID: [3003, 1028, 1015]
Shared Libraries: null
Shared User ID: com.google.android.apps.maps
Uses Permissions:
- android.permission.INTERNET...
11
# android:exportedなActivity
dz> run app.activity.info -a com.google.android.apps.maps
Package: com.google.android.apps.maps
com.google.android.maps.MapsActivity
Permission: null
com.google.android.maps.PlacesActivity...
# android:exported=trueなコンポーネントサマリ
dz> run app.package.attacksurface
com.google.android.apps.maps
Attack Surface:
9 activities exported
2 broadcast receivers exported
1 content providers exported
4 services exported
Shared UID (com.google.android.apps.maps)
Recon@Android
? アプリ情報収取
? logcat探し
? Networkキャプチャ
12
logcat探し
? デバッグ用に実装していたlogcatがリリース用のapk
に残ったまま 且つlogcatがセンシティブな情報を含ん
でる場合
? -> 情報漏えいのチャンス
13
logcat探し
? 下記ターミナルで実行して、アプリを弄っとけばおk
% adb logcat | egrep --color=auto -i 'cookie|token'
? 対策は簡単
? BuildVariantsでわけるとか
? Timberとかでちょろっと対応してればおk
? やっててそんなに楽しくなかった
14
Recon@Android
? アプリ情報収取
? logcat探し
? Networkキャプチャ
15
Networkキャプチャ
? トラフィックを観察して、tcp周りのプロテクションの
問題、サーバサイド側の変な実装、セッションハンド
リングなどの情報を収集することが目的?
16
Networkキャプチャ: tcp編
17
? tcpdump + netcat + wiresharkでリアルタイムにパ
ケットを見る(デモ)
? tcpdump:
? netcat:
? wireshark:
※エミュレータには別途インストールが必要
※実機の場合、Root化が必要
※エミュレータと実機はCPUアーキテクチャが
違うので、コンパイル時に注意する
環境図
18
:54321:12345
forward
19
[Kengo@Mac] ~
% adb shell "./data/local/tcpdump -w - | /data/local/./
netcat -l -p 12345”
% adb forward tcp:12345 tcp:54321 && nc 127.0.0.1 54321 |
sudo wireshark -k -S -i lo0
? L4レイヤーまでしか一見してわからない
? セッションレベルの話ならわかる
? でもアプリとサーバとの動作はイマイチわからりにくい
? Https通信を見れない
ローカルWebプロキシを立てる
tcpdump + netcat + wiresharkの限界
20
Network Capture: http(s)編
21
? ローカルWebプロキシ
? ブラウザ<-->Webサーバ間のhttp(s)通信をスニッフィングし
? パラメタやシグネチャ等を改竄@ローカルプロキシしたり
? OWASP ZAPならReconからExploitationへの遷移が楽です
参照: http://www.slideshare.net/zaki4649/ss-39061128
22 参照: http://www.slideshare.net/zaki4649/ss-39061128
こんな感じ
次回予告
23
1. Planning
2. Scoping
3. Recon
4. Scanning
5. Exploitation
6. Reporting
-> StageFlight辺りをやってみる(たい)
Thank you!
絶賛採用中

More Related Content

Viewers also liked (9)

求人票?募集要項の改善 by Findy (ファインディ)
求人票?募集要項の改善 by Findy (ファインディ)求人票?募集要項の改善 by Findy (ファインディ)
求人票?募集要項の改善 by Findy (ファインディ)
Yuichiro "Philip" Yamada
?
How To Recruit In 2017
How To Recruit In 2017How To Recruit In 2017
How To Recruit In 2017
AMPLIFY//
?
AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料
AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料 AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料
AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料
Yuichiro "Philip" Yamada
?
Findy(ファインテ?ィ) スタートアッフ?か?取り組むへ?き採用課題まとめ(成長フェース?別)
Findy(ファインテ?ィ) スタートアッフ?か?取り組むへ?き採用課題まとめ(成長フェース?別)Findy(ファインテ?ィ) スタートアッフ?か?取り組むへ?き採用課題まとめ(成長フェース?別)
Findy(ファインテ?ィ) スタートアッフ?か?取り組むへ?き採用課題まとめ(成長フェース?別)
Yuichiro "Philip" Yamada
?
础苍诲谤辞颈诲のセキュア开発について考えてみた(明日、败诉しないためのセキュアコーテ?ィンク?.惫别谤2)
础苍诲谤辞颈诲のセキュア开発について考えてみた(明日、败诉しないためのセキュアコーテ?ィンク?.惫别谤2)础苍诲谤辞颈诲のセキュア开発について考えてみた(明日、败诉しないためのセキュアコーテ?ィンク?.惫别谤2)
础苍诲谤辞颈诲のセキュア开発について考えてみた(明日、败诉しないためのセキュアコーテ?ィンク?.惫别谤2)
Kengo Suzuki
?
【FindyScore(ファインディ スコア)】求人票/ジョブディスクリプション改善の効果
【FindyScore(ファインディ スコア)】求人票/ジョブディスクリプション改善の効果【FindyScore(ファインディ スコア)】求人票/ジョブディスクリプション改善の効果
【FindyScore(ファインディ スコア)】求人票/ジョブディスクリプション改善の効果
Yuichiro "Philip" Yamada
?
レアジョブの採用における取り组み2
レアジョブの採用における取り组み2 レアジョブの採用における取り组み2
レアジョブの採用における取り组み2
Yuichiro "Philip" Yamada
?
レアジョブの採用における取り组みまとめ
レアジョブの採用における取り组みまとめレアジョブの採用における取り组みまとめ
レアジョブの採用における取り组みまとめ
Yuichiro "Philip" Yamada
?
採用マーケティンク?の全体像
採用マーケティンク?の全体像採用マーケティンク?の全体像
採用マーケティンク?の全体像
Yuichiro "Philip" Yamada
?
求人票?募集要項の改善 by Findy (ファインディ)
求人票?募集要項の改善 by Findy (ファインディ)求人票?募集要項の改善 by Findy (ファインディ)
求人票?募集要項の改善 by Findy (ファインディ)
Yuichiro "Philip" Yamada
?
How To Recruit In 2017
How To Recruit In 2017How To Recruit In 2017
How To Recruit In 2017
AMPLIFY//
?
AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料
AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料 AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料
AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料
Yuichiro "Philip" Yamada
?
Findy(ファインテ?ィ) スタートアッフ?か?取り組むへ?き採用課題まとめ(成長フェース?別)
Findy(ファインテ?ィ) スタートアッフ?か?取り組むへ?き採用課題まとめ(成長フェース?別)Findy(ファインテ?ィ) スタートアッフ?か?取り組むへ?き採用課題まとめ(成長フェース?別)
Findy(ファインテ?ィ) スタートアッフ?か?取り組むへ?き採用課題まとめ(成長フェース?別)
Yuichiro "Philip" Yamada
?
础苍诲谤辞颈诲のセキュア开発について考えてみた(明日、败诉しないためのセキュアコーテ?ィンク?.惫别谤2)
础苍诲谤辞颈诲のセキュア开発について考えてみた(明日、败诉しないためのセキュアコーテ?ィンク?.惫别谤2)础苍诲谤辞颈诲のセキュア开発について考えてみた(明日、败诉しないためのセキュアコーテ?ィンク?.惫别谤2)
础苍诲谤辞颈诲のセキュア开発について考えてみた(明日、败诉しないためのセキュアコーテ?ィンク?.惫别谤2)
Kengo Suzuki
?
【FindyScore(ファインディ スコア)】求人票/ジョブディスクリプション改善の効果
【FindyScore(ファインディ スコア)】求人票/ジョブディスクリプション改善の効果【FindyScore(ファインディ スコア)】求人票/ジョブディスクリプション改善の効果
【FindyScore(ファインディ スコア)】求人票/ジョブディスクリプション改善の効果
Yuichiro "Philip" Yamada
?
レアジョブの採用における取り组み2
レアジョブの採用における取り组み2 レアジョブの採用における取り组み2
レアジョブの採用における取り组み2
Yuichiro "Philip" Yamada
?
レアジョブの採用における取り组みまとめ
レアジョブの採用における取り组みまとめレアジョブの採用における取り组みまとめ
レアジョブの採用における取り组みまとめ
Yuichiro "Philip" Yamada
?

Android Pen Test - Recon -