Webshell

作者:{rupyerlua}@ArkTeam

“Shell”一词起源于Linux操作系统,是指用户和操作系统内核进行交互操作的一种接口。在网络攻击中,”Shell”表示攻击后植入的远程控制程序,可以远程执行系统命令,操作体验类似本地用户Shell程序。攻击并获取Shell的过程被称为”Getshell”。顾名思义,”Webshell”就是运行在Web应用服务之上的远程控制程序,虽然思路与系统攻击中的”Shell”类似,但本质却大不相同。

1.本质

Webshell的本质就是普通的网页!由PHP、JSP、ASP等Web应用程序语言开发,可被Apache、Nginx等Web服务器软件解析。与网站中正常的网页不同的是,Webshell由攻击者开发,具备内网扫描、数据库连接、网页文件篡改等攻击功能。功能较为完备的Webshell俗称”大马”,功能简易的Webshell俗称”一句话木马”或”小马”。”小马”的出现主要是为了绕过上传”大马”时受到的文件大小限制,其作用在多数情况下是为了进一步上传”大马”。

2.大马的主要功能


图1 一个大马举例

“大马”通常情况下是一个单独的网页,在浏览器中输入”大马”地址,就可管理和操作服务器资源。以图中的”大马”举例,主要有以下几个功能:

(1)文件浏览和编辑


(2)虚拟终端执行系统命令


(3)执行PHP代码


(4)计算哈希、转换编码格式


(5)连接、管理数据库


(6)获取系统信息


(7)发送邮件


(8)反弹Shell


(9)查看进程


3.小马主要功能

“大马”和”小马”的主要区别在于,”大马”自身集成了各种基本功能,使用时只需要发送执行该功能所需的参数即可;而”小马”则需要发送执行该功能的所有代码和参数。即”大马”将功能代码封装在了服务端,而”小马”将功能代码封装在了客户端。

图2 小马大马比较

由于”小马”自身代码量很少,则除单独存在外,还可嵌入正常的网页当中,因此具有更强的隐蔽性。

小马的功能强弱主要取决于”客户端程序”对于功能代码的封装能力,常见的”客户端程序”有”中国菜刀”和”Cknife”。

“中国菜刀”除了”小马”管理,文件编辑功能外,还能够模拟虚拟终端,执行系统命令。


图3 中国菜刀界面


图4 中国菜刀虚拟终端

但”中国菜刀”只能用于Windows下,且很容易被植入后门,导致Webshell被窃取,因此,功能基本一致、开源且跨平台版本的”中国菜刀”——”Cknife”便诞生了。


图5 Cknife界面

发表评论

电子邮件地址不会被公开。 必填项已用*标注