沫延说
沫延说
记一次对免费Webshell"大马"的代码审计
记一次对免费Webshell

前    言

偶然发现一个1.83kb大小的php“大马”,功能非常全面,免费下载使用,正值刚做完ISO27001信息安全管理体系认证,趁热打铁对这个功能全面的木马做一次代码审计

.......非常尴尬的是这个webshell自称超强免杀,直接被系统自带的Defender查杀了

 

源    码

https://oss.topstalk.com/blog/2019/11/shell-code.jpg

混淆+Gzinflate+多重Base64

去除字符串混淆简单整理代码后,val(gzinflate(base64_decode(语句露出水面

https://oss.topstalk.com/blog/2019/11/webshell%E6%95%B4%E7%90%86%E4%BB%A3%E7%A0%81.jpg

通过echo方法解压gzinflate并解密Base64(顺便把$css也解了吧)

看到真正源码后发现一个神秘代码,真没创意........又是Base64

https://oss.topstalk.com/blog/2019/11/webshell%E5%A4%9A%E9%87%8D%E5%8A%A0%E5%AF%86%E5%8C%BA%E5%9F%9F.jpg

解开后是一个图片的地址,

可以理解为这个1.83kb的php是通过加载远程一个名为“404”的gif图片文件的形式来获取“大马”的,当然了这个gif图片并不是一个真正的图片,

https://oss.topstalk.com/blog/2019/11/webshell404.jpg

一点也不奇怪.......根据shell.php解密后的第57行,Gzinflate+Base64解压解密轻松拿到源码

https://oss.topstalk.com/blog/2019/11/404de.jpg

开始进行审计,根据作者的尿性。。。直接关键词搜索base64_decode

发现还有十余次加密

第一处就让我发现了猫腻

https://oss.topstalk.com/blog/2019/11/phpapi-apitoken.jpg

两处解码后是一个信息上传地址

下面还带简单的内网判断,如果是内网就不上报,如果外网直接上报。

 

根据登录页面输入密码的input name=postpass

全局搜索postpass

果然还找到了备用密码“http200ok”

如果判断如果输入的postpass等于第六行define('postpass', $password);或者等于http200ok则登陆成功

https://oss.topstalk.com/blog/2020/03/bakpasswd.jpg

 

附件:gzinflate+base64解密脚本

使用方式:将code内中文内容替换为gzinflate+base64密文,直接通过命令行php执行即可

 

 

感谢您阅读记一次对免费Webshell"大马"的代码审计

及时获取更多文章,欢迎关注“Topstalk”微信订阅号或访问“沫延说”微信小程序

Thank you for reading the 记一次对免费Webshell"大马"的代码审计

Get more articles in time,Welcome to follow the "Topstalk" WeChat subscription account or the "沫延说" WeChat Mini Program

没有标签
首页      信息安全      记一次对免费Webshell"大马"的代码审计

Morton.L

文章作者

发表评论

textsms
account_circle
email

沫延说

记一次对免费Webshell"大马"的代码审计
前    言 偶然发现一个1.83kb大小的php“大马”,功能非常全面,免费下载使用,正值刚做完ISO27001信息安全管理体系认证,趁热打铁对这个功能全面的木马做一次代码审计 .......非常尴尬…
扫描二维码继续阅读
2020-03-16