Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Wireshark&パケット解析入門@ハンズオン@サポーターズCoLab用資料
Search
Azunyan
August 02, 2019
Technology
0
540
Wireshark&パケット解析入門@ハンズオン@サポーターズCoLab用資料
サポーターズで行なった勉強会の資料です
https://supporterzcolab.com/event/904/
Azunyan
August 02, 2019
Tweet
Share
More Decks by Azunyan
See All by Azunyan
パケット解析入門-勉強会資料
azunyan1111
6
2.5k
Other Decks in Technology
See All in Technology
AWSで始める実践Dagster入門
kitagawaz
0
430
フィンテック養成勉強会#56
finengine
0
130
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
9.9k
[RSJ25] Feasible RAG: Hierarchical Multimodal Retrieval with Feasibility-Aware Embodied Memory for Mobile Manipulation
keio_smilab
PRO
0
120
バッチ処理で悩むバックエンドエンジニアに捧げるAWS Glue入門
diggymo
3
130
カミナシ社の『ID管理基盤』製品内製 - その意思決定背景と2年間の進化 #AWSUnicornDay / Kaminashi ID - The Big Whys
kaminashi
3
820
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.3k
【Grafana Meetup Japan #6】Grafanaをリバプロ配下で動かすときにやること ~ Grafana Liveってなんだ ~
yoshitake945
0
370
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
3
2.9k
2025年夏 コーディングエージェントを統べる者
nwiizo
0
110
シークレット管理だけじゃない!HashiCorp Vault でデータ暗号化をしよう / Beyond Secret Management! Let's Encrypt Data with HashiCorp Vault
nnstt1
3
220
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
184
22k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Faster Mobile Websites
deanohume
309
31k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Facilitating Awesome Meetings
lara
55
6.5k
The Cult of Friendly URLs
andyhume
79
6.6k
How STYLIGHT went responsive
nonsquared
100
5.8k
The World Runs on Bad Software
bkeepers
PRO
70
11k
BBQ
matthewcrist
89
9.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Making Projects Easy
brettharned
117
6.4k
Code Review Best Practice
trishagee
70
19k
Transcript
Wireshark&パケット解析⼊⾨ ハンズオン Azunyan1111
講義情報 • 使うツール • Wireshark • https://goo.gl/yRwKp1 • 講義で使うパケットファイルもあります •
https://ux.nu/EkoPN • 講義資料はアップロード予定
ツイッター実況OK!(たぶん) • ハッシュタグ #spzcolab をつけてツイートしよう!
もくじ(時間が許す限り最後までやる) • 本⽇のみんなの⽬標発表 • 軽く⾃⼰紹介 • 注意事項 • パケット解析に必要な最低限の知識 •
Wiresharkの紹介&インストール! • Wiresharkを使ってパケットを⾒てみよう! • 実践!パケットファイルからパスワードを抜いてみよう! • 質問orこれやってくれ
本⽇のみんなの⽬標 パケット解析完全に理解した とツイートする
本⽇のみんなの⽬標 パケット解析完全に理解した とツイートする ↓ パケット解析⼊⾨完全に理解した と⾔えるレベルになろう!
⾃⼰紹介 • 名前:Azunyan1111 • ツイッター:@Azunyan1111_ ←アンダーバー1つに注意 • 職種:サーバーサイドエンジニア • ⼤学:恵⽐寿にあるゲーム会社
• ⾔語:Go • 趣味:Webセキュリティ • 研究してた:Tor(匿名化ブラウザの奴) • セキュリティキャンプ2019福岡 チューター(講師補助) • セキュリティキャンプ2018全国⼤会 参加 • セキュリティキャンプ2018⼭梨 参加 • セキュリティキャンプ2016福岡 参加
注意事項 わからない単語が出てきたらすぐに調べるのを推奨 間違ってる知識があるかもしれないので違うっぽかったら指摘し てください →調べてもわからなかったら 講義のあとに質問タイムも⽤意しているのでそこでもOK
パケット解析に必要な最低限の知識
パケット解析に必要な最低限の知識 • パケットとは • TCP/IP • MACアドレス • OSI参照モデル
パケットとは • 情報伝送の⼀単位。伝送・交換に必要な情報を付したもの。 • Wikipediaより • 以下おっさんがJKに可愛いって情報を送ってる図 To:JK 君可愛いね♪ 君可愛いね♪という情報が⼊ってるパケット
From:おっさん 君可愛いね♪
補⾜情報 • パケットは必ずしも⼀つではない。 • パケットの最⼤サイズは1500byte(任意に変更可能) • もし1024KB(約1MB)のデータを送る場合1500byteでは⾜りないので複数 のパケットに分割して送る • 単純計算で
• 1,048,576byte/1500byte = 約700パケットを送る必要がある • 実際はIPアドレスやMACアドレス等の接続情報が加わるのでもっと多い • 解析する時はツールが良い感じにつなげてくれるので700個もパケット⾒ る必要は無い
TCP/IP • ⼀般的に広く使われているプロトコル群 • TCPとIPv4を使って通信をする⽅法 • IP • パソコン1台に割り当てられるIPアドレスを元にルーターがリレーをし て相⼿に到達する
• TCP • 3way ハンドシェイクでコネクションを確⽴して通信を⾏う • パケットは必ずしも相⼿に到達するとは限らない。 • なので再送信とかする必要がある。そういうのをやってくれる奴
TCP/IP • IPにはローカルIPとグローバルIPが現代では普及している • DHCPとかで調べると各種の違いが分かる • ルーカルIPとはルーターのLAN内での擬似的なIPアドレス的な感じ • 192.168.~.~が⼤体ローカルIPアドレス。 •
グローバルIPアドレスはLANの代表となるIPアドレスみたいな感じ 192.168.1.2 150.43.0.0 133.5.0.0 192.168.1.2 その他のルーター (インターネット)
MACアドレス • 通信端末に世界で唯⼀割り当てられた識別⼦ • パソコンのインターフェースと呼ばれる部分に割り当てられる • インターフェイスは通信の出⼊り⼝的なところ IP:192.168.1.2 MAC:98:01:a7:d0:b7:5b 150.43.0.0
133.5.0.0 IP:192.168.1.2 MAC:58:52:8a:1b:08:fd その他のルーター (インターネット)
OSI参照モデル • 正直ざっくりと分かってれば良い • リンク層 • Mac:Macアドレスを元に通信をする(LANの中での通信な雰囲気) • ネットワーク層(インターネット層) •
IP:IPアドレスを元に通信する(インターネットな雰囲気) • トランスポート層 • TCP:コネクションを確⽴して通信をする(通信形式みたいな) • リンク層の上にネットワーク層が乗ってその上にトランスポー トが乗っての繰り返し。
Wiresharkの紹介
Wiresharkとは • 世界的に有名なパケット解析ツール • これがあれば⼤体何でもできる。 • 鍵があればHTTPS中⾝とかも⾒れる
Wiresharkを使ってパケットを⾒てみよう!
サンプルパケットのダウンロード • Google Driveからダウンロードしてね。 • https://ux.nu/EkoPN • sampleHTTPをWiresharkで開く
開き⽅
開き⽅
開き⽅
開き⽅
Wiresharkの⾒⽅ これら⼀つ⼀つがパケット パケットの中⾝を表⽰している 本当に流れている実際のパケットの中⾝
Wiresharkの⾒⽅ 送信先IPアドレス 送信元IPアドレス プロトコルの種類(⼀番上に乗ってるの) パケットをデコードした結果
Wiresharkのフィルタ ここに「http」と⼊⼒してHTTPリクエストだけをフィルタして表⽰する
Wiresharkでフィルタした後 フィルタの中⾝ HTTPでフィルタしたのでHTTPのみ
TCP/IPパケット解説 • わかりやすい図などはこちら • IP • https://www.infraexpert.com/study/tcpip1.html • TCP •
https://www.infraexpert.com/study/tcpip8.html
TCP/IPパケット解説 • リンク層 • ▪⾚:送信先macアドレス( 58:52:8a:1b:08:fd ) • ▪⻩:送信元macアドレス( 98:01:a7:d0:b7:5b
) • ▪⻘:イーサタイプ(IPv4なのかIPv6なのか)https://goo.gl/HqZa2h • 0x0800だとIPv4 • 0x86DDだとIPv6 • 0x0806だとARP(MACアドレスを教えあうプロトコル)
Wiresharkだと
TCP/IPパケット解説 • ネットワーク層 • ▪⾚:送信元IPアドレス( 192.168.1.7 ) • ▪⻩:送信先IPアドレス( 219.94.163.38
) • ※リンク層とは別で送信元と送信先が逆な所注意 • 192.168.1.7の部分はルーターがグローバルIPに置き換えてネッ トに出て⾏く。
Wiresharkだと
Wiresharkワンポイントアドバイス • バイナリをクリックするとそれが何の情報なのかを真ん中のタ ブで表⽰してくれる。(逆もしかり)
Wireshark で HTTP GETリクエストを追ってみよう
⼀旦フィルタを消そう! ここの×をクリックするか フィルタの中⾝の⽂字列を消してエンター!
HTTP GETを追う フィルタが何も無いことを確認
HTTP GETを追う HTTP GETと書かれているのを右クリック 追跡→HTTPストリーム
HTTP GETを追う ⾚:実際に送っているリクエスト ⻘:リクエストに対する返答 リクエストしたHTMLの中⾝
HTTP GETを追う ⾚:実際に送っているリクエスト ⻘:リクエストに対する返答 ⽂字化けはここから⽂字コード変換 (⽇本語不可)
HTTP GETを追う ここからリクエスト送った側と送られた側でフィルタできる ⽂字化けはここから⽂字コード変換 (⽇本語不可) 検索を使うと該当⽂字列がドラッグされる
HTTP GETを追う パケットサイズを⾒ると1つのHTMLを1468byteで分割して 複数のパケットで送っているのがわかる
みんなお待ちかね唐突の課題! • 農林⽔産省のIPアドレスをWiresharkを使って調査せよ!
どうやるの? • コントールキー+Wキーを押すとこちらの画⾯に戻ります。
どうやるの? • パケットをキャプチャするインターフェイスを選択 ここにインターフェイスのリストがある ここの波形が⼀番波打ってるのが⼤体メインのインターフェイス
どうやるの? パケットキャプチャが即座に⾏われパソコンに⼊ってるパケット全てを羅列する
どうやるの? • パケットがキャプチャされ始めたらブラウザを使って農林⽔産 省のホームページへアクセス! • すると農林⽔産省のホームページに対してHTTP GETリクエス トを⾏います。 • コツ:アクセス前にキャプチャを⼀旦停⽌してクリアする。キャ
プチャを開始すると同時にブラウザでアクセス。 • HTMLが表⽰れたら即座にキャプチャ停⽌
どうやるの? パケットキャプチャ開始 パケットキャプチャ停⽌
どうやるの? 記録したパケットをクリアする 最後のパケットを追尾 最後or最初のパケットに⾶ぶ 記録したパケットの順番
パケット多すぎ!!! • 知らない間にパソコンにはいろいろなパケットがあります。 • さっき使ったフィルタを使ってみましょう。
答え合わせ • 実際にやります
は?こんなの余裕でしょw • そんな⼈たちへ • 福岡県久留⽶市のホームページにGETリクエストを送って Wiresharkで表⽰してみよう! • 条件:左下の画像と同じ感じに表⽰しよう!
答え合わせ • 実際にやります。
最終問題! • getPassword.pcapngファイルを開いてパスワードをブチ抜こ う! • 答えがわかったら↓のURLから⼊⼒しよう! • http://leggiero.sakura.ne.jp/xxxxbasic_auth_testxxxx/secret/ kaiin_page_top.htm •
https://ux.nu/mTkRa
答え合わせ • 実際にやります。
よく使うパケットフィルタリスト • よく使うパケットフィルタ • http • ip.addr == 192.168.1.7 •
というかここを⾒れば良い • フィルタの右側の書式を押す • 検索にそれっぽい単語を⼊れる
その他の解析ツール紹介 • Charles 試⽤・有料 • http/httpsのパケット解析に特化したツール • ドメインごとにリクエストを⾒られるので⽬的のパケットを⾒つけやすい • Curlを⽂を⾃動⽣成するのでワンクリックでリクエストを再現可能。
• Pkttools 無料 • セキュリティキャンプでおなじみ坂井弘亮⽒が作った純国産 • 簡易分析の位置付けだがパケットを直接編集や送信などできる超神ツール • CLIでパイプを使ってフィルタする • Chrome 開発者ツール Networkタブ 無料 • ブラヴザに⼊るhttp/httpsリクエストを分析できる。 • Curlを⽂を⾃動⽣成するのでワンクリックでリクエストを再現可能。
Charles
pkttools
chrome
Chrome curl
Chrome curl
質問orこれやってくれ!
最後に • サポーターズcolab運営のみなさまへ • イベントの場所確保など⼤変な作業ありがとうございました。