隐写术——计算机中数据隐藏的艺术

本贴最后更新于 1045 天前,其中的信息可能已经沧海桑田

dog.png

当你看到上面这张图片时,你认为这是一张普通不过的图片。你使用肉眼读出了图片本身的信息,但诚然,它还隐藏着你看不到的信息。

将该图片使用 StegSolve 打开,将红绿蓝任一通道调整至 0 时,惊奇的一幕出现了,图片左上方多了一个二维码。

202208221403.gif

使用微信或其他扫码工具查看得到了如下内容。

image.png

其实该图片是通过将原图像素值的 n 个最低有效位替换为与二维码图片像素值相同数量的最高有效位所得到的。该方法也称为 LSB 隐写(最低有效位隐写),该兴趣的朋友可以自行科普这方面的具体知识。


当你听到上面这段音频时,你认为这只是一段普通不过的曲子。仅凭耳朵你只能听到声音表面的信息,其实它的信息远不止这些。

将该音频拖入 SilentEye 中,使用 Decode 尝试解码,我们得到了一串由 1、0 和\组成的字符串。

image.png

显然这串字符串还有更深层的含义。正当你没了头绪的时候,突然想到了可以用“—”代表 1,“.”代表 0,这样就组成了一串 摩斯电码

转换之如下所示:

---.-.--.-.----/---..-.--....-./--..--....-----/--..---...-----/-.-.--.--.--.--/-..----.--...../--....---....-./---.--.-....-..

此时使用在线摩斯电码转换器或其他工具,你惊奇地还原出了一句地球人都懂的暗语。

image.png

上述隐藏数据的方法原理类似于图片的 LSB 隐写。当然,音频还能通过波形来隐藏数据,但或许听着会有些刺耳。音频 + 摩斯码的组合也曾被用于谍战中。


info.zip

当你打开上面的这个压缩包时,你变得比先前更为谨慎,虽然其中只有一个文档,但你却仔细观察文档的每一个角落,生怕会错过任何重要的信息。

image.png

文中只有一行字,但你 Ctrl+A 全选文档后,似乎在中间选中了什么,恭喜你发现了信息之外的信息,这是一行隐藏的文字。

image.png

通过打开 Word 选项并勾选“隐藏文字”后,方可查看到被隐藏的信息。

image.png

image.png

但这真的就结束了吗?

显然没有这么简单,问题并不出在这个文档上,而是蕴藏在这个压缩包上。

image.png

将其拖进 winhex 查看其十六进制,可以看到底部有一部分数据较其他数据完全不同,它十分的工整有序。

image.png

这里不卖关子了,其实这是一串通过 Base64 加密的字符串,通过在线的解密软件即可获得最终的信息。

image.png

上述数据隐藏的方法是通过将两个文件合并到达的,你也可以通过文件分离工具将其分离。


本文只是浅显的讲述了隐写术的奥秘,除了上面所提到的数据隐写的方法,还有数不胜数的方法。

如果你也和博主一样对隐写术感兴趣的话,推荐学习和阅读书籍 《数据隐藏技术揭秘》,如果你想进一步学习隐写术,你可以通过练习 CTF 杂项,解出难题后你一定会惊呼玄妙。

文章编写与素材制作不易,忘转载时附上文章来源,谢谢!

  • 隐写术
    1 引用
  • 安全

    安全永远都不是一个小问题。

    199 引用 • 818 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    198 引用 • 543 回帖
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    229 引用 • 476 回帖
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    108 引用 • 153 回帖
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 111 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    497 引用 • 934 回帖
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 661 关注
  • Follow
    4 引用 • 12 回帖 • 3 关注
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 655 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    43 引用 • 44 回帖
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 1 关注
  • gRpc
    11 引用 • 9 回帖 • 100 关注
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 197 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 765 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 736 关注
  • OneDrive
    2 引用 • 6 关注
  • CongSec

    本标签主要用于分享网络空间安全专业的学习笔记

    1 引用 • 1 回帖 • 37 关注
  • 一些有用的避坑指南。

    69 引用 • 93 回帖
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    32 引用 • 108 回帖 • 4 关注
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    98 引用 • 903 回帖
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    201 引用 • 120 回帖 • 1 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    20 引用 • 37 回帖 • 578 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 70 关注
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 507 关注
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖 • 3 关注
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖 • 9 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    118 引用 • 54 回帖 • 3 关注