コンピュータやソフトウェアのあれこれ@道民(&元道民)
packet
Hokkaido.cap #10 に参加してきました
4月 30th
4月27日(金)に行われたHokkaido.cap #10 に参加しました。
今回は実践パケット解析学習編・最終回。
参考文献のところに載っている他の解析ツールについて勉強しました。
知らないツールばかりだったので新しい発見がたくさんありました。
様々な解析ツール
パケットを解析することができるツールは、使い方によってはクラッキングツールになる、とても危険な道具です。諸刃の剣。
なので、参考文献に載っているツール群も、ウイルス対策ソフトによって「危険なサイト」としてダウンロードページがブロックされることも多いようです。
たしかに、強力なことができるほど便利だけど、その分、悪用した時にも便利に使えるのですよね。
もちろん、クラッキングツールだけではなく、疑似パケットを作成するパケットジェネレーターや、動かしていると”なんかかっこいい”ツールなどもありました。
標準的なネットワークモニタ
よく使用するネットワークモニタツールとしてtcpdump、Microsoft Network Monitor 3、TCPView、NetworkMinorが紹介されました。tcpdumpはギリギリしっていたけれど、他は使ったことはなかったです。
こういうツールを業務で使うことはあまりないけれど、こういうツールがあると知っておくことは大事だなと思いました。
ネットワークは解析すれば簡単に見える物であるということを忘れないようにしないと。
とても大事なこと
許可なく他人の通信をキャプチャしたらダメ、絶対。 犯罪です。(有線電気通信法、電波法)
また、パケット解析の技術は、トラブルシューティングなどを通じて、自分の経験として身につけることが大事であるという話もありました。
この辺りは「コードを書かないとプログラミングの技術は向上しない」のととても似ているなー。
何事も手を動かして、体験して身につけていく物なのですよね。
CTF
パケット解析を題材にしたクイズにチャレンジしました。北海道で有名なあの人のプライベート写真がゲットできるチャンスです。
張り切って挑戦したものの、Hokkaido.capへの参加が2回空いてしまっていたというのもあり、Wiresharkの使い方をすっかり忘れていました・・・ぐぬぬ・・・
しかし、それでもなんとかそれっぽいキーワードを探して、時間内に画像をゲットすることができました。
最後に答え合わせをしたところ、やっぱり無駄なことをたくさんやっていたなあ。
そして答えの近くでグルグル回っていたなあ。
Wiresharkを使いこなせばもう少し楽にできたところを、力技で解いてしまった感は否めない。
Hokkaido.cap は実践パケット解析が一段落したということで、今後は不定期開催になります。
普段の業務で直接的に使うことはあまりないのだけど、いろんな知識を広げるためにも、また次回参加したいと思います
Hokkaido.cap #7 に参加してきました
10月 26th
10/21(金)に行われた、パケットの中身を解析して学ぶ Hokkaido.cap #7に参加しました。
CTFの問題を自力で解くことができたことが一番嬉しかった!
ケーススタディ(セキュリティ解析:前編)
OSのフィンガープリント、ポートスキャン、プリンターの氾濫、FTPサーバーへの侵入という外部から攻撃を受けた場合のパケットがどのようになっているかについて勉強しました。
OSのフィンガープリント
フィンガープリントとは、TCP/IPの実装に関する特徴がOS毎に異なることを利用して、標的ホストのOSの種類を推測する手法のこと。
「Filter(ディスプレイフィルタ)」を使うことでパケットを絞込み、通常であればありえないICMPのtypeを表示させることで状況が把握しやすくなりました。
(ICMP type の0-12は普通に使用することがあるが、13以上は通常ありえないそうです)
ポートスキャン
外部に開放されているPortを調べるための手法。ポートスキャンされているときにどのようなパケットになるかを実際に見てみました。
ツールを使うとTCPもUDPもどのポートが空いているかすぐわかってしまうものなんだなあ。
プリンターの氾濫
ネットワークプリンタからおかしな物が印刷されているときに、パケットを解析することで原因を探ることができる、というケース。
明らかに特定のPCから異常な印刷命令が出ていることから、クライアントのPCがウィルスに感染しるのでは?という次の調査の行う手がかりを得ることができる。
FTPサーバーへの侵入
ディスプレイフィルタで「ftp.request.command」を使うと、FTPのコマンド名による絞り込みを行うことができました。
特定のコマンドに着目すると、PASSWARDを辞書攻撃していることがすぐにわかります。
CTFの問題にチャレンジ
はじめて自力で問題をクリアすることが出来ました記念。
次のような順番で考えました。
- まずは、パケットからExportできるオブジェクトが無いか確認する。
今回はzipファイルが2つ存在していたので、保存。 - zipファイルを解凍してみる。
1つは解凍でき、文字列のかかれたテキストファイルが出てきた。
もう一つは、PWが必要なzipファイル、上記テキストを入力しても解凍できない。 - ここで、パケットの解析に戻るとTelnetの通信があることに気がつく。
「Follow TCP Stream」でやり取りを確認する。 - base64のエンコード、デコードしている箇所がある
(あ、これ当たりじゃないかな) - さっきのテキストと同じ文字列をデコードしているよ!!!
(やったのか?) - デコードされた文字列で2つ目のzipファイル解凍成功。お宝写真をゲット
(ガッツポーズ)
LT
SINさんによる「癒し系ネットワーク機器をpingで起こす」。
登場したのは、自作したpingコマンド受信で起きる機械。
工作すごい!!!!!
細部のこだわり(寝るとか、寝起きの反応は少し遅いとか)が可愛らしかったです。
- MACアドレスの変更
プログラムした段階でMACアドレスを決めることができる - オフセット0でのMISCOMPAREエラー
ping で送られた物と違うものを返すようにしている(32byteの中身を書き換える)- プロトコルエラーになるよ
という、自分では絶対に得ることのできない発見を教えてもらいました。
次回は参加できない(旅行)のが残念だけど、ちょっとずつパケットが読めるようになってきたのは嬉しいです。
続けていきたい。
Hokkaido.cap #6 に参加してきました
10月 17th
パケットの中身を解析して学ぶ Hokkaido.cap #6。
今回は“SynAck Caputure Nite 2011” のサテライト勉強会でした。
二つのセッションをサテライトで聞きました。
永続的パケットキャプチャノススメ(ネットエージェント株式会社 杉浦隆幸さん)
普段「ネットワークのトラブル解析」として使用することの多いパケットキャプチャを日常的に利用してみたというお話。
自分がネットワークを介してアクセスした物をすべてあとから再現できるという究極のライフログ。
- 会社内で使ってみた
- 家で使ってみた
- スマートフォンでとってみた
という、様々な利用シーンの事例。
こんな使い方もできるのかー、と驚きました。
目に見えないけれど確実に情報をやり取りしているわけだから当たり前なのだけど
あんなことやこんなことまで全部パケットの世界ではお見通しである!
というのに純粋にびっくりしました。
DEFCON29 CTF 本戦 パケット解析(Ghetto(@ghetto2199)さん)
DEFCONという世界があるのを知ったのは昨年かその前くらい(せきゅぽろで知りました)。
スーパーハッカーの集まるすごいイベントです。
今回は、実際に大会(本戦)に参戦した人の生のお話が聞けました。
本当に、スーパーハッカーは実在するのですね・・・。
現場の空気感が伝わってきた面白いセッションでした。
技術的なところはほとんどついていけなかったのだけど、「エクスプロイトコード」という言葉の意味を覚えました。
そういえば、今回DEFCONが開催された時期に、その話題が朝日新聞に載っていたなあ。
(うろおぼえだけど、セキュリティ犯罪による打撃/被害が大きくなった現代の話や、悪いハッカーとそれに対して戦う正義のハッカーみたいな構図の話だった)
知らない世界を覗けた、良い時間でした。
スタッフのみなさまありがとうございました。
Hokkaido.cap #5 に参加してきました
8月 30th
パケットの中身を解析して学ぶ Hokkaido.cap #5に参加してきました。
今回は、嬉しいことがありました。5回目にしてやっと、勉強会についていけるようになりました。
ネットワークの遅延と戦う(後編)
ネットワークが遅延するケースのパケットを読み解きました。
以下について、どのようなパケットになるか・どうやって解析をするかを学びました。
- BitTorrentによる通信の占領
- PSHフラグ→受信バッファをスキップしている=処理が優先されている
- [Statistics] → [Conversations] で通信全体の傾向やノードごとの対話状況を見る
- DNSの通信名でノードの名前が解決できることがけっこうある
- Endpoints 機能で通信料の多いノードを特定できる
- ワームに感染して大量のスパムメールを送っている
- POPはテキストベースなので中身が見える
- Analyze -> Follow TCP Stream
- 怪しいファイル名を見つけたら検索してみる(有名なワームであれば出てくる)
- Gnutellaによる通信の占領
- [Statistics] → [Conversations]で怪しい通信を見つけたら成功している通信で手がかりをつかむ
- TCPタブ → 成功している通信(パケット量が多い)でフィルタをかける
初めて、パケットをさわりながら「あ、なんかここが怪しいぞ」と感じることができたのが大きな前進です。
しかし実際にネットワーク遅延にであった時は、実際のキャプチャデータでは似たようなパケットが大量に記録されているのでもっと嗅覚が必要そうです。
CTFにチャレンジ
パケット解析のCTFオリジナル問題にチャレンジ。
前回に比べてレベルをかなりさげてくれたのもあり、いいところまで自力で進めることができました。
(まあ、解けなかったんですけど)
パケットキャプチャ勉強会で、CTF問題にチャレンジすると毎回某すもけさんのレア画像をゲットできます!
少しずつパケットに慣れてきた。
会社から本も借りたし、次回もがんばりたいと思います。
Hokkaido.cap #4 に参加してきました
7月 24th
パケットキャプチャリングの勉強をするHokkaido.cap #4に参加してきました。
プログラムを書くようにパケットを扱うことは全然できないけれど
毎回1個は新しい発見をして帰ろうと思っています。
ネットワークの遅延を解析する
ネットワークの遅延に関連する以下4つのパケットを実際に解析しました。
- ダウンロードの遅延
- [Analyze] → [Expert Info]と [Expert Info Composite]
- [Statistics]→ [TCP Stream Graph] からいろいろなグラフが見れる
- 「1023番のパケットを探す」方法がわからず手動(あとで調べる)
- ルーティングの不具合
- tracerouteの結果が帰ってこない=ルーティングの不具合
- tracerouteコマンドを打ってみた
- 二重に見える
IPヘッダのIDが同じでTTLの値が違うときはルーティングの問題 - サーバーが私を拒否している?(実際にはflashのポップアップブロック)
おかしなパケットを[Analyze] → [Follow TCP Stream] で解析。
操作に慣れず、四苦八苦しましたが、自宅に帰ってからもう一回おさらいして把握できました。
パケット解析 CTF
あるパケットからヒントを見つけて答えを探すもの。
なんとなく、これが怪しいよなあ…というのは前回よりは気がつけた。
しかし、何をどうすればいいか方法が全く。。。
途中でヒントをいただき、こういうことができるのを知りました。
あるパケットをHTTPのObjectとしてExportすると、そのオブジェクトの中から送受信されたファイルを取得することができる
ここからさらにヒントを探して答えにたどり着くわけです。
難しいけど面白かった。
パケットキャプチャリングを知れば知るほど普段何気なく垂れ流しているインターネットの情報って簡単にわかってしまうのねぇ、怖いわ…と思うのでした。