honeypot
WoWHoneypot

WOWHoneypotの追加設定(2)

Drupalgeddon3(CVE-2018-7602)の御訪問を最後までご案内する方法を考えた。
もっといい方法があると思うけど、みなさんどうやってるんですかね。

PoCの確認

色々なサイトでPoCが公開されているけど、有名なexploit-dbから検証コードを確認します。

本当はDrupalを動かして、検証コードを使って通信内容を確認するのが良いでしょうが、今回は低燃費で頑張ります。
検証コードを確認すると、通信は3段階に分かれているみたいです。

1.対象サーバの特定パスにアクセスし、レスポンスのソースコードに含まれるform_tokenの値を取得する。

2.form_tokenの値を使って、ペイロードを流し込み、ソースコードに含まれるform_build_idの値を取得する。

3.form_build_idの値を使って、実行結果を取得しに行く。

WOWHoneypotの設定

1.と2.にはどちらとも「node/」と「/delete」が含まれているので、これをトリガーにします。
正規表現が使えたら1行で済みそうですが、書けるんですかね。
「PoCの確認」で得た情報から、最低限以下を返すdrupal_delete.txtをart配下に作成します。

drupal_delete.txt
<input type="hidden" name="form_build_id" value="form-Tn-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" />
<input type="hidden" name="form_token" value="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"  />

最後にmrrules_local.xmlに検知トリガー等を記載する。

mrrules_local.xml
  <mrr>
    <meta>
      <mrrid>30016</mrrid>
      <enable>True</enable>
      <note>Drupal delete</note>
    </meta>
    <trigger>
   <uri>node/</uri>
      <uri>/delete</uri>
    </trigger>
    <response>
      <status>200</status>
      <body filename="drupal_delete.txt"></body>
    </response>
  </mrr>

最後に

本脆弱性はコンテンツの削除権限がないと成功しないみたいなので、5/2現在、deleteを含んだアクセスはほとんどありません。
お勉強ということで作ってみました。