用于Linux的命令行工具包—Dismember

321 阅读3分钟

解除记忆

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 的手册(我的生活方式非常摇滚)。它不是现有工具的替代品,但也许它可以补充它们。

你知道当断章取义地阅读这些命令时,其中一些命令看起来有多可怕吗?

是的