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
500
Wireshark&パケット解析入門@ハンズオン@サポーターズCoLab用資料
サポーターズで行なった勉強会の資料です
https://supporterzcolab.com/event/904/
Azunyan
August 02, 2019
Tweet
Share
More Decks by Azunyan
See All by Azunyan
パケット解析入門-勉強会資料
azunyan1111
6
2.3k
Other Decks in Technology
See All in Technology
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
460
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
670
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
110
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
210
あなたの知らない Function.prototype.toString() の世界
mizdra
PRO
1
200
AI前提のサービス運用ってなんだろう?
ryuichi1208
8
1.4k
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
190
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
120
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
180
Taming you application's environments
salaboy
0
200
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
190
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
110
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
430
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
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運営のみなさまへ • イベントの場所確保など⼤変な作業ありがとうございました。