[MISC]


EN-US

This challenge provides a jpg file and a pklg file. The jpg is shown a part of string on LEGO EV3 device. Length of the string, I guess, might be 58. EV3 is supported USB or Bluetooth connection. Bluetooth connection is hinted in the pklg file opened with Wireshark. Transmission is wored between two RFCOMM protocol entities. There are two types in all RFCOMM packages. Much attention should be focused on "Sent", while the "Rcvd" packages are botrh same like each other.

There are three different length of packages: 32, 33, 34. After analysising, I notice three key position, shown below (I called them in turn as: Order in group, Group number, Data):

if length == 32:

      Order in group        0x81  Group number  0x84  Data

if length == 33:

0x81  Order in group        0x81  Group number  0x84  Data

if length == 34:

0x82  Order in group  0x00  0x81  Group number  0x84  Data

Sort them by Group number at first. If equal, sorted by Order in group

h,b0017 2711 0a 28 68
i,b0017 2711 14 28 69
t,b0017 2711 1e 28 74
c,c0018 2912 28 28 63
o,c0018 2912 32 28 6f
n,c0018 2912 3c 28 6e
{,c0018 2912 46 28 7b
m,c0018 2912 50 28 6d
1,c0018 2912 5a 28 31
n,c0018 2912 64 28 6e
d,c0018 2912 6e 28 64
5,c0018 2912 78 28 35
t,d0019 2b13 82 28 74
0,d0019 2b13 8c 28 30
r,d0019 2b13 96 28 72
m,d0019 2b13 a0 28 6d _,b0017 2711 0a 36 5f
c,b0017 2711 14 36 63
o,b0017 2711 1e 36 6f
m,c0018 2912 28 36 6d
m,c0018 2912 32 36 6d
u,c0018 2912 3c 36 75
n,c0018 2912 46 36 6e
i,c0018 2912 50 36 69
c,c0018 2912 5a 36 63
a,c0018 2912 64 36 61
t,c0018 2912 6e 36 74
i,c0018 2912 78 36 69
o,d0019 2b13 82 36 6f
n,d0019 2b13 8c 36 6e
_,d0019 2b13 96 36 5f
a,d0019 2b13 a0 36 61 n,b0017 2711 0a 44 6e
d,b0017 2711 14 44 64
_,b0017 2711 1e 44 5f
f,c0018 2912 28 44 66
i,c0018 2912 32 44 69
r,c0018 2912 3c 44 72
m,c0018 2912 46 44 6d
w,c0018 2912 50 44 77
a,c0018 2912 5a 44 61
r,c0018 2912 64 44 72
e,c0018 2912 6e 44 65
_,c0018 2912 78 44 5f
d,d0019 2b13 82 44 64
e,d0019 2b13 8c 44 65
v,d0019 2b13 96 44 76
e,d0019 2b13 a0 44 65 l,b0017 2711 0a 52 6c
o,b0017 2711 14 52 6f
p,b0017 2711 1e 52 70
e,c0018 2912 28 52 65
r,c0018 2912 32 52 72
_,c0018 2912 3c 52 5f
k,c0018 2912 46 52 6b
i,c0018 2912 50 52 69
t,c0018 2912 5a 52 74
},c0018 2912 64 52 7d

ZH-CN

题目给了一个图片和一个流量包。

图片给了一个乐高LEGO EV3设备。屏幕上有"hitcon{"开头的字样,中间有单独字符和间隔,看来是关键是要找字符了。顺带根据间隔的位置,大致数出来每行可能有16个字符,最后一行是10个字符,一共是58个。查了一下这个设备,支持USB、蓝牙等方式连接,然后再流量包里也看到被wireshark识别出来的HCI和RFCOMM。数量最多的那种包可能只是一个调试器日志。其他信息,可以看到出题人是用mac下的python连接的,不过这没什么用。

简单介绍一下这几个协议的关系。

所以基本确定了数据在RFCOMM协议中。基本为两种包,一种是发送,另一个是接受确认。接受确认基本都一样,很短,辨识度很高,所以不会有信息。就剩下sent发送包。然后就找到了"{"和"}",信息在send里,基本就坐实了。

send分为三种长度,分别是32,33,34。

三种数据包的如下

圈出来三者的含义我姑且定义为分别表示了组内序号,组号,字符:

变化的部分有价值的主要是组内序号的部分

32的:直接是组内讯号

33的:组内序号前加了0x81

34的:组内序号前加了0x82,序号后加了0x00

摘出来数据后排序即可。至此解出。下附结果

h,b0017 2711 0a 28 68
i,b0017 2711 14 28 69
t,b0017 2711 1e 28 74
c,c0018 2912 28 28 63
o,c0018 2912 32 28 6f
n,c0018 2912 3c 28 6e
{,c0018 2912 46 28 7b
m,c0018 2912 50 28 6d
1,c0018 2912 5a 28 31
n,c0018 2912 64 28 6e
d,c0018 2912 6e 28 64
5,c0018 2912 78 28 35
t,d0019 2b13 82 28 74
0,d0019 2b13 8c 28 30
r,d0019 2b13 96 28 72
m,d0019 2b13 a0 28 6d _,b0017 2711 0a 36 5f
c,b0017 2711 14 36 63
o,b0017 2711 1e 36 6f
m,c0018 2912 28 36 6d
m,c0018 2912 32 36 6d
u,c0018 2912 3c 36 75
n,c0018 2912 46 36 6e
i,c0018 2912 50 36 69
c,c0018 2912 5a 36 63
a,c0018 2912 64 36 61
t,c0018 2912 6e 36 74
i,c0018 2912 78 36 69
o,d0019 2b13 82 36 6f
n,d0019 2b13 8c 36 6e
_,d0019 2b13 96 36 5f
a,d0019 2b13 a0 36 61 n,b0017 2711 0a 44 6e
d,b0017 2711 14 44 64
_,b0017 2711 1e 44 5f
f,c0018 2912 28 44 66
i,c0018 2912 32 44 69
r,c0018 2912 3c 44 72
m,c0018 2912 46 44 6d
w,c0018 2912 50 44 77
a,c0018 2912 5a 44 61
r,c0018 2912 64 44 72
e,c0018 2912 6e 44 65
_,c0018 2912 78 44 5f
d,d0019 2b13 82 44 64
e,d0019 2b13 8c 44 65
v,d0019 2b13 96 44 76
e,d0019 2b13 a0 44 65 l,b0017 2711 0a 52 6c
o,b0017 2711 14 52 6f
p,b0017 2711 1e 52 70
e,c0018 2912 28 52 65
r,c0018 2912 32 52 72
_,c0018 2912 3c 52 5f
k,c0018 2912 46 52 6b
i,c0018 2912 50 52 69
t,c0018 2912 5a 52 74
},c0018 2912 64 52 7d

ev3_basic——HITCON CTF 2018的更多相关文章

  1. X-MAS CTF 2018 - Crypto - Hanukkah

    参考链接 https://ctftime.org/task/7321 https://github.com/VoidHack/write-ups/tree/master/X-MAS%20CTF%202 ...

  2. Hitcon 2016 Pwn赛题学习

    PS:这是我很久以前写的,大概是去年刚结束Hitcon2016时写的.写完之后就丢在硬盘里没管了,最近翻出来才想起来写过这个,索性发出来 0x0 前言 Hitcon个人感觉是高质量的比赛,相比国内的C ...

  3. CTF各种资源:题目、工具、资料

    目录 题目汇总 Reverse 签到题 Web Web中等难度 Crypto 基础网站 各类工具 综合 Web Payloads 逆向 Pwn 取证 题目汇总 这里收集了我做过的CTF题目 Rever ...

  4. 萌新带你开车上p站(番外篇)

    本文由“合天智汇”公众号首发,作者:萌新 前言 这道题目应该是pwnable.kr上Toddler's Bottle最难的题目了,涉及到相对比较难的堆利用的问题,所以拿出来分析. 登录 看看源程序 程 ...

  5. ctf-HITCON-2016-houseoforange学习

    目录 堆溢出点 利用步骤 创建第一个house,修改top_chunk的size 创建第二个house,触发sysmalloc中的_int_free 创建第三个house,泄露libc和heap的地址 ...

  6. 【攻防世界】open-source

    难度系数: 3.0 题目来源: Pediy CTF 2018 题目描述:菜鸡发现Flag似乎并不一定是明文比较的 先用:PE查壳,发现没有

  7. 攻防世界 reverse 新手练习区

    1.re1 DUTCTF IDA shift+F12 查看字符串 DUTCTF{We1c0met0DUTCTF} 2.game ZSCTF zsctf{T9is_tOpic_1s_v5ry_int7r ...

  8. CTF 湖湘杯 2018 WriteUp (部分)

    湖湘杯 2018 WriteUp (部分),欢迎转载,转载请注明出处! 1.  CodeCheck(WEB) 测试admin ‘ or ‘1’=’1’# ,php报错.点击登录框下面的滚动通知,URL ...

  9. 2018 巅峰极客CTF misc writeup

    flows 拿到一个pcap包,用wireshark打开,发现是USB协议,尝试在kali下使用tshark提取,提取失败,发现异常.回到wireshark分析数据.在其中一个数据包中发现了tip 把 ...

随机推荐

  1. 跨域 - jsonp轻松搞定跨域请求

    1.jsonp轻松搞定跨域请求 vue中使用axios,遇到跨域我就蒙逼了.第一次真正意义上的尝试使用jsonp js中用 var myscript = document.createElement( ...

  2. Android 1.6 PackageManagerService源码分析

    文件清单 framework\base\services\core\java\com\android\server\pm\PackageManagerService.java PackageManag ...

  3. [原]git的使用(一)---建立本地仓库、add和commit、status和git diff、版本回退使用git reset

    在window下已经安装了git的环境 1.建立本地仓库 mkdir   test     #建立test目录 cd   test        #进入目录 git  init           # ...

  4. linux常用命令大全2--挂载/dpkg/文件系统分析/apt/光盘/关机

    挂载一个文件系统 mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在 umount /dev/hda2 卸载一个叫做hda2 ...

  5. php-config

    php-config php-config 是一个简单的命令行脚本用于获取所安装的 PHP 配置的信息. 在编译扩展时,如果安装有多个 PHP 版本,可以在配置时用 --with-php-config ...

  6. linux netcat命令使用技巧

    netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据.通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它.使用netcat命令所能完成的事情令人惊讶. netcat所做的 ...

  7. php5.4 traits

    PHP 5.4中的traits,是新引入的特性,中文还真不知道如何准确翻译好.其实际的目的,是为了有的场合想用多继承,但PHP又没多继承,于是就发明了这样的一个东西.       Traits可以理解 ...

  8. C语言位操作--判断整数的符号

    关于衡量计算操作的方法: 当为算法统计操作的数量的时候,所有的C运算符被认为是一样的操作.中间过程不被写入随机存储器(RAM)而不被计算,当然,这种操作数的计算方法,只是作为那些接近机器指令和CPU运 ...

  9. iOS - Charles抓包数据

    一.Charles Charles破解版下载地址点我 1.1 Charles主要的功能 .截取Http.Https网络请求内容 .支持修改网络请求参数,方便调试 .支持网络请求的截取 并动态修改 1. ...

  10. MPU6050滤波、姿态融合(一阶互补、卡尔曼)

    前几天做了6050原始数据的串口输出和上位机波形的查看.这篇博客我们来看一下对原始数据的处理. 任务:利用STC89C52RC对MPU6050原始数据进行滤波与姿态融合. 首先我摘抄了一段别人在昨晚这 ...