MISC Exercise Area

0x00 前言

Misc题是真的杂。。。。但是会有很多收获

收货:

  • linux镜像的挂载

  • strings工具的用法 和管道符|和grep的基础用法

  • 二维码拼接
  • 与佛论禅
  • base64隐写
  • stegSolve解题“套路”
  • wireshark的基础使用方法

Todo:

  • wireshark 流量分析的高级过滤方法

    0x01 this_is_flag

没错,题目里给了flag

0x02 ext3

linux的ext3镜像

先用strings看一下

strings ext3 |gerp flag
.flag.txt.swp
flag.txtt.swx
~root/Desktop/file/O7avZhikgKgbF/flag.txt
.flag.txt.swp
flag.txtt.swx
.flag.txt.swp
flag.txtt.swx

虽然没看到flag

但是应该就是在flag.txt里了

mount ext3 /mnt/
find /mnt -name "flag.txt"
./O7avZhikgKgbF/flag.txt
cat ./O7avZhikgKgbF/flag.txt
ZmxhZ3tzYWpiY2lienNrampjbmJoc2J2Y2pianN6Y3N6Ymt6an0=

base64解码一下得到flag

0x03 give_you_flag

用StegSolve检查帧

发现有一帧有缺了角的二维码

补起来扫码即可

0x04 pdf

据题目所说

图片下真的有东西。。。。。

用Adobe Acrobat 拖一下图片就行了

不知道为啥用strings没法搞,可能要学习一下pdf的编码姿势

0x05 stegano

看一下属性信息,里面有个base64编码的假flag。。。。

提示有莫斯码

Ctrl+A 全选复制到记事本以后发现有这么一串东西

BABA BBB BA BBA ABA AB B AAB ABAA AB B AA BBB BA AAA BBAABB AABA ABAA AB BBA BBBAAA ABBBB BA AAAB ABBBB AAAAA ABBBB BAAA ABAA AAABB BB AAABB AAAAA AAAAA AAAAB BBA AAABB

应该就是morse码了

0x06 simpleRAR

用Winrar 打开RAR就说文件头被破坏了

查一下RAR编码后的头文件格式

用Winhex改一下就可以了

(可以自己用PNG压缩看RAR里的PNG的头文件是怎么给的)

然后得到一个png

提示双图层用ps还打不开

file一下发现是个gif。。。。。

file secret.png
secret.png: GIF image data, version 89a, 280 x 280

用ps分离一下图层

结果都还是白的。。。

用StegoSolve看一下

发现各有半个二维码

还得补全定位符。。。。

(好毒瘤)

0x07 坚持60s

这是个逆向题?

用jd-gui反编译找一下flag就完了

或者也可真·坚持60s

0x08 gif

一堆黑白图

没有能表示空格的 排除莫斯码

转成01串然后再转ASCII码

看了大佬的WP

发现还可以用脚本自动找01。。。。。

from PIL import Image

suf = '.jpg'
ch = 0
for i in range(104):
    s = str(i) + suf
    im = Image.open(s,'r')
    pix = im.load()#导入像素
    #im.show() open the image
    check = pix[0,0][0]
    if check == 255:
        ch=ch*2
    if check != 255:
        ch=ch*2+1
    if (i+1) % 8 == 0:
        print (chr(ch),end='')
        ch=0
print("\n")

0x09 掀桌子

这个题。。。。

有点脑洞

长度118字幕范围在a-f

可能又是hex转ascii码

但是直接转好像不行

注意到ascii ∈(0,128)

取个模试试?

#coding=utf-8
hexstr="c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2"
flag=""
while len(hexstr):
        flag = flag+chr(int(hexstr[:2],16)%128)
        hexstr = hexstr[2:]
print (flag)

0x0A 如来十三掌

看格式是与佛论禅。。。。

http://keyfc.net/bbs/tools/tudoucode.aspx

但是还得加个佛曰:

解码得到

MzkuM3gvMUAwnzuvn3cgozMlMTuvqzAenJchMUAeqzWenzEmLJW9

看起来有点像base64,但是解码是乱码。。。

根据题目联想到rot13

ZmxhZ3tiZHNjamhia3ptbmZyZGhidmNraWpuZHNrdmJramRzYWJ9

这回base64解码不会再乱了。。。。

0x0B base64stego

打开压缩包发现加过密了

但是没有给密码提示

可能是个伪加密,果然用winrar修复一下就不用密码了。。。。

里面一堆base64,解码得到没有啥用的一段文档

题名暗示是base64隐写了

然后跑脚本。。。。

def get_base64_diff_value(s1, s2):
    base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
    res = 0
    for i in xrange(len(s1)):
        if s1[i] != s2[i]:
            return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))
    return res

def solve_stego():

    with open('stego.txt', 'rb') as f:
        file_lines = f.readlines()
    bin_str = ''
    for line in file_lines:
        steg_line = line.replace('\n', '')
        norm_line = line.replace('\n', '').decode('base64').encode('base64').replace('\n', '')
        diff = get_base64_diff_value(steg_line, norm_line)

        pads_num = steg_line.count('=')
        if diff:
            bin_str += bin(diff)[2:].zfill(pads_num * 2)

        else:
            bin_str += '0' * pads_num * 2

    res_str = ''

    for i in xrange(0, len(bin_str), 8):

        res_str += chr(int(bin_str[i:i+8], 2))
    print (res_str)

solve_stego()

0x0C Base_sixty_four_point_five

流量分析题。。。。

用wireshark自带的文件导出工具把文件都存下来

然后得到一堆的php和objects

php基本上就是一句话木马和服务器交流的过程

其中奇数序号的应该就是服务器返回的内容

在1(3).php看到有意思的东西

->|./    2017-12-08 11:38:58    0    0777
../    2017-12-08 11:39:10    4096    0777
1.php    2017-12-08 11:33:16    33    0666
flag.txt    2017-12-08 11:35:29    17    0666
hello.zip    2017-12-08 09:32:36    224    0666
|<-

我们试着找找看flag.txt和hello.zip

在1(25)中又发现多了个6666.jpg

->|./    2017-12-08 11:42:11    0    0777
../    2017-12-08 11:39:10    4096    0777
1.php    2017-12-08 11:33:16    33    0666
6666.jpg    2017-12-08 11:42:11    102226    0666
flag.txt    2017-12-08 11:35:29    17    0666
hello.zip    2017-12-08 09:32:36    224    0666
|<-

可能是用菜刀传上去的

注意到有个特别大的php

里面好像有一串奇怪的hex

果然是个jpg

但是我们要的压缩包呢。。。。。

再试试用binwalk看一下有没有其他文件

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
663085        0xA1E2D         xz compressed data
664045        0xA21ED         xz compressed data
812025        0xC63F9         xz compressed data
814001        0xC6BB1         xz compressed data
1238637       0x12E66D        xz compressed data
1240937       0x12EF69        xz compressed data
1391563       0x153BCB        xz compressed data
1393067       0x1541AB        xz compressed data
1406647       0x1576B7        xz compressed data
1412887       0x158F17        xz compressed data
1422689       0x15B561        Zip archive data, encrypted at least v2.0 to extract, compressed size: 52, uncompressed size: 40, name: flag.txt

果然有

然后用foremost分离一下

拿到zip,用jpg里的密码解密一下就行了

© Eki's CTF-notes 2019-2020 CC-by-nc-sa 4.0。 all right reserved,powered by Gitbook本网站最后修订于: 2020-09-05 12:07:36

results matching ""

    No results matching ""