专栏首页小白安全小白博客 CryKeX:Linux内存加密密钥提取工具

小白博客 CryKeX:Linux内存加密密钥提取工具

CryKeX特性

1. 跨平台 2. 简单实用 3. 交互性强 4. 兼容性/可移植性强 5. 应用程序独立 6. 进程封装/注入

依赖条件

1. Unix-理论上说,该工具可在任何基于Unix的操作系统平台上正常工作。 2. BASH-支持所有脚本的运行。 3. Root权限(可选项)

限制条件

1. 仅支持AES和RSA密钥 2. 目前对Firefox浏览器的支持暂不完美 3. 不支持磁盘加密(LUKS)以及PGP/GPG 4. 需要适当的用户权限以及内存授权

工作机制

基本上说,该工具会寻找某些类似密钥的数据,并通过分析其内存架构(C数据类型)来判断目标数据(密钥)的有效性。在此之前,我们也对DRAM的加密密钥安全问题进行了讨论,感兴趣的同学可以阅读下面给出的文章。【参考文献一】【 参考文献二

CryKeX可以导出目标进程的实时内存数据,然后从中寻找出可能存在的密钥信息,整个过程中内存映射并不会发生改变。工具脚本不仅能够向正在运行的进程中注入命令,而且还可以封装新的进程(通过单独启动进程后再进行注入来实现)。这样一来,该工具几乎就可以从目标系统中的任意进程/代码中提取密钥了。

当然了,系统内核会对内存访问等行为进行限制,这也就意味着你在进行操作的过程中需要一定的高级权限。

Linux磁盘加密(LUKS)使用了反取证技术来缓解这类安全问题,但是我们仍然有可能从一段完整的内存中提取出密钥。

Firefox浏览器使用了一些类似的内存管理机制,因此当前版本的CryKeX可能无法从Firefox浏览器中提取出密钥数据。除此之外,对于PGP/GPG也是一样的(不适用)。

如何使用

安装依赖:

sudoapt install gdb aeskeyfind rsakeyfind || echo 'have you heard about sourcecompiling?'

针对openSSL AES密钥的交互示例:

opensslaes-128-ecb -nosalt -out testAES.enc

输入一个密码两次,然后在命令终止运行之前输入一些文本:

CryKeX.shopenssl

最后,按下组合键Ctrl+D三次来检查结果

OpenSSLRSA密钥的交互示例:

opensslgenrsa -des3 -out testRSA.pem 2048

提示输入密码:

CryKeX.shopenssl

验证:

opensslrsa -noout -text -in testRSA.pem

从SSH中提取密钥:

echo'Ciphers aes256-gcm@openssh.com' >> /etc/ssh/sshd_config

ssh user@server

CryKeX.shssh

从OpenV**中提取密钥:

echo'cipher AES-256-CBC' >> /etc/openV**/server.conf

openV**yourConf.oV**

sudo CryKeX.sh openV**

TrueCrypt/VeraCrypt也同样会受到影响:选择VeraCrypt中的“veracrypt”文件,使用密码“pass”进行加载,然后运行下列命令:

sudo CryKeX.sh veracrypt

基于Chromium的浏览器(多谢Google…):

CryKeX.shchromium CryKeX.shgoogle-chrome

虽然我们的工具不适用于Firefox,但Tor浏览器Bundle可能会受到影响(由于其隧道机制):

CryKeX.shtor

除此之外,你还可以使用下列命令封装进程:

aptinstall libssl-dev gcc-lcrypto cipher.c -o cipher CryKeX.shcipher        wrap        cipher

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • emlog插件挂载点使用和自定义名称方法

    对于初学的emlog插件开发者来说,插件挂载点定义真是一个麻烦事!官方的插件定义不是很详细。所以小白给大家提供点思路。     其实挂载点主要就是两个函数...

    奶糖味的代言
  • 渗透测试SHELL语句参考

    SQL注入一句话: select '<? php eval($_POST[xiaobai]);?>' into outfile 'd:/wwwroot/1....

    奶糖味的代言
  • 渗透测试单行化工具One-Lin3r

    One-Lin3r One-Lin3r是一款简单的轻量级框架,而该工具的灵感来自于Metasploit的web-delivery模块。该工具提供...

    奶糖味的代言
  • 企点3.1 | 电话客服六大功能新鲜解锁!快来体验吧

    ? 本次企点客服-电话客服3.1版本 共计更新/优化了六大功能点 快来看看新功能在哪里/怎么用! 1.满意度调查优化 | 2.路由分配规则新增按坐席技能分分...

    腾讯企点
  • 快手自研kQUIC:千万级QPS集群是如何实现的?

    近日,快手自研高性能服务器 kQUIC 已全面上线,集群峰值 QPS 突破千万。kQUIC 是快手结合自身业务特点,自研打造的支持 QUIC/HTTP/HTTP...

    深度学习与Python
  • MXNet设计笔记之:深度学习的编程模式比较

    用户1737318
  • 应用实战:从Redis到Aerospike,我们踩了这些坑

           个推专注为开发者们提供消息推送服务多年。通过个推SDK,手机终端与服务器建立长连接,维持在线状态。然而在网络异常等情况下,消息无法实时送达到终端用...

    个推君
  • IOS 操作控件

    UIControl的属性和方法: alignment content state enabled selected highlighted con...

    用户5760343
  • 数字证书的存储和安全性

    数字证书的产生、分发和存储 首先,让我们来回顾一下数字证书产生和分发的简要过程。一个网上用户怎样才能得到一张数字证书呢? ? CA将证书分发给用户的途径有多种...

    安智客
  • 豌豆荚的老团队,做了一款「反头条」的内容类小程序

    知晓君

扫码关注云+社区

领取腾讯云代金券