CryKeX:Linux内存加密密钥提取工具

转载 2018年01月04日 00:00:00

0?wx_fmt=gif&wxfrom=5&wx_lazy=1


今天给大家介绍的是一款名叫CryKeX的工具,大家可以使用该工具从任何基于Unix操作系统的运行内存中提取出加密密钥。

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

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


从OpenVPN中提取密钥:


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

openvpnyourConf.ovpn

sudo CryKeX.sh openvpn


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


sudo CryKeX.sh veracrypt

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


CryKeX.shchromiumCryKeX.shgoogle-chrome


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


CryKeX.shtor

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


aptinstall libssl-devgcc-lcrypto cipher.c -o cipherCryKeX.shcipher       wrap       cipher


注意事项

欢迎大家对本程序进行测试,也欢迎有能力的同学贡献自己的代码。

文章出处:FreeBuf

你会喜欢


【原创】傻蛋搜索引擎IP提取工具

NTDS.dit密码提取工具


640?wx_fmt=jpeg

Linux 内核内存检测工具 - Kmemcheck

Linux 内核内存检测工具 - Kmemcheck
  • kakaka2011
  • kakaka2011
  • 2015年03月17日 19:50
  • 641

Linux驱动开发常用调试工具---之内存读写工具devmem

Linux驱动开发常用调试工具—之内存读写工具devmem摘要: 在Linux开发中着实用到的调试工具并不是很多。devmem的方式是提供给驱动开发人员,在应用层能够侦测内存地址中的数据变化,以此来检...
  • xj178926426
  • xj178926426
  • 2017年12月11日 14:42
  • 167

Linux内存压力测试-memtester工具

http://my.oschina.net/guol/blog/59993  最近要测试一台机器的整体性能情况,就在google搜索一番,发现这个一个小工具,说是可以进行内存的压力测试,Me...
  • beckdon
  • beckdon
  • 2013年10月11日 11:07
  • 2910

linux内存检查工具交叉编译

前段时间,arm下业务软件莫名其妙的挂死,然而挂死时间和时机均属于不确定因素,测试发现挂死几率并不高,有时一天两天都不会出现,有时半小时、一小时就挂死,晕死,经过排查和现象推断极有可能是内存访问或操作...
  • dinkysummydinky
  • dinkysummydinky
  • 2013年04月06日 17:07
  • 1958

DUMA (Detect Unitended Memory Access) 介绍

### DUMA 介绍 ### DUMA是一个开源的库,用来检测C/C++程序中缓冲区是否溢出。这个库是由Buce Perens 写的Electric Fence库的一个字库,另外添加了一些功能。 它...
  • liuchangyu23
  • liuchangyu23
  • 2009年08月11日 12:52
  • 1690

游戏资源提取常用工具索引

常用工具: 1、3D Ripper DX:DX模型截取器,原名3D Ripper 2、GameAssassin:屏幕模型截取 3、sculptris-alpha:导出OBJ 4、Susie:支...
  • pizi0475
  • pizi0475
  • 2017年03月15日 19:23
  • 3461

Linux内存查看工具---Smem

物理内存不足对Linux桌面系统和服务器系统的性能影响都很大。当你的计算机变慢时,要做的第一件事就是释放内存。尤其是在多用户环境以及执行关键任务的服务器环境下,内存消耗会变得更加关键,因为多个用户和应...
  • T146lLa128XX0x
  • T146lLa128XX0x
  • 2017年12月11日 00:00
  • 144

Linux中的常用内存有关问题检测工具

转载 http://www.myexception.cn/linux-unix/1951914.html Linux中的常用内存问题检测工具 原文地址:http://blog.csdn.n...
  • yanjiahe
  • yanjiahe
  • 2015年11月03日 17:49
  • 335

Linux下性能分析工具和内存泄露检测工具的简介(Valgrind和gprof)

valgrind通常用来成分析程序性能及程序中的内存泄露错误一 Valgrind工具集简绍Valgrind包含下列工具:1、memcheck:检查程序中的内存问题,如泄漏、越界、非法指针等。2、cal...
  • u014717036
  • u014717036
  • 2016年02月29日 09:33
  • 1398

通用型游戏资源提取工具介绍收藏

游戏资源包括了游戏的图片、文字、音乐、动画和其他数据资源。虽然很多游戏的资源都是开放的或者采用通用格式压缩的,但也不少游戏是经特殊格式打包过了,要想得到这些资源可以寻找专用的资源提取工具。但并非所有游...
  • blizmax6
  • blizmax6
  • 2013年04月08日 00:52
  • 4381
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CryKeX:Linux内存加密密钥提取工具
举报原因:
原因补充:

(最多只允许输入30个字)