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則是直接傳入。
如圖:
def vigenereDecrypto(ciphertext,key)
ciphertext即是輸入的內容,key是由彈窗出來由用戶填寫的。
界面介紹