CTFcrackTools-V3 - 一款旨在幫助 CTFer 在 CTF 中發揮作用的一個框架


CTFcrackTools-V3

CTFcrackTools重置版

作者:米斯特安全-林晨、搖擺、奶權

米斯特安全團隊首頁:http://www.hi-ourlife.com/

部分插件來源:希望團隊-nMask

框架介紹

這大概是國內首個應用於CTF的工具框架。

可以被應用於CTF中的Crypto,Misc...

內置目前主流密碼(包括但不限於維吉利亞密碼,凱撒密碼,柵欄密碼······)

用戶可自主編寫插件,但僅支持Python編寫插件。編寫方法也極為簡單。

該項目一直在增強,這一次的重置只保留了部分核心代碼,而將UI及優化代碼重構,使這個框架支持更多功能。

項目地址:https://github.com/0Chencc/CTFCrackTools

插件編寫

#-*- coding:utf-8 -*-
'''
{
  title:程序標題
  type:程序類型
  author:作者昵稱
  dialog:變量
  detail:插件詳情
}
'''
def main(a):
    return a

現在來具體講下這些插件的用法,具體應該將下框架的調用方法。

編碼類型當然是utf-8啦

Type:Crypto是一個硬性要求,因為我目前只寫了Crypto的類,我打算在后期加上壓縮包,圖片的分類出來,慢慢完善。

main的方法中,至少有一個變量,至多有四個變量。

除了第一個變量以外的,都應該在Dialog后標明。

Example:我們團隊的奶權寫了一個維基利亞密碼的插件

#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
{
Title:VigenereDecrypto
Author:naiquan
Type:crypto
Dialog:key
Detail:維吉利亞密碼解碼
}
'''
def vigenereDecrypto(ciphertext,key):
    ascii='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    keylen=len(key)
    ctlen=len(ciphertext)
    plaintext = ''
    i = 0
    while i < ctlen:
        j = i % keylen
        k = ascii.index(key[j])
        m = ascii.index(ciphertext)         if m < k:             m += 26         plaintext += ascii[m-k]         i += 1     return plaintext def main(ciphertext,key):     return vigenereDecrypto(ciphertext.replace(" ","").upper(),key.replace(" ","").upper())

這樣寫的話,框架就可以自行讀取插件信息,然后會彈一個窗口請輸入key。而ciphertext則是直接傳入。

如圖:mark

mark

mark

def vigenereDecrypto(ciphertext,key)

ciphertext即是輸入的內容,key是由彈窗出來由用戶填寫的。

界面介紹

mark

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM