原文地址: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. 如何保护各行业的文件机密安全

    现阶段,各类型行业的业务规模庞大.研发制造中心众多,产品技术资料数以万千,部门间的协助以及与供应商的合作频繁,需要较强的文档管控以及防御信息泄露风险的能力. 不同行业的信息安全需求 : 1.企业重要文 ...

  2. Facebook陷入史上最大危机:近7000页机密文件泄露!

      新智元报道   来源:综合theverge.arstechnica等 编辑:肖琴 [新智元导读]Facebook正在面临前所未有的危机:近7000页内部机密文件被泄露,曝光了Facebook如何将 ...

  3. 教你如何保存机密文件(将压缩包保存为一张图片)

    前言 此方案用需要保护的文档,不被其它人直接发现.其原理就是在图片的结尾处,增加zip的文件.因为图片解析会在前面的数据,所以最终的文件显示为一张图片的样式,而修改后缀后又可以变成zip压缩包被解压. ...

  4. Facebook机密文件外泄或将终结这家社交媒体巨头

    近来,<华尔街日报>爆料,称科技巨头Facebook公司大量内部机密文件外泄.泄密资料显示,Face book是一家市值数万亿美元的"双面"公司,其应用程序破坏了民主, ...

  5. 美国国防部机密文件销毁算法

    美国国防部机密文件销毁算法 当我们在系统里"删除"了一个文件时,并不意味着这个文件就一定从磁盘上清除了,很多优秀的文件恢复软件都可以恢复被删除的文件,这在一定程度上就带来了隐私泄露 ...

  6. 保护个人隐私视频文件加密方法两小招

    保护个人隐私视频文件加密方法两小招 前段时间网络上沸沸扬扬的艳照门事件,让那些平日里光鲜照人的大明星在老百姓心中的形象一落千丈,这里面就涉及到很多个人隐私文件如何保密的问题,自己存在电脑你的视频文件如 ...

  7. 2022春秋杯-被带走的机密文件

    Misc-被带走的机密文件 正经取证题,没有任何套娃成分,请师傅们放心食用.(附件较大.) 题目给了一个E01镜像 使用取证大师(也有不使用的方法,并且并不是完全依靠取证大师)打开自动取证先简单进行信 ...

  8. 【阿里聚安全·安全周刊】阿里双11技术十二讲直播预约|AWS S3配置错误曝光NSA陆军机密文件

    原文链接:点击打开链接 摘要: 关键词:阿里双11技术十二讲直播丨雪人计划丨亚马逊AWS S3配置错误丨2018威胁预测丨MacOS漏洞丨智能风控平台MTEE3丨黑客窃取<权利的游戏>剧本 ...

  9. 【阿里聚安全·安全周刊】阿里双11技术十二讲直播预约|AWS S3配置错误曝光NSA陆军机密文件...

    关键词:阿里双11技术十二讲直播丨雪人计划丨亚马逊AWS S3配置错误丨2018威胁预测丨MacOS漏洞丨智能风控平台MTEE3丨黑客窃取<权利的游戏>剧本|Android 8.1   本 ...

最新文章

  1. android 6.0 logcat机制(二)logcat从logd中获取log保存到文件中
  2. 一条nginx命令引发的对于容器的思考
  3. 过滤JSON中的特殊字符
  4. wpf中groupbox有什么用_展示设计中的标摊是什么 用的什么材料
  5. SpringBoot2.0 基础案例(07):集成Druid连接池,配置监控界面
  6. 【转载】什么时候该选C语言实现业务逻辑,什么时候该选Python?
  7. JavaScript——模块化的历史进程梳理
  8. java调用短信接口使用实例
  9. c事件和委托的区别_web前端教程分享JavaScript学习笔记之Event事件二
  10. 计算机视觉方面书籍推荐
  11. 烽火软件测试的笔试难不难,烽火科技笔试经验
  12. 微信公众号网页开发测试环境搭建
  13. 向量设计丨导师简介丨客户案例丨商业活动丨跨界合作
  14. 2019年nodejs凉了吗?凉到什么程度了?
  15. c语言 统计数量用count_C语言中count是什么意思?
  16. mysql 分区 线性hash_MySQL表分区(3)哈希分区-hash
  17. MLY翻译 -- 2.How to use this book to help your team?
  18. 一文讲解,Linux内核——Memory Barrier(内存屏障)
  19. SQL Server2000配远程连接配置
  20. apk转换为html,我可以将.apk文件转换为html5吗?

热门文章

  1. 【matplotlib】如何进行颜色设置选择cmap
  2. 数字孪生产品方案规划
  3. JS防抖,节流,定时器清理
  4. 三维cad应用工程师算计算机能力吗,三维CAD高级应用工程师的含金量有多少?
  5. 虚拟机软件(VMware)的下载与安装
  6. 酒店用品批发拓客的10个经典方法
  7. 合肥市noi计算机竞赛,2012年蜀山区青少年信息学(计算机)竞赛通知
  8. mysql存储过程Case not found for CASE statement处理
  9. idea使用jdk17时MyBatisPlus报module java.base does not “opens java.lang.reflect“ to unnamed module
  10. TypeError: __init__() missing 1 required positional argument: 'on_delete' 解决办法