CTFCrackTools

Introduction: <一款旨在帮助 CTFer 在 CTF 中发挥作用的一个框架>
More: Author   ReportBugs   OfficialWebsite   
Tags:

Build Status License: GPL v3 download language

作者:林晨(0chen)

米斯特安全官网:http://www.acmesec.cn/

本工具已经可以作为 burp 插件导入,仓库地址:DaE

请我喝一杯咖啡☕️

疑难解答

跳转到:https://github.com/0Chencc/CTFCrackTools/wiki/FAQ

界面介绍

主页面

mark

添加插件

mark

框架介绍

使用 kotlin 与 java 混合开发

这大概是国内首个应用于 CTF 的工具框架。

可以被应用于 CTF 中的 Crypto,Misc...

内置目前主流密码(包括但不限于维吉利亚密码,凯撒密码,栅栏密码······)

用户可自主编写插件,但仅支持 Python 编写插件。编写方法也极为简单。(由于 Jython 自身的原因,暂时无法支持 Python3)

在导入插件的时候一定要记得确认 jython 文件已经加载。

我们附带了一些插件在现成插件可供用户的使用

该项目一直在增强,这一次的重置只保留了部分核心代码,而将 UI 及优化代码重构,使这个框架支持更多功能。

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

下载编译好的版本:releases

插件编写

plugin

#-*- coding:utf-8 -*-
#一个函数调用的 demo
def main(input,a):
    return 'input is %s,key is %s'%(input,a)

#我们希望能将插件开发者的信息存入程序中,所以需要定义 author_info 来进行开发者信息的注册
def author_info():
    info = {
    "author":"0chen",
    "name":"test_version",
    "key":["a"],
    "describe":"plugin describe"
    }
    return info

现在来具体讲下这些插件的用法,具体应该将下框架的调用方法。

函数: main

描述: 这个是程序调用插件时调用的函数。

定义:

def main(input):
  return 'succ'

函数: author_info

描述: 我们希望能将插件开发者的信息存入程序中,所以需要定义 author_info 来进行开发者信息的注册

author: 作者信息

name: 插件名称

key: 考虑到会有某些特定的密码需要 key,有时候需要多个 key。所以可以注册 key 的信息,当程序调用的时候会进行弹框。

describe: 这个地方是插件的描述。由于 python2 的原因,似乎对中文的支持不是很全,建议大家使用英文来进行描述。

定义:

def author_info():
    info = {
    "author":"0chen",
    "name":"test_version",
    "key":["a"],
    "describe":"plugin describe"
    }
    return info

因为工具调用其实就是通过 def mian(input)传入数据然后获取 return 的数据。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
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[i])
        if m < k:
            m += 26
        plaintext += ascii[m-k]
        i += 1
    return plaintext
def author_info:
  info = {
    'name':'VigenereDecrypto',
    'author':'naiquan',
    'key':'key',
    'describe':'VigenereDecrypto'
  }
def main(input,key):
    return vigenereDecrypto(input.replace(" ","").upper(),key.replace(" ","").upper())

多参数调用 demo(注册传入函数只需要以 string 数组的形式注册即可,如 demo 所示)

#-*- coding:utf-8 -*-
#多参数调用的 demo
#abd 分别为需要传入参数,基本上没有参数限制(没测过)
def main(input,a,b,c):
    return 'input is %s,key a is %s,key b is %s,key c is %s'%(input,a,b,c)

#我们希望能将插件开发者的信息存入程序中,所以需要定义 author_info 来进行开发者信息的注册
def author_info():
    info = {
    "author":"0chen",
    "name":"test_version",
    "key":["a","b","c"],
    "describe":"plugin describe"
    }
    return info

作者的碎碎念

​ 作为一款自从 2016 年发布至今的工具,由于发布的时候,彼时作者在读高中,没有时间也没有能力去更新这样一款受众颇多的工具,这款工具到至今我收到了许多 ctf 初学者的感谢,因为近两年一直忙于生计,很难有时间去顾及到这款工具的发展,但是仍然会有许多朋友来联系我的 qq 和微信,对这款工具的发展提出宝贵的意见,这也是我时不时更新的动力。

​ 我发现国内很多厂商都将这款工具作为 ctf 必备的工具加入到工具包中,非常感谢这些朋友的抬爱,也因为他们我的工具才能有上万人在使用。ctf 圈子的氛围日益增长,希望这款工具也能跟随大家一直使用下去。

​ 我在高二的时候参加了人生第一次 ctf 比赛,那时候被虐得体无完肤。当时我们留意到第一名在提交 wp 的时候也有这款工具的截图,让我非常开心。我希望这款工具能伴随各位 ctfer 的成长,如果有什么做得不够好的地方,欢迎大家在 github 的 issue 提供宝贵的意见,在力所能及的范围内我一定会采纳。

​ 会一直坚持开源,也欢迎各位厂商继续采用我的工具作为新手必备的工具,感谢大家!

​ 另外:米斯特安全团队一直在寻找优秀的 CTF 选手,如果有打算来我们团队发展的朋友可以联系邮箱:admin@hi-ourlife.com

旧版本

旧版本与新版本的差别仅仅在于 ui 的差别,最新的 4.0 版本抛弃了 3.0 被大家诟病的 ui,并且在 2.0 也就是调查发现比较喜欢的版本的基础上进行了 ui 的美化,我认为旧版本已没有存在的必要,所以将项目设置为 private,如果呼声过高我会重新开放。感谢大家。

https://github.com/Acmesec/CTFCrackTools-V2

要饭环节

我司承接各类安全培训以及渗透测试,可联系 admin[#]hi-ourlife.com

wechat

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools