1
ユーザ認証の盗聴
2002/9/10
肇史
牧之内研究室「インターネット実習」Webページ
http://www.db.is.kyushu-u.ac.jp/rinkou/internet/
2
背景
インターネットの世界的普及
世界中のコンピューターにアクセス可能
あらゆる場所の人々とコミュニケーション可能
悪意のあるユーザがこの技術を利用
コンピュータに不正にアクセスしてデータを破
個人情報にアクセスし悪用
この反面
3
ユーザ認証の盗聴
ユーザ認証の際のパスワードをネットワー
ク上で盗み見る
正規ユーザになりすましてアクセス可能
クライアント サーバ
ネットワーク
パスワード
パスワード
を盗聴
4
自宅 研究室
パケットの盗聴
盗聴の例
5
盗聴
一番単純で効果的です。自宅の計算機から研究室の
計算機までのネットワークの経路のどこかで、パケット
を採集するプログラムを仕込み、全てのパケットのダ
ンプを得ます。
Telnetにしろrloginにしろ、必ずパスワードを入力し
ますので、丹念に盗聴を行なえば、アカウントとパス
ワードの組を得ることができます。さらに、研究室の計
算機から別の計算機にtelnetを行なえば、通信路にア
カウントとパスワードのパケットが流れますからそれら
を知ることが出来ます
6
また、通常IPは暗号化されていません。ですから、
リモートログインしてメイルを読んだ場合、盗聴者は
メイルの内容を全て読むことができます。
パケットの盗聴には、特別なハードウェアは必
要ありません。ネットワークの経路のどこかで専用
のプログラムを動かせば良いだけです。つまりクラッ
カーが既に足場を築き上げている計算機が経路上
に存在すれば良いのです。そのような状態になって
いるかは、リモートログインしようとしているユー
ザーには判断できません。
7
パケットスニファリング
(Packet Sniffering)実習
8
スニファリング(パケット盗聴
ネットワーク上を流れるパケットを取り出す
(盗み見る)行為
パケット盗聴は比較的簡単
暗号化されていないデータ(平文)はすべて盗聴可能
-rootの権限
-ツールOSによっては標準で付属)
9
パケットの送信
ネットワークセグメント(区画)内の
相手に対し、パケットをばらまく
ルータや
スイッチングハ
Host A
Host B
10
tcpdumpコマンド
ネットワーク管理ツール
コマンド使用法
コンピュータが接続しているネットワークを流れて
いるパケットを取り出す
# tcpdump [option]
-X 取り出したパケットの内容を表示
host ホスト 指定したホスト名に関するパケットのみ取り出
port ポート 指定したポート番号に関するパケットのみ取り出
ssh22 ftp(制御用):21
telnet23 ftp(データ用):20
ポート番
option
11
tcpdumpによる盗聴
ftpを対象に、ユーザ認証情報である
ユーザIDとパスワードの盗聴
trf
lanabass ftp
ユーザID, パスワード
# tcpdump X port 21
ユーザID
touchou
パスワード
!Success
12
tcpdump X port 21
09:31:13.453016 bass.4f.db.is.kyushu-u.ac.jp.1966 > lana.4f.db.is.kyushu-u.ac.jp.ftp:
P 15:30(15) ack 77 win 57920
<nop,nop,timestamp 26295216 22651681> (DF) [tos 0x10]
0x0000 4510 0043 5698 4000 4006 2062 c0a8 2139 E..CV.@.@..b..!9
0x0010 c0a8 2121 07ae 0015 f809 436b e0c4 0452 ..!!......Ck...R
0x0020 8018 e240 69a0 0000 0101 080a 0191 3bb0 ...@i.........;.
0x0030 0159 a321 5041 5353 2021 5375 6363 6573 .Y.!PASS.!Succes
0x0040 730d 0a s..
実際の結果 bassからlanaに送られたパケットであることを示す
実際のパケットのデータ 左の16進表記をASCIIコード
で表したもの
パスワードが読み取れる
13
tcpdump出力例
bass.4f.db.is.kyushu-u.ac.jp > lana.4f.db.is.kyushu-u.ac.jp
4510 0087 2bfb c036 5016 740c
:
:
0000 5555 4552 5353 c09c 5061
# tcpdump X port 21
ftpに関するパケットが送信されるたび以下のような
表示が出る。
送信元 送信先
パケット内容の16進表示、アスキーコード表示
出力
:
USER touchou
:
:
PASS !Success
16進をアスキーコード
に変換
パケット内容の16進表示
14
実習
マシンtrfrootになり、
マシンbassからlanaftpでログイン
ユーザ名を聞かれるので入力
パスワードを聞かれるので入力
trf# tcpdump X port 21
bass% ftp lana
bass% User: touchou
bass% Password: !Success
パケットを監視