一、数据分析
访问答题网页,网页中显示了一张图片,图片名为hackkey.png
:
还有一段文字:
话说,攻防,到底是先有攻还是先有防,到底有没有绝对的安全与绝对的不安全,仁者见仁智者见智,这不,杀软开始欺负一些工具流,但牛牛都不怕,他们总是有办法,道高一尺魔高一丈,你知道他们怎么过杀软的吗?找到key,你就明白了……………
查看网页源码,发现有一段html注释:
1 | <!-- <center><img src="src/2328266727 .png"></img></center>!--> |
访问注释里的图片,可以看到一张二维码图片:
扫码后发现是一个网址:http://mp.weixin.qq.com/s?\_\_biz=MjM5Njc3NjM4MA==&mid=200689499&idx=2&sn=76a5cb177facf0ca76dfcc2db7e135cf#rdRGB
。
访问网址后可以看到一篇文章:《【牛技术】恶意软件采用密写 把代码隐藏在图片中》,文章里有这么一段文字:
“潜伏”主要任务是一个下载器,用来下载后续的恶意代码,用来搭建一个进行点击欺诈的僵尸网络。“潜伏“的DLL资源区域带有一个BMP位图。而“潜伏”把恶意代码的URL放在了每个像素的颜色字节的最低位上。
所以可以猜测,key很有可能就藏在hackkey.png
的像素颜色值的最低位上。
二、手动解密
可以用Python来获取图片的所有颜色值,并把所有颜色值的最低位提取出来。
1 | #coding:utf-8 |
执行结果为:
1 | 010110000110010000100100011001010100001101000000001100100110111100110001001101000000000000000000000000000000000000000000000...... |
可见,开头有几十个颜色位隐藏了一些信息,后面的都是0说明没数据。 再将二进制数据转成字符串:
1 | #coding:utf-8 |
执行结果为:
1 | key : Xd$eC@2o14 |
三、自动解密
如果觉得代码比较麻烦的话,也可以使用图片隐写解码神器StegSolve
来找出图片中隐藏的信息,下载地址为:http://www.caesum.com/handbook/Stegsolve.jar
用终端执行java -jar Stegsolve.jar
运行StegSolve
,点击File按钮载入图片,然后点击Analyse – Data Exreact,出现以下界面。
在Bit Planes
里勾上Blue
的第0位,再点击Preview按钮,就可以看到蓝色最低位组合成的字符: