
Dismemberは、Linux用のコマンドラインツールキットで、すべてのプロセス(または特定のプロセス)のメモリをスキャンして、一般的な秘密情報やカスタム正規表現などを検出するために使用できます。
最終的には完全な /proc ツールキットになる予定です。

grep コマンドを使用すると、すべての(アクセス可能な)プロセスの全メモリに対して正規表現のマッチングを行うことができます。これは、メモリ内の機密データを見つけたり、メモリに含まれる情報からプロセスを特定したり、プロセスのメモリを調査して興味深い情報を得るために使用できます。
scan コマンドには多くの組み込みパターンが含まれており、実質的にマシンのメモリに対する秘密情報スキャナーとして機能します。
Dismemberはアクセス権を持つすべてのプロセスのメモリを検索できるため、rootとして実行するのが最も効果的です。
プロセス一覧の表示、プロセスの状態や関連情報の調査、プロセスツリーの描画などのコマンドも含まれています...
| Command | Description |
|---|---|
grep | 指定された文字列または正規表現でプロセスメモリを検索 |
scan | 事前定義された秘密情報パターンのセットでプロセスメモリを検索 |
最新リリース からバイナリを取得し、PATHに追加してください。
# search memory owned by process 1234
dismember grep -p 1234 'the password is .*'
# search memory owned by processes named "nginx" for a login form submission
dismember grep -n nginx 'username=liamg&password=.*'
# find a github api token across all processes
dismember grep 'gh[pousr]_[0-9a-zA-Z]{36}'
# search all accessible memory for common secrets
dismember scan
この情報はすべて
/procにあるだけではないのですか?
だいたいそうです。Dismemberはほとんどそれを読み取って表示しているだけです。
grep whatever /proc/[pid]/blahで済むなら、それでやってください! ある夜眠れず、遅くまでprocのマニュアルページを読んでいたという教育的な経験から作りました(私は非常にロックな生活を送っています)。既存のツールの代替ではなく、補完できるかもしれません。
これらのコマンドのいくつかが文脈を無視するとどれほど恐ろしく見えるか、あなたは知っていますか?
Yes.
| Command | Description |
|---|
files | プロセスがアクセスしているファイルの一覧を表示 |
find | プロセス名からPIDを検索。複数一致する場合は最初のものを返します。 |
info | プロセスの情報を表示 |
kernel | カーネルの情報を表示 |
kill | SIGKILLを使用してプロセスを強制終了 |
list | システム上で現在利用可能なすべてのプロセスを一覧表示 |
resume | SIGCONTを使用して一時停止中のプロセスを再開 |
suspend | SIGSTOPを使用してプロセスを一時停止(一時停止解除には 'dismember resume' を使用) |
tree | プロセスとその子プロセスのツリー図を表示(デフォルトはPID 1) |