【問題のみ】第16回春だからログ解析するぞシェル芸勉強会

Sat Apr 18 13:37:05 JST 2015 (modified: Sun Sep 15 09:30:07 JST 2019)
views: 619, keywords: ログ,apache,CLI,Linux,shellshock,UNIX/Linuxサーバ,USP友の会,勉強会,シェル芸,シェル芸勉強会

  このエントリーをはてなブックマークに追加 

解答はコチラ

始める前に

イントロのスライド

20150418 第16回シェル芸勉強会スライド from Ryuichi Ueda

使用するログ

/?page=05649内の、danger_log.gz(ShellShockのログ)とaccess_log.nasa.gz(NASAの公開データ。上田改)です。

環境

今回はLinuxで解答例を作りましたので、BSD系、Macな方は以下の表をご参考に・・・。

Mac,BSD系 Linux
gdate date
gsed sed
tail -r tac
gtr tr
gfold fold

準備0

ログをとってきましょう。

準備1

danger_log.gzとaccess_log.nasa.gzについて、日付と時刻を次のように正規化しておきましょう。

準備2

NASAのログを各日付のファイルに分けておきましょう。ログはQ1で作ったものを使います。1,2行目の8桁日付、6桁時刻は残っていても構いません。

Q1

NASAのログについて、ステータスコードを抽出して、どのコードがいくつあるか数えてみましょう。

Q2

NASAのログについて、ファイルを開かずに、ログの多い日を探しだしてみましょう。

Q3

NASAのログについて、(Q3-1)ログの件数が一番多い曜日はどれでしょうか。(Q3-2)ログの件数が一番多い時間帯(時間帯というのは0時台、1時台、・・・、23時台のこと)はどれでしょうか。

Q3-2については高速な方法を考えてみてください。

Q4

ShellShockログ内にあるIPアドレス(IPv4)がすべて192.168.から始まることを確認して下さい。IPアドレスはレコードの先頭だけでなく、インジェクションするコードの中にもあるのでご注意ねがいます。

Q5

ShellShockログについて、レスポンスのデータ送信量が大きいものを、IPアドレスと共に上から10件を挙げてみましょう。

Q6

NASAのログについて、7月8月のうち、ゼロ件の日を列挙してみてください。

Q7

ShellShockのログから、(Q7-1)インジェクションが試みられたコード(「() { :;};」から後ろ)を抽出してみて傾向を話あってみましょう。(Q7-2)出来る人はエスケープも掃除してコードを復元してみましょう。(Q7-3)更にできる人は最後の行のコードを実行してみてください。このログはIPアドレスを変換しているので安全ですが、普通のログでやると死にますのでご注意を。



prev:日記(シェルプログラミング実用テクニックの表紙、SoftwareDesign寄稿) next:【問題と解答例】第16回春だからログ解析するぞシェル芸勉強会





このサイトではGoogle AdSenseやその他ソーシャルボタンのためにCookieを使用しています。もし同意いただけない場合はブラウザでクッキーを無効にして閲覧をお願いします。This site uses cookies for Google AdSense and some social buttons. If you cannot accept our use of cookies, please disable cookies on your browser.