teppay’s log

技術ブログです。

Cowrieのuserdb.txtの書き方

はじめに

  • タイトルの通り、Cowrieのuserdb.txtの書き方を調べたので、覚え書き的なもの
  • みればわかるやんって方はスルーで笑

わかったこと

フォーマット

まず、userdb.txtは、1行で1ユーザを表しており、1行は2つの':'(コロン)で区切られています。
1行の内容としては

<ユーザ名>:<uid>:<password>

です。
つまり、userdb.txtの中身が

root:0:passwd
admin:0:admin

である場合、

  • root/passwd
  • admin/admin

の2つの組み合わせのみが認証を通過して、シェルを触ることができるということです。
ここまではファイルの中身を見ればだいたいわかります。

passwordの書き方

ただし、パスワードはそのまま書く以外に2つ方法があります。

まずはそのまま
root:0:passwd

このように書くと、uidが0で、パスワードは'passwd'の'root'というユーザが出来ます。

ワイルドカード
root:0:*

このようにパスワード部分を'*'とすると、ワイルドカードとなり、どのようなパスワードでも認証に成功させる事ができます。
つまりあるユーザ名でアクセスしてくる人をパスワードにかかわらずログインさせ、行動を観察することが出来ます。

特定のパスワード拒否
root:0:!passwd

このように書いた場合、rootというユーザに'passwd'というパスワードでログインしようとした場合拒否する。という設定となっています。
ただし、この行の前に同じユーザ名でワイルドカードの行があった場合、ログインに成功してしまうため、特定のパスワードのみ拒否したい場合は、かならずワイルドカードよりも前の行に書く必要があります。

まとめ

  • 覚え書きでした。