2012/06/28 #ssmjp

1,175 views

Published on

2012/06/28 #ssmjp にて発表した資料です。
若手の方が参加しているので、最低限の補足を余談として入れてあります。あくまで、自分で調べるためのキーワードをお伝えする程度ですが。

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,175
On SlideShare
0
From Embeds
0
Number of Embeds
52
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 2012/06/28 #ssmjp

    1. 1. Network forensics puzzle contest に挑戦しています #ssmjp 2012/06/28 @th0x0472
    2. 2. お約束• Twitter @th0x0472• Blog http://th0x0472.at.webry.info/
    3. 3. 今回のお題• “Network Forensics Puzzle Contest”に 挑戦してみた• http://forensicscontest.com/
    4. 4. コレは何?(1/2)• NW フォレンジックのコンテストです。• 「ネットワークパケットを読む会(仮)」 という勉強会のお題で知りました。• pcapファイルを渡されます。• 問題が出題されます。• pcapファイルから答えを探します。
    5. 5. コレは何?(2/2)• 今僕が取り組んでる範囲では、暗号化された 通信は出てきていない。• 求められてるモノが明確。• ノイズになるパケットが少ない。 初心者向き! (は言い過ぎかもしれないけれど、頑張れる・・・ハズ)
    6. 6. 今回やること• 今回は、Puzzle2をやります。 http://forensicscontest.com/2009/10/10/ puzzle-2-ann-skips-bail (1は先日の本家勉強会でやりました)• 作業環境は、Macです。 (Linuxは少しコマンド違うけど同じ要領です)
    7. 7. Puzzle2の前に、前回のあらすじ。登場人物:Ann, Mr. X, あなたAnnは会社の機密を盗んで逃げようとしている。その共犯がMr. X。あなたはAnnとMr. Xの通信をキャプチャして調べている。(という設定で問題が出ます)
    8. 8. Puzzle2の状況設定After being released on bail, Ann Dercover disappears!Fortunately, investigators were carefully monitoring hernetwork activity before she skipped town.“We believe Ann may have communicated with hersecret lover, Mr. X, before she left,” says the police chief.“The packet capture may contain clues to herwhereabouts.”You are the forensic investigator. Your mission is tofigure out what Ann emailed, where she went, andrecover evidence including:
    9. 9. Puzzle2の問題 (1/2)1. What is Ann’s email address?2. What is Ann’s email password?3. What is Ann’s secret lover’s email address?4. What two items did Ann tell her secret lover to bring?5. What is the NAME of the attachment Ann sent to her secret lover?
    10. 10. Puzzle2の問題 (2/2)6. What is the MD5sum of the attachment Ann sent to her secret lover?7. In what CITY and COUNTRY is their rendez-vous point?8. What is the MD5sum of the image embedded in the document?
    11. 11. 1. What is Ann’s email address?• 聞かれているのは、メールアドレス。 = メールに関わる通信がある?• SMTP(25/tcp), POP3(110/tcp), IMAP(143/tcp), submission-port(587/tcp) あたり?• まずはポート番号を頼りに探してみる?
    12. 12. 余談:IANA, Wellknown Port• SMTPの25/tcp等、有名なサービスには デフォルトのポート番号が割り当てられ ています。• Wellknown Portといいます。• 割り当てをしてるのは、 IANAという組織です。
    13. 13. 余談:IANA, Wellknown PortInternet Assigned Numbers Authority(IANA、アイアナ)とはインターネットに関連する番号を管理する組織である。IPアドレス・ドメイン名・ポート番号等の標準化・割り当て・管理などを行う。アメリカの南カリフォルニア大学のISI(Information SciencesInstitute)にある。ジョン・ポステルが中心となって始めた組織。運営費用の一部がアメリカ政府により援助されていたが国際的な機関となるために1999年、ICANNの援助によって活動する組織に変更された。現在、ICANNの下部組織。 Wikipediaより。 http://ja.wikipedia.org/wiki/Internet_Assigned_Numbers_Authority
    14. 14. 余談:IANA, Wellknown Port• Wellknown Portは、IANAのWebサイト で調べられます。(でかいファイル注意) http://www.iana.org/assignments/service-names- port-numbers/service-names-port-numbers.xml• Wikipediaでも可。(個人的にお勧め) http://ja.wikipedia.org/wiki/TCPや UDPにおけるポート番号の一覧
    15. 15. 1. What is Ann’s email address?• WiresharkでPCAPファイルを開いてみる• まずはProtocolでソートしてみる• なにやらSMTPがある (実はポート番号は Wiresharkまかせ!)
    16. 16. 1. What is Ann’s email address?Follow TCP Stream で見てみよう! 右クリックパケット選択 Follow TCP Stream
    17. 17. 1. What is Ann’s email address?
    18. 18. 1. What is Ann’s email address?おまけsneaky geekhttp://ejje.weblio.jp/content/sneaky
    19. 19. 2. What is Ann’s email password?普通に考えて、ID/Password入力は”AUTHENTICATION SUCCESSFUL“のすぐ前くらいだよね。
    20. 20. 2. What is Ann’s email password?
    21. 21. 2. What is Ann’s email password?• SMTP Authで認証してる。• IT用語辞典 e-words によれば SMTP Authentication【SMTP認証】 メール送信に使うプロトコルであるSMTPにユーザ認 証機能を追加した仕様。RFC 2554によって規定されて いる。 http://e-words.jp/w/SMTP20Authentication.html
    22. 22. 2. What is Ann’s email password?• RFC2554 http://www.ietf.org/rfc/rfc2554.txt• 日本語訳 (してくれた方に感謝!) http://srgia.com/docs/rfc2554j.html
    23. 23. 2. What is Ann’s email password?日本語訳から引用:4. AUTH コマンドAUTH 認証メカニズム [初期レスポンス]引数:SASL の認証メカニズムを特定する文字列とオプションの base64 エンコードされたレスポンス
    24. 24. 余談:BASE64Base64は、データを64種類の印字可能な英数字のみを用いて、それ以外の文字を扱うことの出来ない通信環境にてマルチバイト文字やバイナリデータを扱うためのエンコード方式である。MIMEによって規定されていて、7ビットのデータしか扱うことの出来ない電子メールにて広く利用されている。具体的には、A–Z, a–z, 0–9 までの62文字と、記号2つ (+ , /) 、さらにパディング(余った部分を詰める)のための記号として = が用いられる。この変換によって、データ量は4/3(約133%)になる[1]。また、MIMEの基準では76文字ごとに改行コードが入るため、この分の2バイトを計算に入れるとデータ量は約137%となる[2]。 Wikipediaより。 http://ja.wikipedia.org/wiki/Base64
    25. 25. 余談:BASE64BASE64は、Mac/Linuxだと標準的なbase64 コマンドでエンコード/デコードできます。% echo "Hello world." | base64SGVsbG8gd29ybGQuCg==% echo "SGVsbG8gd29ybGQuCg==" | base64 -DHello world.
    26. 26. 余談:BASE64openssl コマンドでもいけます。% echo "Hello world." | openssl enc -base64 -eSGVsbG8gd29ybGQuCg==% echo "SGVsbG8gd29ybGQuCg==" | openssl enc -base64 -dHello world.
    27. 27. 余談:BASE64Windowsは・・・よく知らないけど、標準ではムリっぽいまぁ仮想でLinux導入しておけばOK。
    28. 28. 余談:BASE64こんなところで使われています。電子メール電子メールでは、SMTPなどの制約により、7bit文字列以外をやり取りすることは出来ない。そのため、添付ファイルなどのバイナリ形式のデータを送信する際に標準的に利用されている。Basic認証HTTPヘッダでは、特殊記号を使用することが出来ないため、ユーザー名とパスワードをコロン (:) で区切ってBase64エンコードした文字列がBasic認証に用いられている。
    29. 29. 余談:RFC RFC : Request for CommentsRequest for Comments(リクエスト フォー コメンツ、略称:RFC)はIETF(Internet Engineering Task Force)による技術仕様の保存、公開形式である。内容には特に制限はないが、プロトコルやファイルフォーマットが主に扱われる。RFCは日本語では「コメント募集」の意味であり、もともとは技術仕様を公開し、それについての意見を広く募集してより良いものにしていく観点から始められたようである。全てのRFCはインターネット上で公開されており、誰でも閲覧することができる。 (Wikipediaより) http://www.ietf.org/rfc.html
    30. 30. 余談:IETF IETF : The Internet Engineering Task Forceインターネットで利用される技術の標準化を策定する組織である。極めてオープンな組織で、実際の作業を行っている作業部会(Working group; WG)のメーリングリストに参加することで、誰でも議論に参加することが可能となっている。策定された標準仕様は最終的にはRFCなどとして発行する。 (Wikipediaより)
    31. 31. 2. What is Ann’s email password?先ほどのダンプの内、AUTH LOGIN から 235 AUTHENTICATIONSUCCESSFUL までをBASE64でデコードしてみる% echo VXNlcm5hbWU6 | base64 -DUsername:%% echo c25lYWt5ZzMza0Bhb2wuY29t | base64 -Dsneakyg33k@aol.com%% echo UGFzc3dvcmQ6 | base64 -DPassword:%endor% echo NTU4cjAwbHo= | base64 -D558r00lz%
    32. 32. 3. What is Ann’s secretlover’s email address? まずはメールヘッダと本文を見てみますか。Message-ID: <000901ca49ae$89d698c0$9f01a8c0@annlaptop>From: "Ann Dercover" <sneakyg33k@aol.com>To: <sec558@gmail.com>Subject: lunch next week-----(中略)-----Sorry-- I cant do lunch next week after all. Heading out oftown. =Another time! -Ann
    33. 33. 3. What is Ann’s secretlover’s email address?状況設定を思い出してみると Ann Dercover disappears!ということなので、来週のランチの話をしてる sec558@gmail.com は違うかな。
    34. 34. 3. What is Ann’s secretlover’s email address? では、他のメールを探しますか。 こんな時に活躍しそうなWiresharkさんの便利な機能があります。
    35. 35. 3. What is Ann’s secret lover’s email address?1. ファイル読み込む2. Statistics → Conversation List → TCP(IPv4&IPv6)を選択3. 適当なConversationを選択して Follow Stream を実行!
    36. 36. 3. What is Ann’s secretlover’s email address?
    37. 37. 3. What is Ann’s secretlover’s email address?実はTCPのセッションが2つしかなかったことが判明・・・。これのいずれかですね。
    38. 38. 3. What is Ann’s secretlover’s email address?ここで、通信量に着目です。添付ファイルある=通信量多いハズ。というわけで、2つめの通信を見ます。
    39. 39. 3. What is Ann’s secretlover’s email address?Message-ID: <001101ca49ae$e93e45b0$9f01a8c0@annlaptop>From: "Ann Dercover" <sneakyg33k@aol.com>To: <mistersecretx@aol.com>Subject: rendezvous-----(中略)-----Hi sweetheart! Bring your fake passport and a bathing suit. Address=attached. love, Ann おまわりさん、コイツです!!
    40. 40. 4.What two items did Ann tell her secret lover to bring? 問3で答え出てますね。 Hi sweetheart! Bring your fake passport and a bathing suit. Address = attached. love, Ann
    41. 41. 5. What is the NAME of the attachment Ann sent to her secret lover? これも同じ要領で。 ------=_NextPart_000_000D_01CA497C. 9DEC1E70 Content-Type: application/octet-stream; name="secretrendezvous.docx" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="secretrendezvous.docx"
    42. 42. 6. What is the MD5sum of theattachment Ann sent to her secret lover?
    43. 43. 6. What is the MD5sum of the attachment Ann sent to her secret lover?• Ann発の通信をファイルに保存。• さらにBASE64でエンコードされた行だけを取り出し。 (たファイルが ann-mail.txt です) % cat ann-mail.txt | base64 -D > secretrendezvous.docx % md5 secretrendezvous.docx MD5 (secretrendezvous.docx) = 9e423e11db88f01bbff81172839e1923
    44. 44. 7. In what CITY and COUNTRY is their rendez-vous point? docxファイルはZIPでばらせる。 % unzip -l ./secretrendezvous.docx Archive: ./secretrendezvous.docx Length Date Time Name -------- ---- ---- ---- 1495 01-01-80 00:00 [Content_Types].xml 590 01-01-80 00:00 _rels/.rels .... (以下略)
    45. 45. 7. In what CITY and COUNTRY is their rendez-vous point? というわけで早速ばらしてみる。 % mkdir secretrendezvous endor% unzip -d ./secretrendezvous ./secretrendezvous.docx Archive: ./secretrendezvous.docx inflating: ./secretrendezvous/[Content_Types].xml inflating: ./secretrendezvous/_rels/.rels inflating: ./secretrendezvous/word/_rels/document.xml.rels inflating: ./secretrendezvous/word/document.xml extracting: ./secretrendezvous/word/media/image1.png ...(以下略)
    46. 46. 7. In what CITY and COUNTRY is their rendez-vous point? document.xml をSafariで開いてみる。
    47. 47. 7. In what CITY and COUNTRY is their rendez-vous point? Chromeで見ると、 画像が含まれてるのが分かります。
    48. 48. 7. In what CITY and COUNTRY is their rendez-vous point?
    49. 49. 8. What is the MD5sum of theimage embedded in the document? % find ./secretrendezvous/ -name *.png -o -name *.jpg -o -name *.gif | xargs md5 MD5 (./secretrendezvous//word/ media/image1.png) = aadeace50997b1ba24b09ac2ef1940b7
    50. 50. そういえば@togakushi さんが 前に見せてくれたYUT Challenge の PCAP解析問題、strings コマンド活躍してたよね?
    51. 51. manなど引用してみるNAMEstrings - find the printable strings in a object, or other binary,fileDESCRIPTIONStrings looks for ASCII strings in a binary file or standardinput.Strings is useful for identifying random object files andmany other things. A string is any sequence of 4 (thedefault) or more printing characters ending with a newline ora null. Unless the - flag is given, strings looks in allsections of the object files except the (__TEXT,__text) section.If no files are specified standard input is read.
    52. 52. 1. What is Ann’s email address?% strings evidence02.pcap | grep [A-z0-9-_]+@[A-z0-9.]+MAIL FROM: <sneakyg33k@aol.com>RCPT TO: <sec558@gmail.com>J@Message-ID: <000901ca49ae$89d698c0$9f01a8c0@annlaptop>From: "Ann Dercover" <sneakyg33k@aol.com>To: <sec558@gmail.com>MAIL FROM: <sneakyg33k@aol.com>RCPT TO: <mistersecretx@aol.com>Message-ID: <001101ca49ae$e93e45b0$9f01a8c0@annlaptop>From: "Ann Dercover" <sneakyg33k@aol.com>To: <mistersecretx@aol.com>
    53. 53. 2. What is Ann’s email password?% strings evidence02.pcap | less  (Annのメールアドレスで検索&抜粋)250-cia-mc06.mx.aol.com host-69-140-19-190.static.comcast.net250-AUTH=LOGIN PLAIN XAOL-UAS-MB250-AUTH LOGIN PLAIN XAOL-UAS-MBAUTH LOGIN334 VXNlcm5hbWU6c25lYWt5ZzMza0Bhb2wuY29t334 UGFzc3dvcmQ6NTU4cjAwbHo=235 AUTHENTICATION SUCCESSFULMAIL FROM: <sneakyg33k@aol.com> (お断り:たくさん省略してます)
    54. 54. 3. What is Ann’s secret lover’s email address?% strings evidence02.pcap | less  (Annのメールアドレスで検索&抜粋)From: "Ann Dercover" <sneakyg33k@aol.com>To: <sec558@gmail.com>Subject: lunch next weekDate: Sat, 10 Oct 2009 07:35:30 -0600MIME-Version: 1.0Content-Type: multipart/alternative;boundary="----=_NextPart_000_0006_01CA497C.3E4B6020"X-Priority: 3X-MSMail-Priority: NormalX-Mailer: Microsoft Outlook Express 6.00.2900.2180X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180This is a multi-part message in MIME format.------=_NextPart_000_0006_01CA497C.3E4B6020Content-Type: text/plain;charset="iso-8859-1"Content-Transfer-Encoding: quoted-printableSorry-- I cant do lunch next week after all. Heading out of town. =Another time! -Ann こいつは違うほう
    55. 55. 3. What is Ann’s secretlover’s email address?Message-ID: <001101ca49ae$e93e45b0$9f01a8c0@annlaptop>From: "Ann Dercover" <sneakyg33k@aol.com>To: <mistersecretx@aol.com>Subject: rendezvousDate: Sat, 10 Oct 2009 07:38:10 -0600MIME-Version: 1.0Content-Type: multipart/mixed;boundary="----=_NextPart_000_000D_01CA497C.9DEC1E70"X-Priority: 3X-MSMail-Priority: NormalX-Mailer: Microsoft Outlook Express 6.00.2900.2180X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 (次のスライドに続く)
    56. 56. 3. What is Ann’s secretlover’s email address?This is a multi-part message in MIME format.------=_NextPart_000_000D_01CA497C.9DEC1E70Content-Type: multipart/alternative;boundary="----=_NextPart_001_000E_01CA497C.9DEC1E70"------=_NextPart_001_000E_01CA497C.9DEC1E70Content-Type: text/plain;charset="iso-8859-1"Content-Transfer-Encoding: quoted-printableHi sweetheart! Bring your fake passport and a bathing suit. Address =attached. love, Ann おまわりさん、コイツです!!
    57. 57. まぁ、こんなノリでQ4, Q5 も答えられます。でも、さすがに添付ファイルの復元は厳しいので諦めた。
    58. 58. おまけWindowsにはNetwork Minerという ツールがありましてですね・・・http://www.netresec.com/?page=NetworkMinerhttp://sourceforge.net/projects/networkminer/ 極悪です。
    59. 59. ご清聴ありがとうございました。ご質問はお手柔らかにお願いします。 Fin.

    ×