如何使用隐写术保护你的机密文件
原文地址:https://lujun9972.github.io/blog/2020/04/26/如何使用隐写术保护你的机密文件/index.html
目录
- 解决方案一:使用Steghide命令
- 安装
- 解决方案
- 解决方案二:使用outguess命令
- 安装
- 解决方案
为了防止泄密,我们一般会对机密文件进行加密。然而加密的文件本身就容易引起人们的好奇心,如果密码不够强健还容易被暴力破解调。 如果能让人根本注意不到机密文件的存在,岂不美哉?隐写术就是让你将机密文件嵌入一个普通文件中,从而不会引起他人注意的一种技术。
解决方案一:使用Steghide命令
涉及到的命令: steghide
本部分以archlinux系统为例
安装
在archlinux上运行下面命令进行安装:
sudo pacman -S steghide --noconfirm
解决方案
steghide能帮你将文件隐写入图片或音频文件中,目前它支持WAV,JPEG,AU,BMP等多种格式。
使用steghide进行隐写非常简单,只需使用 embed
子命令就行了。像这样:
steghide embed -ef 机密文件 -cf 内嵌文件
比如,假设我有一个 /tmp/secret
文件,我要把它隐写入 ~/Pictures/wallpaper/1.jpg
中,那么我可以这样操作
echo "The Secret word is fox" >/tmp/secret steghide embed -ef /tmp/secret -cf ~/Pictures/wallpaper/1.jpg
执行 steghide
命令后,它会要求你连续输入两次加密机密文件的密码,当你从内嵌文件中分离机密文件时就需要输入该密码了。
当然,要是你觉得麻烦,也可以直接按两次回车。
lujun9972:~/ $ steghide embed -ef /tmp/secret -cf ~/Pictures/wallpaper/1.jpg Enter passphrase: Re-Enter passphrase: embedding "/tmp/secret" in "/home/lujun9972/Pictures/wallpaper/1.jpg"... done
这样隐写就完成了。不过这里需要注意的是,隐写不会删掉你原始的机密文件,因此你需要手工删除机密文件:
rm /tmp/secret
当我们需要抽取出机密文件时,只需要使用 extract
子命令即可,语法如下:
steghide extract -sf 内嵌文件
比如我们来尝试还原刚才被删除的 secret
文件:
steghide extract -sf ~/Pictures/wallpaper/1.jpg
然后输入隐写时设置的密码后就能看到在 当前目录下 生成了机密文件 secrete
了
lujun9972:~/ $ steghide extract -sf ~/Pictures/wallpaper/1.jpg Enter passphrase: wrote extracted data to "secret". lujun9972:~/ $ cat secret The Secret word is fox
解决方案二:使用outguess命令
涉及到的命令: outguess
本部分以archlinux系统为例
安装
outguess在AUR仓库中,在archlinux上运行下面命令进行安装:
yaourt -S outguess
解决方案
使用outguess进行隐写一般要用到它的 -d
和 -k
选项。其中 -d
执行机密文件的路径, -k
指定加密的密码,当然你也可以忽略 -k
选项不设置密码。
outguess -d 机密文件 图片文件 内嵌文件 #或者 outguess -k "密码" -d 机密文件 图片文件 内嵌文件
outguess就会将机密文件隐写如图片文件中, 并生成新的内嵌文件
比如,我要把 /tmp/secret
文件隐写入 ~/Pictures/wallpaper/purple-wallpaper6.jpg
中,那么可以这样操作
outguess -k "fox" -d /tmp/secret ~/Pictures/wallpaper/purple-wallpaper6.jpg /tmp/secret.jpg
相比 steghide
来说,=outguess= 的好处是不会要求你手工输入密码,这样便于放在脚本中使用。
当我们需要抽取出机密文件时,则使用 -r
选项,语法如下:
outguess -r 内嵌文件 机密文件 #或 outguess -k "密码" -r 内嵌文件 机密文件
比如我们可以使用下面迷你够了还原 secret
文件:
outguess -k "fox" -r /tmp/secret.jpg secret
如何使用隐写术保护你的机密文件相关推荐
- 如何保护各行业的文件机密安全
现阶段,各类型行业的业务规模庞大.研发制造中心众多,产品技术资料数以万千,部门间的协助以及与供应商的合作频繁,需要较强的文档管控以及防御信息泄露风险的能力. 不同行业的信息安全需求 : 1.企业重要文 ...
- Facebook陷入史上最大危机:近7000页机密文件泄露!
新智元报道 来源:综合theverge.arstechnica等 编辑:肖琴 [新智元导读]Facebook正在面临前所未有的危机:近7000页内部机密文件被泄露,曝光了Facebook如何将 ...
- 教你如何保存机密文件(将压缩包保存为一张图片)
前言 此方案用需要保护的文档,不被其它人直接发现.其原理就是在图片的结尾处,增加zip的文件.因为图片解析会在前面的数据,所以最终的文件显示为一张图片的样式,而修改后缀后又可以变成zip压缩包被解压. ...
- Facebook机密文件外泄或将终结这家社交媒体巨头
近来,<华尔街日报>爆料,称科技巨头Facebook公司大量内部机密文件外泄.泄密资料显示,Face book是一家市值数万亿美元的"双面"公司,其应用程序破坏了民主, ...
- 美国国防部机密文件销毁算法
美国国防部机密文件销毁算法 当我们在系统里"删除"了一个文件时,并不意味着这个文件就一定从磁盘上清除了,很多优秀的文件恢复软件都可以恢复被删除的文件,这在一定程度上就带来了隐私泄露 ...
- 保护个人隐私视频文件加密方法两小招
保护个人隐私视频文件加密方法两小招 前段时间网络上沸沸扬扬的艳照门事件,让那些平日里光鲜照人的大明星在老百姓心中的形象一落千丈,这里面就涉及到很多个人隐私文件如何保密的问题,自己存在电脑你的视频文件如 ...
- 2022春秋杯-被带走的机密文件
Misc-被带走的机密文件 正经取证题,没有任何套娃成分,请师傅们放心食用.(附件较大.) 题目给了一个E01镜像 使用取证大师(也有不使用的方法,并且并不是完全依靠取证大师)打开自动取证先简单进行信 ...
- 【阿里聚安全·安全周刊】阿里双11技术十二讲直播预约|AWS S3配置错误曝光NSA陆军机密文件
原文链接:点击打开链接 摘要: 关键词:阿里双11技术十二讲直播丨雪人计划丨亚马逊AWS S3配置错误丨2018威胁预测丨MacOS漏洞丨智能风控平台MTEE3丨黑客窃取<权利的游戏>剧本 ...
- 【阿里聚安全·安全周刊】阿里双11技术十二讲直播预约|AWS S3配置错误曝光NSA陆军机密文件...
关键词:阿里双11技术十二讲直播丨雪人计划丨亚马逊AWS S3配置错误丨2018威胁预测丨MacOS漏洞丨智能风控平台MTEE3丨黑客窃取<权利的游戏>剧本|Android 8.1 本 ...
最新文章
- android 6.0 logcat机制(二)logcat从logd中获取log保存到文件中
- 一条nginx命令引发的对于容器的思考
- 过滤JSON中的特殊字符
- wpf中groupbox有什么用_展示设计中的标摊是什么 用的什么材料
- SpringBoot2.0 基础案例(07):集成Druid连接池,配置监控界面
- 【转载】什么时候该选C语言实现业务逻辑,什么时候该选Python?
- JavaScript——模块化的历史进程梳理
- java调用短信接口使用实例
- c事件和委托的区别_web前端教程分享JavaScript学习笔记之Event事件二
- 计算机视觉方面书籍推荐
- 烽火软件测试的笔试难不难,烽火科技笔试经验
- 微信公众号网页开发测试环境搭建
- 向量设计丨导师简介丨客户案例丨商业活动丨跨界合作
- 2019年nodejs凉了吗?凉到什么程度了?
- c语言 统计数量用count_C语言中count是什么意思?
- mysql 分区 线性hash_MySQL表分区(3)哈希分区-hash
- MLY翻译 -- 2.How to use this book to help your team?
- 一文讲解,Linux内核——Memory Barrier(内存屏障)
- SQL Server2000配远程连接配置
- apk转换为html,我可以将.apk文件转换为html5吗?
热门文章
- 【matplotlib】如何进行颜色设置选择cmap
- 数字孪生产品方案规划
- JS防抖,节流,定时器清理
- 三维cad应用工程师算计算机能力吗,三维CAD高级应用工程师的含金量有多少?
- 虚拟机软件(VMware)的下载与安装
- 酒店用品批发拓客的10个经典方法
- 合肥市noi计算机竞赛,2012年蜀山区青少年信息学(计算机)竞赛通知
- mysql存储过程Case not found for CASE statement处理
- idea使用jdk17时MyBatisPlus报module java.base does not “opens java.lang.reflect“ to unnamed module
- TypeError: __init__() missing 1 required positional argument: 'on_delete' 解决办法