天天看點

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

前言

首先感謝ctf平台和出題的大佬

其次感謝各位讀者,對我的支援( •̀ ω •́ )y 有什麼問題和建議可以私聊我

這個題是我這幾天寫WP時

發現這個題挺有意思的

沒有耐心的人還真做不下去

總共有五大層爆破

一些見解和思路分享給你們

希望你們在旅途中玩的開心,學的開心✌( •̀ ω •́ )y

目錄

前言

解題過程

第一層:outguess爆破

方法一

方法二

第二層:crc高寬爆破

第三層:MD5hash值爆破

方法One:

方法Two:

方法Three:

第四層:kali中使用fcrackziprocky字典爆破

第五層:AOPR4位數字爆破

加油各位( •̀ ω •́ )y 期待與君再相逢

解題過程

第一層:outguess爆破

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

最開始看到題目還以為是要爆破壓縮包呢

結果下載下傳附件是張圖檔這說明爆破的東西挺多呀

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

壓縮包裡是有提示的

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

八位日期的數字肯定是爆破隐寫的密碼

但是是什麼隐寫圖檔的名字是guess

是以就猜到需要用outguess這個工具

根據提示8位日期數字,應該就是解圖檔outguess解密密碼

方法一

如果你社工邏輯明确的話看這張圖檔和題目都指向炸藥(炸彈)

是以我就百度了一下炸藥的發明時間是:1831年 但沒有月份那就肯定不是

聯想到炸藥之父—諾貝爾的忌日:1896121018961210

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

正好是8位直接上outguess

outguess -k '18961210' -r guess.jpg 1.txt

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

得到1.txt

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

這是方法一

方法二

同樣我們也可以使用腳本直接爆破

提供腳本

# OGBrute.py
import os
import pandas
from datetime import datetime
 
beginDate = '18810101'     #密碼開始值
endDate = '19001231'       #密碼結束值
dic = [datetime.strftime(x, '%Y%m%d') for x in list(pandas.date_range(start =  beginDate, end = endDate))]
dic = dic[::-1]
 
for p in dic:
    out = './' + p
    cmd = 'outguess -k ' + p + ' -r guess.jpg ' + out
    os.system(cmd)
    o = open(out, 'rb').read()
    if len(o) == 0:
        os.system('rm ' + out)
           
ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

他會以的密碼進行命名

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

然後使用txt文檔打開看(這個一個一個看有點麻煩)

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

隻有這個檔案有東西

那我們繼續

打開網址(把s改成i 不了解為什麼改去看這篇文章https://blog.csdn.net/m0_68012373/article/details/129043545)

https://www.lanzoui.com/ia38dcb

第二層:crc高寬爆破

打開下載下傳附件

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

打開為1X1的png圖檔,再次根據題意和圖檔名crc.png猜測,

腳本crc值替換成圖檔的crc(包括以後使用時)

嘗試crc高寬爆破

import zlib
import struct
 
# 同時爆破寬度和高度
filename = "crc.png"
with open(filename, 'rb') as f:
    all_b = f.read()
    data = bytearray(all_b[12:29])
    n = 4095
    for w in range(n):
        width = bytearray(struct.pack('>i', w))
        for h in range(n):
            height = bytearray(struct.pack('>i', h))
            for x in range(4):
                data[x + 4] = width[x]
                data[x + 8] = height[x]
            crc32result = zlib.crc32(data)
            # 此處crc值替換成圖檔的crc
            if crc32result == 0xD3D5B18:  # 聽說你喜歡爆破crc值
 
                print("寬為:", end='')
                print(width, end=' ')
                print(int.from_bytes(width, byteorder='big'))
                print("高為:", end='')
                print(height, end=' ')
 
                print(int.from_bytes(height, byteorder='big'))
           

運作得到圖檔的真實高度

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

直接在010裡該高寬就行

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

儲存

第三層:MD5hash值爆破

發現圖檔底下有東西

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

md5('https://www.lanzous.com/???',16) = 'fd7e8e47cd47f001'

再再次根據題意和圖檔底部提示猜測,嘗試MD5hash值爆破

那MD5hash值爆破方法可多了

方法One:

Windows中的hashcat進行掩碼爆破 然後十六進制轉ascii字元

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢
ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

方法Two:

kali中使用自帶hashcat進行爆破 然後十六進制轉ascii字元

hashcat -a 3 -m5100 fd7e8e47cd47f001 https://www.lanzous.com/i?1?1?1?1?1?1 -1 ?l?d

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

方法Three:

python3腳本hash值掩碼爆破

(腳本的功能就是hash值掩碼爆破 然後十六進制轉ascii字元 )

import hashlib

import string

s = string.ascii_lowercase + string.digits

for i in s:
    for j in s:
        for k in s:
            for l in s:
                for m in s:
                    for n in s:
                        url = "https://www.lanzous.com/i" + i + j + k + l + m + n
                        if hashlib.md5((url).encode()).hexdigest()[8:-8] == 'fd7e8e47cd47f001':
                            print(url)
                            exit(0)
           
ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

得到連結:https://www.lanzous.com/ia35tmj(記得将lanzous改為lanzoui)

(不了解為什麼去看這篇文章https://blog.csdn.net/m0_68012373/article/details/129043545)

第四層:kali中使用fcrackziprocky字典爆破

得到附件但需要密碼壓縮包有提示

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

請開始你的表演

在not++裡粘貼 可以看到一段由.和-組成的編碼

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

最開始還以為是摩斯密碼後來發現不是

由點和杠組成,分别替換為0和1,然後二進制轉字元

二進制01110010011011110110001101101011011110010110111101110101

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

得到rockyou

才開始以為是密碼結果不是

不得不說作者真

既然rockyou不是密碼 那就是提示

由rocky聯想到kali自帶的rocky爆破字典

kali中使用fcrackzip對Blasting it.zip進行字典爆破

fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u Blasting\ it.zip

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

得到密碼

darkdumymohamed0351409575

下載下傳得到

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

第五層:AOPR4位數字爆破

打開結果被加密了沒點耐心的人真做不下去

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

由檔案名使用AOPR爆破4位數字得到密碼

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

得到密碼:6765,打開得到flag

ctfshow-misc-聽說你喜歡爆破(詳解 腳本 思路 全)前言目錄解題過程加油各位( •̀ ω •́ )y 期待與君再相逢

得到flag

flag{y0u_4re_4_geniu5}

加油各位( •̀ ω •́ )y 期待與君再相逢