对混淆变形的Webshell分析是怎样的
WebShell是什么?
最初,Webshell经常被称为一种供Web服务器管理员远程管理服务器的脚本。后来,随着一些Webshell管理工具的诞生,使得获取Web权限的过程被很大程度地简易化,于是逐渐被称为Web入侵的工具脚本。
Webshell不同于漏洞,而是利用应用漏洞或服务器漏洞(文件上传漏洞、文件包含漏洞等)将脚本文件上传到服务器进行后续利用,属于渗透测试的后续利用和ATT&CK的TA0002 Execution(执行)阶段。
图1 TA0002
参考来源:https://mitre-attack.github.io/attack-navigator/(ATT&CK导航器)
攻击者为了绕过检测和防护设备、软件等的检测,都会经常变换自己的Webshell写法,可以保证功能的前提下确保自己的脚本不会被检测到,其中php脚本较为突出,由于php脚本语言存在很多可利用的函数,因此导致了php可以有千变万化的混淆和变形写法。
一句话木马也属于Webshell脚本,对一句话木马感兴趣的小伙伴可以参考上期的《一句话木马的多种变形方式》自行学习和了解,本期文章主要不再赘述。
背景
之前分析Webshell时,发现有一类Webshell完全能绕过各种各样的检测软件,这类脚本常常在代码层面上看似乎毫无意义,也没有常见的Webshell特征,但经过层层的抽丝剥茧,就不难发现这一类混淆脚本的思路,刚好近期收到一个有趣的混淆脚本,向小伙伴分享该脚本的分析过程,也希望能起到抛砖引玉的作用。
初见脚本
第一眼看到这个脚本的时候就从他的内容中看到了明晃晃的eval函数,于是本能地将这一部分代码提取出来,但是还不足以证明什么,因为内容部分全是看起来毫无头绪的乱码,没有丝毫WebShell的痕迹。
仔细发现可以发现除了eval之外,还调用了gzinflate、base64_decode、str_rot13这三个函数,或许可以从这三个函数入手寻找分析的突破口。
图 2 脚本内容
函数解释
str_rot13()
ROT13 编码把每一个字母在字母表中向前移动13个字母。数字和非字母字符保持不变(凯撒加密)。
base64_decode()
对字符串内容进行base64编码。
Gzinflate
对数据默认使用ZLIB_ENCODING_RAW编码方式,使用deflate数据压缩算法,实际上是先用LZ7压缩,然后用霍夫曼编码压缩。
分析
1.内容解析
图 3 调用echo命令
使用echo命令对内容进行解析,结果发现str_rot13()被执行了,于是重复这种思路,尝试一层一层将原有内容剥离出来。
图 4 解析结果
2.重复解析
经过三次echo命令的重复解析之后,出现的终于不再是单调的代码了,证明分析的方向很可能是正确的,而且从代码的量来看感觉像是个拥有多种功能的木马,俗称大马。
图5 多次解析
3.调用eval函数运行代码内容
好家伙,果然是一个大马。
经过究发现,该木马的功能包括了系统信息获取、目录读取、文件下载、文件上传等功能。
图6 大马原貌
以上是对混淆变形的Webshell分析是怎样的的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

场景描述假定在真实生产环境中,存在一个RCE漏洞,可以让我们获取WebShell环境的安装首先在GetHub上拉去漏洞的镜像前,需提前在centos上安装nginx和tomcat以及配置好nginx以及tomcat的相关配置文件,在使用docker将镜像拉取下来,进行漏洞的复现。1、先将docker环境搭建起来2、测试tomcat是否可以访问根据上图可以看出,后端的tomcat是可以访问的3、查看docker中nginx反向代理的负载均衡4、查看docker中lbsnode1中的ant.jsp文

1.打开网址后,发现是一个上传页面2.直接上传后缀名为php的文件,发现无法上传3.采用BurpSuite进行抓包,将上传的后缀为php的文件的后缀改为php5,即可绕过4.使用菜刀进行连接,在var/www/html的目录中,发现带有KEY的文件,打开即可看到key5.打开另一个网址,同时也是一个上传页面,但是设置了上传名单,仅允许以.gif.jpg.png为后缀文件通过上传6.我们写一个txt一句话木马,将其后缀改为jpg7.在上传的时候,采用BurpSiuit抓包,并对文件后缀进行修改,显

随着互联网安全问题的日益突出,各大网站和应用程序的安全性也成为越来越重要的问题。尤其是在网站运维管理中,常常需要使用WebShell这种工具来进行维护和修复,但WebShell也常常被黑客利用,成为攻击者入侵的一个入口。本文将介绍宝塔面板的WebShell安全设置,帮助网站管理员提高站点的安全性。一、WebShell的概念和常见用途1.概念WebShell是

本地环境组建从保留的截图来看,对方的php版本是5.6.40,所以我要搭一个apache+php5.6.40的测试环境。打开virtualbox,链接复制出来一份centos镜像系统,按照以下流程配置一遍。1.安装apacheyuminstall-yhttpdhttpd-vServerversion:Apache/2.4.6(CentOS)Serverbuilt:Aug8201911:41:182.安装php5.6yum-yinstallepel-releaserpm-Uvhhttps://mi

本篇文章给大家介绍一下帝国cms框架的Webshell。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

SINE安全在对某客户的网站进行网站漏洞检测与修复发现该网站存在严重的sql注入漏洞以及上传webshell网站木马文件漏洞,该网站使用的是某CMS系统,采用PHP语言开发,mysql数据库的架构,该网站源码目前是开源的状态。某CMS是专注于提供付费知识的社交CMS系统,知识付费在目前的互联网中有这很高的需求,该系统可以对文档进行分享,收费下载,用户发布的知识内容可以隐藏,提供给付费客户阅读。代码比较精简深受广大站长们的喜欢,该网站漏洞主要发生在上传压缩包的同时,构造恶意解压代码讲zip包里的w

巡检查杀首先,我明白自己要做的不是找到这个上传的位置是哪里出现的,我应该登上服务器进行webshel查杀,进行巡检,找找看是否被别人入侵了,是否存在后门等等情况。虽然报的是我们公司的ip地址,万一漏掉了几个webshell,被别人上传成功了没检测出来,那服务器被入侵了如何能行。所以我上去巡检了服务器,上传这个webshell查杀工具进行查杀,使用netstat-anpt和iptables-L判断是否存在后门建立,查看是否有挖矿程序占用CPU,等等,此处不详细展开了。万幸的是服务器没有被入侵,然后

WebShell是什么?在最初的时候,Webshell经常被用来作为Web服务器管理员对服务器进行远程管理的一类脚本的简称。后来,随着一些Webshell管理工具的诞生,使得获取Web权限的过程被很大程度地简易化,于是逐渐被称为Web入侵的工具脚本。Webshell不同于漏洞,而是利用应用漏洞或服务器漏洞(文件上传漏洞、文件包含漏洞等)将脚本文件上传到服务器进行后续利用,属于渗透测试的后续利用和ATT&CK的TA0002Execution(执行)阶段。图1TA0002参考来源:https
