Misc
reco_luan
Misc
WriteUp
vulcrack
题源:2020-网鼎杯-玄武组-Misc-vulcrack
描述:小路无意中发现了一个有意思的APK,听说这个APK存在着令人着迷的漏洞,聪明的你能利用该APK的漏洞获取到flag吗?
- 压缩包解压得到vulcrack.apk。
- jadx打开寻找线索,发现"qihoo"和"libjiagu"特征,猜测已经加固。
- 查壳看下,确认为360加固;用看雪葫芦娃的脱壳脚本处理APP。
https://github.com/hluwa/FRIDA-DEXDump
- 首先进入/data/local/tmp开启Hluda服务端。
- 然后进入/data/data查看需要Hook的应用包名:ctf.crack.vulcrack。
- 运行FRIDA-DEXDump脚本,得到dex文件。
frida-dexdump -FU ctf.crack.vulcrack -o D:\Tools\Android\Frida\frida-dexdump\dump
- 再次使用jadx打开处理得到的dex文件,成功看到脱壳后的关键代码。
- 在IDEA中运行关键代码,即可得到flag{414A6E12-B42E-48D3-95CE-A9FF9D2F1D49}。
ransom
题源:2020-网鼎杯-玄武组-Misc-ransom
描述:某客户中了勒索病毒,应急人员取出了日志以及加密文件,怎么追踪溯源定位攻击者呢?
- 下载附件解压后如下:
- event.evt是题目中提到的日志文件,第2个是被加密后的文件,第3个则是一个exe程序。
- 根据提示需要输入上一次RDP成功登陆的ip、date和user,按时间排序查找线索。
- 使用rdp.exe验证成功获得flag{c54a7cb7-80e0-48e6-8251-bdf9dd71af0a}。
sudo
题源:2020-网鼎杯-玄武组-Misc-sudo
描述:在某次应急中获取到一个病毒样本,需要分析样本,利用数学的知识得到答案。
key
题源:2020-网鼎杯-朱雀组-Misc-key
描述:无
- 使用JohnTheRippe对压缩文件解密,密码为123。
zip2john key_123.zip > hash
john hash
- 将匙.png通过tweakpng修改图片height=width,得到隐写信息。 tweakpng下载地址
http://entropymine.com/jason/tweakpng/
差分曼彻斯特解码处理得到16进制字符串0x13616b7572615f4c6f76655f53747261776265727279L。
# -*- coding:utf-8 -*-
enc = "295965569a596696995a9aa969996a6a9a669965656969996959669566a5655699669aa5656966a566a56656"
s = ""
for c in enc:
s += "{:04b}".format(int(c,16))
s = s[2:]
r = ""
for i in range(len(s)//2):
a = s[i*2]
if a == s[i*2-1]:
r += '1'
else:
r += '0'
print (hex(int(r,2)))
16进制解码得到.akura_Love_Strawberry,通过信息搜集得到完整结果Sakura_Love_Strawberry。
- 使用foremost分离出锁.png中的压缩包。
foremost 锁.png
- 解压密码即为Sakura_Love_Strawberry,得到flag{061056cc-980c-4214-b163-230e5cd5c78e}。
九宫格
题源:2020-网鼎杯-朱雀组-Misc-九宫格
描述:在九宫格内把1-9数字填入,使其横加竖加斜加均得15,将对角线的数字排列组合从小到大的顺序为本题的重要信息。
- 解压题目压缩包,得到576个二维码,使用脚本批量处理。
# -*- coding:utf-8 -*-
import zxing
import os
filepath = r"D:\QRcode"
l = os.listdir(filepath)
l.sort(key=lambda x:int(x[:-4]))
t = ''
for i in l:
reader = zxing.BarCodeReader()
barcode = reader.decode(filepath+"\\"+i)
print(barcode.parsed)
if(barcode.parsed == 'zero'):
t = t + '0'
else:
t = t + '1'
print(t)
处理后得到01字符串
010101010011001001000110011100110110010001000111010101100110101101011000001100010011100101101010010101000110100001111000010101110111000101001011011011010101100101010100010110100101000000110001010110000011010001000001011001100111010101000110010010100010111100110111010001100110110001110001010010010100011000110001010010110100100001010001010101000101001000110101010100110011011000110011011110100100111101101011011110010110111101011000001100110011011001101110010110100110110001100001010011110111000100110100010110000011010001101011011011000111011101010010011101110111000101100001
- 继续使用脚本将字符串每8个一组转为ASCII码。
r = """010101010011001001000110011100110110010001000111010101100110101101011000001100010011100101101010010101000110100001111000010101110111000101001011011011010101100101010100010110100101000000110001010110000011010001000001011001100111010101000110010010100010111100110111010001100110110001110001010010010100011000110001010010110100100001010001010101000101001000110101010100110011011000110011011110100100111101101011011110010110111101011000001100110011011001101110010110100110110001100001010011110111000100110100010110000011010001101011011011000111011101010010011101110111000101100001"""
a = r[0:576]
x = ''
for i in range(72):
x += chr(int(a[8*i:8*(i+1)],base=2))
print(x)
处理后得到加密字符串,U2FsdGVkX1开头是Rabbit加密。
U2FsdGVkX19jThxWqKmYTZP1X4AfuFJ/7FlqIF1KHQTR5S63zOkyoX36nZlaOq4X4klwRwqa
https://www.sojson.com/encrypt_rabbit.html
根据提示得到解密密钥245568,Rabbit在线解密后即可得到flag{2c4fdc156fe74836954a05058c5d0382}。
hack
题源:2020-网鼎杯-白虎组-Misc-hack
描述:张三偶然发现了一个带密码的压缩包,感觉是个黑客的工具包。但他没有爆破成功密码,你能帮助他解开密码吗?
- 下载题目压缩包,解压需要密码。观察压缩包,其中有sqlmap-1.4、0day.zip、xor三个文件,猜测使用明文攻击获取密码。
- 在github上获取sqlmap-1.4源码压缩包
- 使用ARCHPR4.54装载加密压缩包和sqlmap-1.4源码压缩包进行明文攻击,成功获得压缩包密码。
Zx9$jn3!
- 使用多字节异或加密破解工具xortool爆破xor文件。 下载xortool。
https://github.com/raddyfiy/xortool-for-Windows
爆破得到密钥WDCTF。
- 对原文件进行异或,此处自定义输出为flag.txt,但打开文件后未直接获得flag,而是得到密码qw91!25fzd$@!。
key = 'WDCTF'
flag = ''
with open('xor') as f:
con = f.read()
for i in range(len(con)):
flag += chr(ord(con[i]) ^ ord(key[i%5]))
f = open('flag.txt', 'w')
f.write(flag)
f.close()
- 使用密码解压0day.zip得到base32字符串。
MZWGCZ33MY2DMODBGU2DCLJTGJSWKLJUMQZTOLLCHAZDKLJQMI4GCMRQGU2TQNJSGN6Q====
- 使用CaptfEncoder解码得到flag{f468a541-32ee-4d37-b825-0b8a20558523}。
hidden
题源:2020-网鼎杯-白虎组-Misc-hidden
描述:张三有一个特别的图片,你能发现其中隐藏的秘密吗?
- 下载题目压缩包,解压得到1张图片,使用binwalk观察该图片,发现其中包含1个压缩包。
binwalk -e 23.jpg
- 使用foremost分离出该压缩包,尝试解压发现需要密码。
foremost 23.jpg
- 使用JohnTheRippe对压缩文件解密,密码为1235。
zip2john 00000148.zip > hash
john hash
- 得到半张二维码,通过tweakpng修改图片height=width,得到完整二维码。
- 使用二维码识别工具处理即可获得flag{04255185-de22-4ac6-a1ae-da4f187ddb8c}。
https://github.com/hackgsl/QR-code