赛题概览
Nuit du Hack CTF Qualifications: Here, kitty kitty!
环境
- Windows
考察点
- WAV音频文件隐写术
- Python基础
- 密码学
工具
题目描述
I just can’t get enough of this sweet melody, I can listen to it for hours! Sometimes I even feel like it is trying to send me a message ..
翻译:
我听这段音乐根本停不下来,我已经听了几个小时!有时候我觉得它再给我传递一个信息
Writeup
使用像Audacity这样的音频处理软件打开文件,然后可以在音道的最上边看到一些特殊的:
看起来是一个摩斯电码,短线代表
.
,长线代表
-
,最后摩斯电码翻译如下:
.... -... -.-. ----. ..--- ..... -.... ....- ----. -.-. -... ----- .---- ---.. ---.. --.- ..... ..--- . -.... .---- --... -.. --... ----- ----. ..--- ----. .---- ----. .---- -.-.
摩斯电码解码得到:
HBC925649CB0188Q52E617D70929191C
md5解密得到valar dohaeris
试了不对,又试了md5值的小写,通过了
flag:`5bc925649cb0188f52e617d70929191c`
总结
Python摩斯电码解密
摩斯电码解密可以使用诸多在线网站,当然也可以用Python进行解密:
Python
# -*- coding:utf-8 -*-
s = input("input the cipher_text Enclose with quotes:")
codebook = {
'A':".-",
'B':"-...",
'C':"-.-.",
'D':"-..",
'E':".",
'F':"..-.",
'G':"--.",
'H':"....",
'I':"..",
'J':".---",
'K':"-.-",
'L':".-..",
'M':"--",
'N':"-.",
'O':"---",
'P':".--.",
'Q':"--.-",
'R':".-.",
'S':"...",
'T':"-",
'U':"..-",
'V':".--",
'W':".--",
'X':"-..-",
'Y':"-.--",
'Z':"--..",
'1':".----",
'2':"..---",
'3':"...---",
'4':"....-",
'5':".....",
'6':"-....",
'7':"--...",
'8':"---..",
'9':"----.",
'0':"-----",
'.':".━.━.━",
'?':"..--..",
'!':"-.-.--",
'(':"-.--.",
'@':".--.-.",
':':"---...",
'=':"-...-",
'-':"-....-",
')':"-.--.-",
'+':".-.-.",
',':"--..--",
'\'':".----.",
'_':"..--.-",
'$':"...-..-",
';':"-.-.-.",
'/':"-..-.",
'\"':".-..-.",
}
clear = ""
cipher = ""
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
while 1:
ss = s.split(" ");
for c in ss:
for k in codebook.keys():
if codebook[k] == c:
cipher+=k
print(cipher)
break;
MD5在线解密网站
排名不分先后
赛题概览
Sharif University Quals CTF 2014: Hear with your Eyes
环境
- Windows
考察点
- WAV音频文件隐写术
工具
题目描述
Hear With Your Eyes
翻译:
用你的眼睛倾听
Writeup
题目描述说:用眼睛去倾听
,所以这里使用工具Audacity去打开wav文件。
切换到频谱图
去观察:
从频谱图可以直接看到flag。
总结
这种直接从频谱图中直接去读flag的信息算是比较入门的一个WAV隐写了。
赛题概览
ISCC 2017:普通的DISCO
环境
- Windows
考察点
- WAV音频文件隐写术
- 简单密码学
工具
Audacity
题目描述
普通的DISCO我们普通的摇~
附件是一个wav的音频(这里我国光对不起大家,这里我实战实在没有找到这个wav文件)
Writeup
用Audacity打开文件后,放大波形谱。
以高为
1
低为
0
,转换得到
01
字符串
110011011011001100001110011111110111010111011000010101110101010110011011101011101110110111011110011111101
一共105
位,额,不符合8
位一个字符,符合7
位,于是在每个7位之前加个0
,得到
01100110,01101100,01100001,01100111,01111011,01010111,00110000
01010111,00101010,01100110,01110101,01101110,01101110,01111001,
01111101
- 1
- 2
然后二进制
转十进制
,然后再转为 ASCII
,得到 flag
。
1100110 102
1101100 108
1100001 97
1100111 103
1111011 123
1010111 87
0110000 48
1010111 87
0101010 42
1100110 102
1110101 117
1101110 110
1101110 110
1111001 121
1111101 125
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
flag{W0Wfunny}
flag{W0Wfunny}
总结
感觉这题的难点不是从频谱中读取二进制数据。个人觉得从读书的二进制数据想到8位一组补上0前面还是比较难的,得保持数据的敏感性才可以。
赛题概览
ISCC-2016: Music Never Sleep
环境
- Windows
- Linux
考察点
- mp3音频文件隐写
工具
在压缩过程中,MP3Stego
会将信息隐藏在MP3文件中。数据首先被压缩、加密,然后隐藏在MP3比特流中。
基本介绍和用法如下:
encode -E hidden_text.txt -P pass svega.wav svega_stego.mp3
decode -X -P pass svega_stego.mp3
- 1
题目描述
国光在这里又对不住大家了,这里我又没有找到这个mp3文件,ε=ε=ε=┏(゜ロ゜;)┛
Writeup
听音频无异常猜测使用隐写软件隐藏数据,搜索mp3里面的关键字符串:
得到密码后使用
Mp3Stego
解密:
decode.exe -X ISCC2016.mp3 -P bfsiscc2016
得到文件 iscc2016.mp3.txt
,其内容是:
Flag is SkYzWEk0M1JOWlNHWTJTRktKUkdJTVpXRzVSV0U2REdHTVpHT1pZPQ== ???
base64 && base32 后得到flag
flag: IwtsqndljERbd367cbxf32gg
总结
这里考察的是mp3的音频隐写,这里的套路目前来看没有wav隐写那么多变。此外这里对base64和base32嵌套加密也得保持数据的敏感度。
赛题概览
广东省强网杯-2015: Little Apple
环境
- Windows
考察点
- mp3音频文件隐写
工具
SilentEye
是一个跨平台的应用程序设计,可以轻松地使用隐写术,在这种情况下,可以将消息隐藏到图片或声音中。它提供了一个很好的界面,并通过使用插件系统轻松集成了新的隐写算法和加密过程。
题目描述
我国光不会告诉你们,我这里又没有找到附件
Writeup
直接使用 slienteye 这个工具即可
总结
音频中的LSB
这题就是考的知识面了,不知道这个工具就GG
赛题概览
XMAN-2016 : Misc-200
环境
- Windows
- xxd
附件
工具
- Mp3Stego
- Linux xxd 命令
- Linux file 命令
Writeup
解压mp3
首先使用Mp3Stego
解密mp3文件。
D:\soft\MP3Stego_1_1_18\MP3Stego
λ Decode.exe -X C:\Users\CTF\Desktop\CTF\misc\hong_Ksfw02V.mp3
MP3StegoEncoder 1.1.17
See README file for copyright info
Input file = 'C:\Users\CTF\Desktop\CTF\misc\hong_Ksfw02V.mp3' output file = 'C:\Users\CTF\Desktop\CTF\misc\hong_Ksfw02V.mp3.pcm'
Will attempt to extract hidden information. Output: C:\Users\CTF\Desktop\CTF\misc\hong_Ksfw02V.mp3.txt
Enter a passphrase:
Confirm your passphrase:
the bit stream file C:\Users\CTF\Desktop\CTF\misc\hong_Ksfw02V.mp3 is a BINARY file
HDR: s=FFF, id=1, l=3, ep=off, br=9, sf=0, pd=1, pr=0, m=0, js=0, c=0, o=0, e=0
alg.=MPEG-1, layer=III, tot bitrate=128, sfrq=44.1
mode=stereo, sblim=32, jsbd=32, ch=2
[Frame 1265]Avg slots/frame = 417.631; b/smp = 2.90; br = 127.899 kbps
Decoding of "C:\Users\CTF\Desktop\CTF\misc\hong_Ksfw02V.mp3" is finished
The decoded PCM output file name is "C:\Users\CTF\Desktop\CTF\misc\hong_Ksfw02V.mp3.pcm"
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
得到一个txt文件内容是:
http://weibo.com/u/5280474214?from=feed&loc=avatar&is_all=1 hint:这是一个文件哦,呦呦呦,切克闹
访问得到一张二维码:
读取二维码
读取二维码得到内容为:
03F30D0AC252BA576300000000000000000100000040000000730D0000006400008400005A00006401005328020000006300000000030000000F000000430000007363000000640100640200640300640400640500640600640400640700640800640300640400640900640300640900640A00670F007D0000640B007D0100781E007C0000445D16007D02007C01007400007C0200830100377D0100714000577C0100474864000053280C0000004E697A00000069680000006969000000695F0000006966000000697500000069730000006961000000696E0000006967000000740000000028010000007403000000636872280300000074030000007374727404000000666C6167740100000069280000000028000000007304000000622E70795203000000010000007326000000000103010301030103010301030103010301030103010301030103010301090106010D0114024E280100000052030000002800000000280000000028000000007304000000622E707974080000003C6D6F64756C653E010000007300000000
二进制进制转换
将二进制内容保存文件为gg
,然后用xxd
命令生成一个hex文件:
用file命令查看下是一个python 2.7
的编译文件,手动改为hex.pyc
然后在线反编译一下文件得到源码:
Py
#!/usr/bin/env python
# encoding: utf-8
- 1
- 2
def flag():
str = [
122,
104,
105,
95,
102,
117,
95,
115,
97,
105,
95,
110,
105,
110,
103]
flag = ‘’
for i in str:
flag += chr(i)
print flag</code></pre></div>
- 1
代码最后加上flag()
调用flag函数输出flag:
写在最后
目前还有几道国外的音频题目没有完善,这里日后会慢慢完善的。
转自:https://www.sqlsec.com/2018/01/ctfwav.html
作者:国光
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论