Misc

reco_luan

Misc

WriteUp

vulcrack

题源:2020-网鼎杯-玄武组-Misc-vulcrack

描述:小路无意中发现了一个有意思的APK,听说这个APK存在着令人着迷的漏洞,聪明的你能利用该APK的漏洞获取到flag吗?

  • 压缩包解压得到vulcrack.apk。 vulcrack.apkimage.png}
  • jadx打开寻找线索,发现"qihoo"和"libjiagu"特征,猜测已经加固。 vulcrack.suibiankankan.png
  • 查壳看下,确认为360加固;用看雪葫芦娃的脱壳脚本处理APP。 vulcrack.jiagu.png
https://github.com/hluwa/FRIDA-DEXDump
  • 首先进入/data/local/tmp开启Hluda服务端。 vulcrack.hluda.png
  • 然后进入/data/data查看需要Hook的应用包名:ctf.crack.vulcrack。 vulcrack.package.png
  • 运行FRIDA-DEXDump脚本,得到dex文件。
 frida-dexdump -FU ctf.crack.vulcrack -o D:\Tools\Android\Frida\frida-dexdump\dump

vulcrack.dexdump.png

  • 再次使用jadx打开处理得到的dex文件,成功看到脱壳后的关键代码。 vulcrack.tuoke.png
  • 在IDEA中运行关键代码,即可得到flag{414A6E12-B42E-48D3-95CE-A9FF9D2F1D49}。 vulcrack.flag.png

ransom

题源:2020-网鼎杯-玄武组-Misc-ransom

描述:某客户中了勒索病毒,应急人员取出了日志以及加密文件,怎么追踪溯源定位攻击者呢?

  • 下载附件解压后如下: ransom1
  • event.evt是题目中提到的日志文件,第2个是被加密后的文件,第3个则是一个exe程序。 ransom2
  • 根据提示需要输入上一次RDP成功登陆的ip、date和user,按时间排序查找线索。 ransom3
  • 使用rdp.exe验证成功获得flag{c54a7cb7-80e0-48e6-8251-bdf9dd71af0a}。 ransom4

sudo

题源:2020-网鼎杯-玄武组-Misc-sudo

描述:在某次应急中获取到一个病毒样本,需要分析样本,利用数学的知识得到答案。

key

题源:2020-网鼎杯-朱雀组-Misc-key

描述:无

  • 使用JohnTheRippe对压缩文件解密,密码为123。
zip2john key_123.zip > hash
john hash

zip2john

  • 将匙.png通过tweakpng修改图片height=width,得到隐写信息。 tweakpng下载地址
http://entropymine.com/jason/tweakpng/

tweakpnghint 差分曼彻斯特解码处理得到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三个文件,猜测使用明文攻击获取密码。 zipcheck
  • 在github上获取sqlmap-1.4源码压缩包 smsc
  • 使用ARCHPR4.54装载加密压缩包和sqlmap-1.4源码压缩包进行明文攻击,成功获得压缩包密码。
Zx9$jn3!

mingwenat

  • 使用多字节异或加密破解工具xortool爆破xor文件。 下载xortool。
https://github.com/raddyfiy/xortool-for-Windows

爆破得到密钥WDCTF。 xortool

  • 对原文件进行异或,此处自定义输出为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()

xor

  • 使用密码解压0day.zip得到base32字符串。
MZWGCZ33MY2DMODBGU2DCLJTGJSWKLJUMQZTOLLCHAZDKLJQMI4GCMRQGU2TQNJSGN6Q====
  • 使用CaptfEncoder解码得到flag{f468a541-32ee-4d37-b825-0b8a20558523}。 base32

hidden

题源:2020-网鼎杯-白虎组-Misc-hidden

描述:张三有一个特别的图片,你能发现其中隐藏的秘密吗?

  • 下载题目压缩包,解压得到1张图片,使用binwalk观察该图片,发现其中包含1个压缩包。
binwalk -e 23.jpg

bk1

  • 使用foremost分离出该压缩包,尝试解压发现需要密码。
foremost 23.jpg

fmt1

  • 使用JohnTheRippe对压缩文件解密,密码为1235。
zip2john 00000148.zip > hash
john hash

zpjn1

  • 得到半张二维码,通过tweakpng修改图片height=width,得到完整二维码。 yx
  • 使用二维码识别工具处理即可获得flag{04255185-de22-4ac6-a1ae-da4f187ddb8c}。
https://github.com/hackgsl/QR-code

flag