SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
パケットで遊ぼう
#ssmjp 2015/04
@takahoyo
2015/4/25 1
本日の内容
パケットで遊ぶ
2015/4/25 3
本日の内容
パケットで遊ぶ
2015/4/25 4
パケットとは
パケット (packet) とは、「小包」のことであるが、日本
ではもっぱらパケット通信または蓄積交換(通信方式)に
おける情報の伝送単位を指す。主としてISOのOSI参照モ
デルでは第3層 ネットワークレイヤで使われる。RFC
1122では、インターネットレイヤで使われる。
パケット単位で通信を行うことにより、ネットワークの帯
域を連続して占有することがなくなって複数の端末からの
送受信データを1本の信号線上に多重化出来る、データの
一部が破損・喪失しても少ないコストで再送が可能になる、
網状の通信路構成に適している、などの利点がある。
Wikipedia(http://ja.wikipedia.org/wiki/%E3%83%91%E3%82%B1%E3%83%83%E3%83%88)より
2015/4/25 5
どういうことだってばよ?
• ネットワーク上に流れているもの
• 郵便配達に例えると郵便物
• 例えば、Web通信の場合はこんな感じ
Ethernet TCPIP HTTP
2015/4/25 6
パケットと接する心構え
一.パケットをよく知ろう!
二.パケットを怖がらないで!
三.パケットに愛をこめて!
つまり…
2015/4/25 7
パケットは友達!!
パケットで遊ぶ
• キャプチャしたパケットを見る
• 送信するパケットを弄くる
• キャプチャしたパケットをいじる
• まあ他にもあるかも
2015/4/25 9
パケットで遊ぶ
• キャプチャしたパケットを見る
• 送信するパケットを弄る
• キャプチャしたパケットをいじる
2015/4/25 10
用意するもの
• 適当にキャプチャしたpcapファイル
• Wireshark
• バイナリエディタ
• パケットエディタ WireEdit
• https://wireedit.com/
2015/4/25 11
今回使うパケット
2015/4/25 12
今回やること
• 適当に記録されているpcapファイルを用意
• 記録されてるパケットを書き換えてみよう
• WireEditに読み込ませよう
• User-Agentでも変えてみるかー
• Wiresharkで問題なく表示出来るかみよう
• うまく行かなかったら直す
2015/4/25 13
これを…
2015/4/25 14
こうして
2015/4/25 15
こうじゃ!
2015/4/25 16
お分かり頂けただろうか
今回はshellshock風にしてみました
2015/4/25 17
Wiresharkで見てみる
2015/4/25 18
よし、これで終わり?
• 書き換え前と書き換え後の結果をよく見る
2015/4/25 19
エラーの原因
• HTTPヘッダ部分を書き換えた
= TCPのデータのバイト数が変わった
• TCPヘッダには…
• シーケンス番号、ACK番号
• 送信されるデータバイト数によって変化
• シーケンス番号とACK番号がおかしいのでは!
2015/4/25 20
2015/4/25 21
192.168.1.154 157.7.205.139
13. GET /favicon.ico HTTP/1.1
seq = 3340263310
ack = 257904800
data = 306 byte
14. HTTP/1.1 404 Not Found
seq = 257904800
ack = 3340263616
data = 315 byte
15. GET /favicon.ico HTTP/1.1
syn = 3340263616
ack = 257905115
data = 306 byte
seq = 3340263310
ack = 257904800
↓
seq = 257904800
ack = 3340263310 + 306
seq = 257904800
ack = 3340263616
↓
seq = 3340263616
ack = 257904800 + 315
・
・
・
・
・
・
2015/4/25 22
192.168.1.154 157.7.205.139
13. GET /favicon.ico HTTP/1.1
seq = 3340263310
ack = 257904800
data = 273 byte
14. HTTP/1.1 404 Not Found
seq = 257904800
ack = 3340263583
data = 315 byte
15. GET /favicon.ico HTTP/1.1
syn = 3340263583
ack = 257905115
data = 306 byte
seq = 3340263310
ack = 257904800
↓
seq = 257904800
ack = 3340263310 + 273
seq = 257904800
ack = 3340263583
↓
seq = 3340263583
ack = 257904800 + 315
・
・
・
・
・
・
2015/4/25 23
13のパケット
2015/4/25 24
13のパケット
2015/4/25 25
14のパケット
2015/4/25 26
14のパケット
2015/4/25 27
まとめ
• WireEditで簡単にpcapファイルの中身を変える
• Wiresharkで確認するとエラー
• WireEditはチェックサムは自動で計算
• シーケンス番号、確認応答番号は計算してくれない
• そこは、計算して直す
• きれいなパケットの完成\(^o^)/
• プロトコルの知識が深まるかもね
2015/4/25 28
~ FIN/ACK ~
2015/4/25 29

Más contenido relacionado

Destacado (6)

○○はいいぞ
○○はいいぞ○○はいいぞ
○○はいいぞ
 
低対話型サーバハニーポットの運用結果及び考察
低対話型サーバハニーポットの運用結果及び考察低対話型サーバハニーポットの運用結果及び考察
低対話型サーバハニーポットの運用結果及び考察
 
hpingで作るパケット
hpingで作るパケットhpingで作るパケット
hpingで作るパケット
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケット
 
CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)
 
CpawCTF 勉強会 Network
CpawCTF 勉強会 NetworkCpawCTF 勉強会 Network
CpawCTF 勉強会 Network
 

パケットで遊ぼう! #ssmjp 2015/04