Cisco Japan Blog
Share

新しい「Re2PCAP」ツールにより、Snort ルールに不可欠な PCAP プロセスが高速化


2019年8月6日


 

SNORT® ルールの開発では PCAP ファイルが不可欠です。Cisco Talos が新開発した「Re2Pcappopup_icon」と呼ばれるツールにより、RAW HTTP 要求または応答からわずか数秒で PCAP ファイルを生成できます。

Re2Pcap が消費するリソースはごくわずかで、docker イメージは 90 MB 未満です。Snort ルール開発の処理時間を短縮できるだけでなく、複雑な設定も必要ありません。

たとえば、Sierra Wireless 社製 AirLink ES450 ACEManager の iplogging.cgi で発見されたコマンド インジェクションの脆弱性popup_iconから保護する Snort ルールを開発するとしましょう。

PCAP ファイルを作成してルールをテストするには、次の 2 つの異なる方法があります。

  1. 脆弱性の発見された製品を入手し、トラフィックをキャプチャしながらエクスプロイト コードを実行する
  2. ダミー サーバを実行し、トラフィックをキャプチャしながらエクスプロイト コードを実行する

しかし、いずれの方法も多くの時間とリソースが必要です。そこで登場した Re2Pcap は、Snort ルールの開発時間を短縮します。

先述した Sierra Wireless 社製品の場合、PCAP ファイルの作成に Re2Pcap がどのように役立つか見てみましょう。Talos のアドバイザリには、この脆弱性をエクスプロイトするための RAW HTTP POST リクエストが記載されています。これは以下のようになります。

POST/admin/tools/iplogging.cgi HTTP/1.1

Host: 192.168.13.31:9191 

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0Accept: text/plain, */*; q=0.01 

Accept-Language: en-US,en;q=0.5 

Accept-Encoding: gzip, deflate 

Referer: http://192.168.13.31:9191/admin/tools/iplogging.html 

Content-Type: application/x-www-form-urlencoded; charset=UTF-8 

X-Requested-With: XMLHttpRequest 

Content-Length: 63 

Cookie: token=1e9c07e135a15e40b3290c320245ca9a 

Connection: close 

tcpdumpParams=tcpdump -z reboot -G 2 -i eth0&stateRequest=start

この RAW HTTP 要求を取得し、Re2Pcap の Web インターフェイスにフィードすることで、PCAP ファイルを数秒で生成できます。

Re2Pcap の使用方法を示す短いビデオもご覧ください。

Re2Pcap は Python3 リクエスト ライブラリを使用して、解析された RAW HTTP 要求を送信するため、HTTP メソッド(GET、POST、HEAD、DELETE、OPTIONS、PATCH、PUT)に対応しています。RAW 要求の処理には Python3 http.server.BaseHTTPRequestHandler を使用しています。Re2Pcap を実稼働環境では使用していないため、https サーバを使用しないリスクは無視できます。このプロジェクトの詳細については、GitHub のページpopup_iconをご覧ください。

 

本稿は 2019年7月30日に Talos Grouppopup_icon のブログに投稿された「New Re2PCAP tool speeds up PCAP process for Snort rulespopup_icon」の抄訳です。

Tags:
コメントを書く