Hacker Japan (ハッカー ジャパン) 2012年 05月号
特集で wireshark をつかってマルウェア解析というものがあったので、
実践してみました
まずは、サンプルを取得するため
http://wiki.wireshark.org/SampleCaptures
へアクセスし
slammer.pcap
をダウンロードします
かなり下のほうでわかりにくいので、
chrome を使っているなら
Alt + e
をおして
検索を選択、もしくは f をおすと、検索窓が
画面の右上にでるので、
これに
slam
と入力すれば
slmamer.pcap のところまで移動できます
このサイトには
HTTP や POP などの基本的な通信パターンのほかにも
DNSへの Exploit 実行記録などもありますので、
さまざまな通信のログをみることができます
カテゴリー: wireshark
暗号キーを16進数で入力するときの参考サイト
wireshark で 無線LANのパケットを覗くには
設定をするときに ASCIIコードではなく16進数でキーを入力する必要があります
通常、1~Fということでそんなに悩まないのですが
暗号キーやパスフレーズになると、わかりにくいと思うので
変換したときの一覧が載っているサイトがあったので紹介です
他のワイヤレスネットワークでTrueMobile 1150シリーズを使う:DellTM TrueMobileTM 1150 シリーズ ユーザーズガイド
このように、大文字、小文字も含めてたくさんの入力変換が必要になるので
これを手打ちで調べていたら、かなりの時間をロスします
そのうち、ASCII から16進数に変換するスクリプトを作って置こうと思います
wireshark の表示時間の変更
wireshark のデフォルト設定では時間をみにくいので
設定を変更します
参考サイトは
WireSharkでタイムスタンプのフォーマットを変更する。
View >Time Display format >Time of day
で設定を変更します
初期設定は
Seconds Since Beginning of Capture 123.123456
と
Automatic (File Format Precision)
になっているので、これを
Date of Time of Day に変更します
これで、表示が見やすくなります
こちらが初期状態
そして、こちらが変更後
多少は見やすくなります
オプション画面でのフィルター設定
引き続き、wireshark 関連です
リアルタイムで通信データを監視するとき、不要な情報を
削ぎ、必要な情報のみをみるようにキャプチャーフィルターを設定します
設定方法は、最初に wiresharkを立ち上げたときに
Capture Option をクリックする方法
または、メインツールバーの左から2番めにある
Show the CaotyreIotuibs ボタンをクリックする方法
または、Capture > Options を実行するか
ショートカットキーで
Ctrl + k で実行します
起動したら設定するには
Capture Filter をクリックして設定します
ただし、
ディスプレイフィルターとは違って
Filter string の右に
Exception ボタンがないので、そこまで細かく設定できません
ちなみに、今回勉強に使った書籍
Hacker Japan (ハッカー ジャパン) 2012年 05月号
についていたサンプルデータは
この機能を使って
eth,addr == 08:00:27:46:2c:20
というフィルターをつけて
LANすべてのパケットから
ubuntu 11.10 の仮想マシンのパケットだけを集めたものだそうです
これを活用すれば
Android とか iPhone のマルウェアが入っても通信内容を解析して
発見できるようになるかもしれません
ちなみに、hacker japan のwebサイトに
今回の特集のデータがダウンロードできるので
こちらも合わせてみるとより理解しやすくなります
無線LANのキャプチャーデータを wireshark で見るには
無線LANのキャプチャーデータを wireshark で見る場合
wireshark はパケット解析ならかなりの高性能です
ちなみに、最近 android アプリでもないかと調べています
無線LANハッカーの場合、wireshark はつかわず
別のツールを使うようです
理由は
wireshark は
キャプチャしたパケット解析にはすごい便利なのですが
無線LANの WEP解析の場合
パケットの中身ではなくて、パケットの数が重要とのことです
しかも解析したら、もうパケットは用済みで破棄します
もうひとつ、いきなりwireshark を使って行わない理由があり
いくら WEPでも
Airodumg-ng でデータを取得して
wireshark でみても暗号化されたままなので、そのままでは
内容をみることはできません
もともと、wiresharkは暗号クラックツールではないので
ただし、暗号キーが知られていると
話は別で、普通に通信内容が見られます
このことから、やはりWEPは危険なので使わないようにしましょう
ウィザード形式でフィルター作成
プロトコルのフィルタリング
引き続き、今度は wireshark でプロトコルでフィルタリングしてみます
画面の一番上のほうにある Filter にプロトコルを入力します
(tcp とか ndp とかです)
ここに tcp と入力して Enterキーを押すと
tcp だけに絞り込みできます
ただしすべてのプロトコルには対応してはいないようで
mdns と igmp はダメでした
また、ここに一致、不一致などの指定をすることも可能です
MACアドレスで指定したいなら
ethr.addr ==
の後に MACアドレスを
IPアドレスで指定したいなら
ep.addr ==
でIPを指定すればOK
wireshark フィルタリング演算子
と合わせてみるとおもしろいと思います
wireshark フィルタリング演算子
wireshark のフィルタリング演算子のメモです
== または eq
一致
!= または ne
不一致
> または gt
より大きい
< または lt
よち小さい
>= または ge
以上
<= または le
以下
&& または and
論理値
|| または or
論理和
これらがわかると、Filter string が書きやすくなります
ちなみに、filter string は
の
eth.addr == 00:0b:a2:f6:85:f3
のところです
意味は
eth.addr が 00:0b:a2:f6:85:f3 と一致するです
書籍に wireshark フィルタ一例が載っていました
eth.src == 00:0b:a2:f6:85:f3
MACアドレス 00:0b:a2:f6:85:f3 からの送信
src は送信
ip.dst == 255.255.255.255
ブロードキャストパケット
dst でおそらくブロードキャスト
ip.addr == 192.168.77.0/24
IPアドレス 192.168.77.0~255
addr でアドレス
!(tcp.port ==80)
TCPポート80以外
!がついているので、~でないという意味
tcp。port == 80 で TCP80ポート
つまりHTTP
tcp.port == 80 || udp.port == 80
TCP 80 ポート
もしくは
UDP 80 ポート
|| なので、どちらかがOKでよい
tcp.flag.syn
SYNフラグのついたTCPポート
flag.synでSYNフラグ
!dns
DNS以外のプロトコル
!なので、~でない、つまりDNSでないという意味になります
ディスプレイフィルター
hacker Japan 2012 05が微妙にわかりずらいかも
と思ったので、試しに画像入れてみました
この右から4番めのアイコンをクリックすることで
ディスプレイフィルターを使えます
Ethernet address 00:08:15:00:08:15
を選んで
Filter string に出ている MACアドレスの値を変更して
適用を押せば、絞り込みできます
例えば
eth.addr == 00:0b:a2:f6:85:f3
とすると、
00:0b:a2:f6:85:f3
のMACアドレスのものだけを表示するようになります
みてのとおり、該当するものなら、背景色が緑ですが
適当にいれても、背景色が赤くなり、適用できませんので注意です
こうやってフィルタリングすれば、効率的な情報収集が可能になります