SlideShare 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

Hr meetup tokyo the war for talent- #4-レアジョブ山田
Hr meetup tokyo  the war for talent- #4-レアジョブ山田Hr meetup tokyo  the war for talent- #4-レアジョブ山田
Hr meetup tokyo the war for talent- #4-レアジョブ山田
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
 
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Kengo Suzuki
 
【FindyScore(ファインディ スコア)】求人票/ジョブディスクリプション改善の効果
【FindyScore(ファインディ スコア)】求人票/ジョブディスクリプション改善の効果【FindyScore(ファインディ スコア)】求人票/ジョブディスクリプション改善の効果
【FindyScore(ファインディ スコア)】求人票/ジョブディスクリプション改善の効果
Yuichiro "Philip" Yamada
 
レアジョブの採用における取り組み2
レアジョブの採用における取り組み2 レアジョブの採用における取り組み2
レアジョブの採用における取り組み2
Yuichiro "Philip" Yamada
 
レアジョブの採用における取り組みまとめ
レアジョブの採用における取り組みまとめレアジョブの採用における取り組みまとめ
レアジョブの採用における取り組みまとめ
Yuichiro "Philip" Yamada
 
採用マーケティングの全体像
採用マーケティングの全体像採用マーケティングの全体像
採用マーケティングの全体像
Yuichiro "Philip" Yamada
 

Viewers also liked (10)

Hr meetup tokyo the war for talent- #4-レアジョブ山田
Hr meetup tokyo  the war for talent- #4-レアジョブ山田Hr meetup tokyo  the war for talent- #4-レアジョブ山田
Hr meetup tokyo the war for talent- #4-レアジョブ山田
 
求人票・募集要項の改善 by Findy (ファインディ)
求人票・募集要項の改善 by Findy (ファインディ)求人票・募集要項の改善 by Findy (ファインディ)
求人票・募集要項の改善 by Findy (ファインディ)
 
How To Recruit In 2017
How To Recruit In 2017How To Recruit In 2017
How To Recruit In 2017
 
AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料
AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料 AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料
AI求人票採点サービス-Findy Score(ファインディ スコア)の説明資料
 
Findy(ファインディ) スタートアップが取り組むべき採用課題まとめ(成長フェーズ別)
Findy(ファインディ) スタートアップが取り組むべき採用課題まとめ(成長フェーズ別)Findy(ファインディ) スタートアップが取り組むべき採用課題まとめ(成長フェーズ別)
Findy(ファインディ) スタートアップが取り組むべき採用課題まとめ(成長フェーズ別)
 
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
 
【FindyScore(ファインディ スコア)】求人票/ジョブディスクリプション改善の効果
【FindyScore(ファインディ スコア)】求人票/ジョブディスクリプション改善の効果【FindyScore(ファインディ スコア)】求人票/ジョブディスクリプション改善の効果
【FindyScore(ファインディ スコア)】求人票/ジョブディスクリプション改善の効果
 
レアジョブの採用における取り組み2
レアジョブの採用における取り組み2 レアジョブの採用における取り組み2
レアジョブの採用における取り組み2
 
レアジョブの採用における取り組みまとめ
レアジョブの採用における取り組みまとめレアジョブの採用における取り組みまとめ
レアジョブの採用における取り組みまとめ
 
採用マーケティングの全体像
採用マーケティングの全体像採用マーケティングの全体像
採用マーケティングの全体像
 

Android Pen Test - Recon -