应急响应 | 使用D盾检查WebShell
本文详细讲解了WebShell的概念、分类及其检测原理,并介绍了D盾工具的功能与使用方法。通过实验步骤演示了如何利用D盾查杀WebShell并清除恶意脚本。 2025-9-22 04:49:3 Author: www.freebuf.com(查看原文) 阅读量:12 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

使用D盾检查WebShell

【实验目的】

使用D盾检测WebShell,并清除WebShell。

【知识点】

1. webshell是什么?

Webshell是黑客经常使用的一种恶意脚本,其目的是获得对服务器的执行操作权限,比如执行系统命令、窃取用户数据、删除web页面、修改主页等,其危害不言而喻。黑客通常利用常见的漏洞,如SQL注入、远程文件包含(RFI)、FTP,甚至使用跨站点脚本攻击(XSS)等方式作为社会工程攻击的一部分,最终达到控制网站服务器的目的。
常见的webshell编写语言为asp、jsp和php。本文将以php Webshell为示例,详细解释Webshell的常用函数、工作方式以及常用隐藏技术。

2. Webshell分类

根据功能也分为大马与小马。
小马通常指的一句话木马。一句话木马短小精悍,而且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用。例如:<%eval request(“pass”)%>通常把这句话写入一个文档里面,然后文件名改成xx.asp。然后传到服务器上面。这里eval方法将request(“pass”)转换成代码执行,request函数的作用是应用外部文件。这相当于一句话木马的客户端配置。工作原理:首先,找到数据库是asp格式的网站,然后,以留言板或者发表文章的方式,把一句话添加到asp数据库,或者写进asp网页。目的是把一句话<%execute request(“value”)%>添加到数据库,然后打开客户端,填上加入了一句话的asp文件,或者是asp网页,然后进入此网站服务器。一句话最常用的客户端为:中国菜刀;lanker一句话客户端;中国蚁剑(AntSword)。
大马的工作模式简单的多,没有客户端与服务端的区别,就是一些脚本大牛直接把一句话木马的服务端和客户端整合到了一起,通过上传漏洞将大马上传,然后复制该大马的url地址直接访问,在页面上执行对web服务器的渗透工作。但是有些网站对上传文件做了严格的限制,因为大马的功能较多,所以体积相对较大,很有可能超出了网站上传限制,但是小马的体积可以控制(比如把代码复制很多遍,或者在一个乱码文件中加入代码),但是小马操作起来比较繁琐,可以先上传小马拿到webshell,然后通过小马的连接上传大马拿到服务器。

3. WebShell检测原理

(1)静态检测

静态特征检测是指对脚本文件中所使用的关键词、高危函数、文件修改的时间、文件权限、文件的所有者以及和其它文件的关联性等多个维度的特征进行检测。
即先建立一个恶意字符串特征库,例如:“组专用大马|提权|木马|PHP\s?反弹提权cmd执行”,“WScript.Shell、 Shell.Application、Eval()、Excute()、Set Server、Run()、Exec()、ShellExcute()”,同时对WEB文件修改时间,文件权限以及文件所有者等进行确认。通常情况下WEB文件不会包含上述特征或者特征异常,通过与特征库的比对检索出高危脚本文件。
该检测方法的优点:可快速检测,快速定位;缺点:容易误报,无法对加密或者经过特殊处理的Webshell文件进行检测。无法查找0day型webshell,而且容易被绕过。尤其是针对窃密型Webshell无法做到准确的检测,因为窃密型Webshell通常具有和正常的WEB脚本文件具有相似的特征。

(2)动态检测

动态特征检测通过Webshell运行时使用的系统命令或者网络流量及状态的异常来判断动作的威胁程度。
当Webshell运行时就必须向系统发送系统命令来达到控制系统或者操作数据库的目的,通过检测系统调用来监测甚至拦截系统命令被执行,从行为模式上深度检测脚本文件的安全性。
先前我们说到过webshell通信是HTTP协议。只要我们把webshell特有的HTTP请求/响应做成特征库,加到IDS里面去检测所有的HTTP请求。webshell如果执行系统命令的话,会有进程。Linux下就是nobody用户启了bash,Win下就是IIS User启动cmd,这些都是动态特征。再者如果黑客反向连接的话,那更容易检测了,Agent和IDS都可以抓现行。Webshell总有一个HTTP请求,如果在网络层监控HTTP,并且检测到有人访问了一个从没有访问过的文件,而且返回了200,则很容易定位到webshell,这便是http异常模型检测,和检测文件变化一样,如果非管理员新增文件,则说明被入侵了。

  • 优点:可用于网站集群,对新型变种脚本有一定的检测能力。

  • 缺点:针对特定用途的后门较难检测,实施难度较大。
    除以上静态检测和动态检测外还可以通过日志分析、统计学和基于机器学习等新型检测方法对webshell进行检测。本实验使用的D盾WebShell查杀工具就是一款经典的静态检测工具。

4. D盾工具介绍

D盾是目前最为流行和好用的webshell查杀工具,同时使用也简单方便,在web应急处置的过程中经常会用到。D盾的功能比较强大, 最常见使用方式包括如下功能:1、查杀webshell,隔离可疑文件;2、端口进程查看、base64解码以及克隆账号检测等辅助工具;3、文件监控。第一个是D盾的主要功能,后面功能是D盾的辅助功能,但是在处理病毒的过程中可能都会用到。

【实验原理】

D盾工具是一款常用的WebShell查杀工具之一,其主要原理是对WebShell特征码的检测和分析,查找可疑的后门及木马程序引擎,特别针对:一句话后门、变量函数后门、${}执行 、`执行、preg_replace 执行、call_user_func、file_put_contents、fputs 等特殊函数的参数进行针对性的识别,能查杀更为隐藏的后门。
WebShell是一种恶意程序,通常以木马程序的形式存在于网站服务器上,攻击者可以利用WebShell远程控制服务器,执行各种恶意操作,如窃取敏感信息、篡改网站内容等。为了有效地检测和清除WebShell,D盾工具内置了大量的WebShell特征码,用于识别已知的WebShell程序。
当用户使用D盾工具对服务器进行扫描时,D盾工具会对服务器的文件系统进行遍历,并对其中的每个文件进行特征码匹配。如果发现某个文件的内容符合WebShell特征码的规则,那么就会被认定为WebShell文件,并进行相应的处理。处理方式包括删除、备份等,以确保WebShell被完全清除,同时保留被感染文件的备份以便后续恢复操作。
总的来说,D盾工具通过对WebShell特征码的识别和分析,能够快速准确地检测和清除已知的WebShell程序,是Web服务器安全防护的重要工具之一。

【软件工具】

  • 服务器:Windows server 2016一台;

  • 软件:D盾_Web查杀(WebShellKill)、蚁剑。

【实验目标】

掌握使用D盾工具对WebShell查杀和辅助功能使用

【实验步骤】

1. 安装、配置D盾

已在FreeBuf发表 0 篇文章

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/es/449712.html
如有侵权请联系:admin#unsafe.sh