• Stars
    star
    1,832
  • Rank 25,329 (Top 0.5 %)
  • Language
    Java
  • License
    GNU General Publi...
  • Created about 8 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

China's first CTFTools framework.中国国内首个CTF工具框架,旨在帮助CTFer快速攻克难关

CTFcrackTools-V4.0

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选手,如果有打算来我们团队发展的朋友可以联系邮箱:[email protected]

旧版本

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

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

要饭环节

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

wechat