频道栏目
首页 > 资讯 > 工具软件 > 正文

分析Cknife,一个类似China Chopper的webshell管理工具(第二部分)

16-07-21        来源:[db:作者]  
收藏   我要投稿

 

在第一部分中,我们分析了最近的趋势、代码库和探索防御性抑制。第二部分,我们将分析一份由中国程序员编写的webshell。

 

 

在2016年3月26日,记录未来自然语言处理(NLP)设备发出了Cknife警报。

 

 

背景

记录未来为Cknife记录的时间线显示其第一次出现是在2015年12月。2016年3月下旬因为Cknife发布了官方开源版本,出现次数明显激增。

 

 

大量中文论坛公布了一份受其启发编写的webshell代码,向 China Chopper表示敬意。

作者是Chora和MelodyZX ,他们称Cknife是对China Chopper时代的怀念,原话是这样的,“这个工具不是为了取代Chinese kitchen knife,它是一个时代的象征,是不可替代的。”

他们俩表示创建Cknife并且不断发展的原因是“我们想让它可以在功能上代替Chinese kitchen knife。Chopper是很方便,但是多年以来也积攒了许多问题。我们提取了它的核心功能,并在其中添加了我们自己多年的行业经验。它是跨平台、基于文件配置的Chinese kitchen knife,用户可以自定义所有操作。”

China Chopper历史

China Chopper是一个巧妙构建的4KB大小的webshell工具,据报告它被用于多个刑事和民族活动中,其中包括美国国防承包商。Webshell工具的第一次公开亮相是在2012年,随后maicaidao[.]com为其标记了来源。

 

 

ReversingLabs已经收集到自2013年以来超过250份不一样的China Chopper样本,这就说明了webshell的普及性。

China Chopper — Cknife的相似之处

大量的图标(PNG文件)的存储位置都是Cknife-master/src/com/ms509/images/,其SHA1哈希值是main.png is 4c805a9064d3d7d230c6241e63db4fcf7a1a1e15。

谷歌搜索main.png图像的结果中包括2013年开始运行的China Chopper中国网站,和最近才开始进入公众视线的Cknife,具体网址是这些:

•hxxp://www.wmzhe[.]com/soft-32162.html

•hxxp://www.uzzf[.]com/tags_Hopper.html

•hxxp://www.uzzf[.]com/tags_webshell%B9%DC%C0%ED.html

•hxxp://www.uzzf[.]com/key/hackersoft/

•hxxp://m.uzzf[.]com/u/37342

•hxxp://m.uzzf[.]com/u/60389

China Chopper使用的图标和Cknife有着一样的视觉效果(区别就是更清晰一些),但是它们的加密方式是不同的。

 

 

SHA1: 4c805a9064d3d7d230c6241e63db4fcf7a1a1e15

 

 

SHA1: 4ce780088b93a3e6e6592de9de1d2c2f85012b59

 

 

 

 

从2013年开始至少有78个不一样的 China Chopper 示例使用这个图标。

有趣的是,两位作者使用的都是同样的webshell图标。Chora 和MelodyZX 可能在看到China Chopper图标之前就已经确定了自己的原始图标,或者也可能是这两位作者本身关系就很好。

China Chopper和Cknife的webshell文件另一个相似之处就是它们都在自己的HTTP POST 响应中使用了特定的 “->|”和“||”)响应、Write(“||”)和echo (“|

下面这个由ReversingLabs处理的China Chopper图表描绘了2016年3月Cknife开源版本公布之后中文论坛上对其引用的激增。

 

 

作者——Chora和MelodyZX

Chora和MelodyZX是两个人的网名,背后是(至少部分是)MS509团队,负责创建和发布 Cknife。

 

 

MS509团队最近受邀出席“中国网络安全讲座2016年年会”,这就意味着他们的研究在中国被默认是合法的。

此外,MelodyZX还是阿里巴巴漏洞披露名单的前50名之一。

 

 

 

 

在原始的Cknife 论文贴中,Chora声明了Cknife功能和使用示例,并特别说明了webshell是为了绕过网页应用防火墙(WAF)而设计的,可以用于Red Team训练。

然而Cknife很有可能会被恶意使用,因为Chora不可能不知道开源自定义webshell会带来的影响。

Cknife面板菜单也只有中文模式,这或许是因为目标用户只是中文用户。 Chora 和MelodyZX 都不断在中文论坛上更新其发展进程,从这就可以看出他们的目标受众只是中文用户。

 

 

这里没有关于Cknife的进一步解释,这使得大家难以捉摸作者动机。从MelodyZX以及Cknife目的意图的已知信息中中可以将其比作两个灰帽。

 

 

 

 

Chora编写了Cknife的设计和java编码,而MelodyZX使用SQLite创建了数据库架构。

Cknife的内部分析

Cknife是用java编写的,目的是为了跨平台兼容。Cknife还为本机操作系统渲染设置了较旧的 Swing GUI框架。对于java应用程序客户端来说这是个有趣的选择,因为java开发人员普遍认为Swing不易于使用。

一种解释就是从遗留的应用程序中复制一大段Swing代码可以节约作者大量时间。

Cknife的GitHub自述指令包括原始的java归档(JAR)文件托管在百度的链接(下载zip文件需要密码“f65g”)。从最新版本的GitHub来源中建立Cknife会产生Cknife.jar的更新版本。执行 Cknife Java 存档(sudo java -jar Cknife.jar),结果会显示在 Cknife GUI 面板(客户端)中。用鼠标右键单击主面板中的菜单,会出现一个拥有不同皮肤的子菜单,这里可以看出作者有在努力创建一个功能完善、方便使用的webshell管理工具。

 

 

最后一个通用菜单指向的是对应的端口、用户名、密码和代理类型的代理服务器配置的子菜单。

 

 

了解Cknife 客户端和 Ubuntu 14.04 webshell之间基本联系的快速办法就是使用和cus.php web shell文件有着相同本地目录的PHP服务器。

 

 

运行PHP服务器之后,启用 TCPDump 来捕获随后在环回接口上生成的数据包,然后将其保存到一个文件里进行审查。

 

 

接下来使用 Cknife 客户端连接到本地 cus.php webshell中。

 

 

 

 

在配置连接参数之后,URL的右击菜单中有多国语言选项,用于连接到webshell以及枚举网页服务器上的远程文件、连接到远程数据库,和启动远程shell命令行访问。

 

 

在连接到远程 web shell 文件之后, Cknife 客户端将显示一个10秒的 HTTP 状态代码弹出窗口。额外的测试功能需要在一个拥有综合数据库且功能完整的 web 服务器上启动 web shell文件之后才能使用。

下面是 Cknife Java 客户端和 webshell之间基本连接的1019 字节。

 

 

Cknife 的用户代理很引人瞩目,因为客户端的 Java 应用程序相对罕见。像大多数 web shell一样,Cknife 使用 Base64 编码的字符串对HTTP POST 数据传输和储存进行模糊处理。

 

 

结论

Cknife 是中国一个跨平台兼容的 Java webshell框架 ,操作起来更像是针对web 服务器设计的RAT,其原型是China Chopper。

两位作者, Chora和MelodyZX(MS509团队成员) ,他们自己可能认为自己是白帽,但鉴于其开源 Cknife 一定会被黑帽利用,所以可以认定他们是灰帽。

基于作者的自述,Cknife 开发的动机似乎是想要改善China Chopper性能,后者被尊为一个时代的文化标志。

相关TAG标签
上一篇:全球高校黑客大赛首次登陆国内
下一篇:KDE Frameworks权限提升漏洞
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站