Snort メモ

Snortの個人的メモ
随時更新予定
参考
http://manual-snort-org.s3-website-us-east-1.amazonaws.com/node27.html
http://blog.joelesler.net/2010/03/offset-depth-distance-and-within.html

offset [どこから検索するか]
パケットのどこから検索を開始するか指定する
content:"cgi-bin/phf"; offset:4;
パケットの4バイト目以降から"cgi-bin/phf"の検索を行う

depth [どこまで検索するか]
パケットのどこまで検索するかを指定する
content:"GET"; depth:3;
パケットの1バイト目から3バイト目の間に現れる"GET"を検索する。ちなみにルール中の一番最初のcontentは自動的にオフセット0から検索されるので、offset:0と指定する必要はない。

distance [どこから次の検索を開始するか]
content Aが見つかったあと、次のcontent Bの検索をどこから開始するかを指定する
content:"ABC"; content:"DEF"; distance:1;
"ABC"が見つかったら、1バイト無視してから"DEF"の検索を開始する
/ABC[.]DEF/
「"ABC"のあとに"DEF"が現れるはずだけど、何バイト目以降に現れるかは分からない」という場合にはcontent:"ABC"; content:"DEF"; distance:0 とすれば、"ABC"のあとに何バイトあろうと関係なく"DEF"を検索します。

within [~以内を検索する]
content Aが見つかってから、何バイト以内にあるcontent Bを検索する
content:"ABC"; content:"EFG"; within:10;
"ABC"のあとの10バイト以内にある"EFG"を検索する。大体何バイト以内に次のcontentがあるか分かっている場合に有効。

PCRE あれこれ

先読み: 肯定先読みは"(?="、否定先読みは"(?!"と記述

\w+(?=;)

末尾にセミコロンがついた単語にマッチする

foo(?!bar)

末尾に"bar"が続かない"foo"にマッチする

個人的によく使うパターンは下記のようなもの

pcre:"/(?![a-zA-Z]{10})(?![0-9]{10})[a-zA-Z0-9]{10}/";

英数字が混ざった文字列10文字にマッチする。アルファベットのみで構成された10文字あるいは数字のみで構成された10文字にはマッチしない。

参考
http://www.pcre.org/original/doc/html/pcrepattern.html

ファイルの「ダウンロード」と「ドロップ」の違い(個人的解釈)

ファイルをダウンロードする:
外部に対して何かしらのリソースを要求して取得すること。

ファイルをドロップする:
何かしらの操作をしたときに自動的にファイルが作成されること。たとえば、example.exeというプログラムを実行したときにfoo.txtというファイルが作成される。このとき、example.exefoo.txtをドロップした、と言える。

※あくまで個人の解釈です。

以上。

Hex encodeの自分用メモ

先頭ではなく後方の文字列を取得したいときのbashスクリプト

よく使うので、自分用のメモ。
たとえば、

hxxp://example.com/abc.exe
hxxp://test.com/efg.png

上記URLからファイル名のみを取得したい場合。

$ echo -e "hxxp://example.com/abc.exe\nhxxp://test.com/efg.png" | rev | cut -c 1-7 | rev
abc.exe
efg.png

revで文字列をすべて反転させてcutでn番までの文字を抽出、もう一度revで反転させた文字列を元に戻します。

以上。

2017年3月31日追記
basenameコマンドの存在を知る
$ basename "hxxp://example.com/abc.exe"
abc.exe
$ basename "hxxp://test.com/efg.png"
efg.png

PHPについて今さら気づいたこと

PHP Mailerの脆弱性が巷で話題になってますね。
この脆弱性の内容を簡単に説明すると、メールを作成する際のデータの入力値チェックに不備があって任意のコードが実行できてしまうというものです。

この脆弱性に関する調査記事を読んでいて今さらながら気づいたことがあるんですが、PHPってHTML以外のデータが混入していても動作するんですね。

ランダムな文字列が混入していても。。。
ter01.png

動作します。
ranchar.png

アスキーアートが混入していても。。。
ter02.png

動作します。
AA.png

バイナリデータが混入していても。。。
ter03.png

動作します。
binary.png

PHPはHTMLに埋め込むものという先入観があったので意外な感じがしました。

以上。


<<PREV | | NEXT>>

プロフィール

トニヒコ

Author:トニヒコ
趣味は旅行と読書とマンガ。
将来の夢はコスモポリタン!

リンク・フリーです。

My hobby is traveling and reading(include manga).
My dream is to become cosmopolitan!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
スポンサード リンク
マクロミルへ登録
FC2カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR