在CTF取证这块相当大一部分都是隐写术,包括声音、图像以及一些电磁分析的文件等,和流量分析。
今天分享的这道题目很容易“误入歧途“,往隐写术入坑,而事实上是流量分析的技术。流量分析里面又是最少见(好吧~我之前没见过)的一种自定义的私有协议的分析,分析过程中对协议栈的实现源码需要有一定了解,还考察了信息搜集能力,比较综合的一道题,所以特地写出来一起学习。
题目给的是一个压缩文件,来自HITCON2018
解压后得到两个文件,图片长这样
还有个pklg文件,可以使用wireshark打开
pcap显示蓝牙流量,wiresharkprotocol一列识别出了HCI_EVT、RFCOMM等协议。都没听说过,咋整啊
最开始解压拿到图片的时候,按照隐写术的办法分析,stego,binawalk,foremost,dd等上了,什么都没找到,现在再次回过头来,看到了”lego”,emmm,乐高积木,不像提示,EV3?去搜索引擎查一下
第一条就很符合题意~再加上关键词wireshark试试
第一条是github上的一个工具~赛棍的多年经验告诉我们,这可能是用于帮助wireshark解析某些私有协议用的一个工具。看人家的描述果然如此
按照说明,通过命令行相应加载解析器,然后使用wireshark打开之前的数据包
此时再用ev3进行过滤
EV3的报文如下
在EV3Message展开后有好几个Parameter,这些参数代表什么意思呢?由于这是一个私有协议,没有公开的文档,我们需要去实现它的源码里去找定义
还记得第一次搜索引擎找到的mindstorm吗,在源码(https://github.com/mindboards/ev3sources)里我们找到
现在我们知道了第二个参数是x坐标,第三个是y坐标,第四个是我们的字符。那么我们就可以一条条地根据这个跟着解析信息了,刀耕火种太慢,直接上脚本吧。在此之前需要把数据导出为json格式
关键片段,按照参数定义进行解析(将数据包中的固定偏移解析为x,y,字符等)
运行即得到flag了
CTF取证之隐写术与流量分析、wireshark的使用及协议分析、Python实现隐写算法
wireshark数据包分析:
http://www.hetianlab.com/expc.do?ec=7874fcdc-6573-4fc8-ba1d-63b824055294(了解如何利用wireshark进行数据分析)
CTF-Stegano练习之隐写9:
http://www.hetianlab.com/expc.do?ce=30ef4378-83fc-4498-8bba-b7998507ff54(了解wireshark分析网络流量的基本方法)
Python实现LSB隐写算法:
http://www.hetianlab.com/expc.do?ec=ECID270b-abbe-4705-a8b5-df7b361e190d(了解如何运用Python编写脚本将隐藏的信息提取出来)
想获取更多精彩内容请扫码关注我们的公众号哦~❤
原创文章,转载请注明出处!