解除记忆
Dismember是一个用于Linux的命令行工具包,可以用来扫描所有进程(或特定的进程)的内存,以获取共同的秘密和自定义的正则表达式,以及其他东西。
它最终将成为一个完整的/proc 工具包。
使用grep 命令,它可以在所有(可访问)进程的所有内存中匹配一个正则表达式。这可以用来寻找内存中的敏感数据,通过内存中包含的东西来识别一个进程,或者审问一个进程的内存以获取有趣的信息。
通过scan 命令,有许多内置的模式,它有效地作为一个秘密的扫描器,针对你机器上的内存。
Dismember可以用来搜索它可以访问的所有进程的内存,所以以root身份运行它是最有效的方法。
命令还包括列出进程,探索进程状态和相关信息,绘制进程树,以及更多......
主要命令
| 命令 | 命令描述 |
|---|---|
grep | 为一个给定的字符串或重码搜索进程内存 |
scan | 为一组预定义的秘密模式搜索进程内存 |
实用命令
| 命令 | 命令说明 |
|---|---|
files | 显示一个正在被进程访问的文件的列表 |
find | 根据进程名称查找一个PID。如果有多个进程匹配,则返回第一个。 |
info | 显示一个进程的信息 |
kernel | 显示关于内核的信息 |
kill | 使用SIGKILL杀死一个进程(或多个进程)。 |
list | 列出当前系统中所有可用的进程 |
resume | 使用SIGCONT恢复一个暂停的进程 |
suspend | 使用SIGSTOP暂停一个进程(使用'dismember resume'来离开暂停)。 |
tree | 显示一个进程和所有子进程的树状图(默认为PID 1)。 |
安装
从最新的版本中抓取一个二进制文件并将其添加到你的路径中。
使用实例
在一个进程中按PID搜索一个模式
# 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 的手册(我的生活方式非常摇滚)。它不是现有工具的替代品,但也许它可以补充它们。
你知道当断章取义地阅读这些命令时,其中一些命令看起来有多可怕吗?