反混淆神器!CyberChef助你秒解混淆脚本

admin 2022年3月26日08:27:42评论1,077 views字数 2114阅读7分2秒阅读模式

反混淆神器!CyberChef助你秒解混淆脚本一、概述

CyberChef是一款强大的编码转换器简单易懂易上手它集成了多种编码转换的功能如:base64加解密hex转换char转换正则表达式等能辅助大家方便快捷地解密出恶意的脚本。


其界面如下图最左边的Operations是转换工具集把你挑选好的工具经过DIY组合及排序拖拽到Recipe中就可以对Input中的字符串进行相应地解密操作了工具很多可以在Search框中搜索输出结果会打印在Output窗口中。


反混淆神器!CyberChef助你秒解混淆脚本

二、实战演示

多说无益下面就来进行实战演示吧!

2.1 powershell脚本反混淆

首先来尝试使用CyberChef来解密一个经过混淆的powershell脚本把样本下载下来发现样本经过了高强度的混淆无法直接分析其做了什么操作。

样本地址:https://www.hybrid-analysis.com/sample/cc9c6c38840af8573b8175f34e5c54078c1f3fb7c686a6dc49264a0812d56b54?environmentId=120

接下来将样本内容复制到Input窗口中第一步是要将其中的base64数据筛选出来怎么筛选呢当然是用正则表达式好那就把Regular expression拖进来然后在Regex框中编写规则将红框中的Output format改为高亮就可以清晰地看到规则匹配到了哪些字符串了。


反混淆神器!CyberChef助你秒解混淆脚本


通过上述的方式成功写出了匹配base64的正则表达式:[0-9a-zA-Z/+=]{30,}筛选长度在30以上的可视字符串将Output format改为List matches模式就能截取这段base64了。


反混淆神器!CyberChef助你秒解混淆脚本

然后把From base64拖进来成功解密出字符串。

反混淆神器!CyberChef助你秒解混淆脚本

不对啊怎么解密完还是一堆乱码?别急 注意看Input框中的脚本在base加密前还有个DelfateStream加密操作呢那就把Raw Inflate拖进来轻松解密Output中已经显现出可以进行分析的恶意代码了。

反混淆神器!CyberChef助你秒解混淆脚本

这还不够CyberChef还有Generic Code Beautify工具对代码进行美颜能优化代码格式 看起来更友好至此解密工作就完成了很简单吧。

反混淆神器!CyberChef助你秒解混淆脚本

解密后的powershell脚本大致看了下是个下载木马的dropper本文主要介绍工具的解密用法就不对该样本进行深入分析了。

反混淆神器!CyberChef助你秒解混淆脚本

发现没有上面的解密方法 正则->base64->inflate 其实可以通用到大部分ps脚本解密步骤中可以点击save recipe按钮将它保存起来命名为powershell-deflate-base64后面遇到相似的混淆脚本就能使用该规则进行解密。

反混淆神器!CyberChef助你秒解混淆脚本

2.2 char型恶意脚本反混淆

仅次于base64char字符的混淆方式也被常见于恶意脚本中下面就来看看CyberChef

如何轻松解密char型字符串。

反混淆神器!CyberChef助你秒解混淆脚本

样本地址:https://gist.github.com/jonmarkgo/3431818

首先使用正则表达式([0-9]{2,3}(,s|))+筛选脚本中的char型字符串。

反混淆神器!CyberChef助你秒解混淆脚本

然后使用From Charcode对上述char型字符串进行转换在转换前需要将间隔符Delimiter选为Comma(逗号)Base选为10进制就可以解密出恶意代码了恶意代码是一段JS代码其中还隐藏有一段char型字符串。

反混淆神器!CyberChef助你秒解混淆脚本

再次重复上述操作就可以解密出加载的核心恶意脚本的地址为:https://examhome.net/stat.js?v=1.0.1xamhome。

 2.3 webshell反混淆

webshell跟powershell恶意脚本的混淆方式也大致相同也常使用base64进行混淆 不过下面的这个webshell有点特别 它循环使用base64加密了二十多次(这种加密方式在某些APT攻击样本中也出现过)也就是说得对它进行二十多次的解密……

反混淆神器!CyberChef助你秒解混淆脚本

样本地址:https://github.com/LordWolfer/webshells/blob/b7eefaff64049e3ff61e90c850686135c0ba74c4/from_the_wild1.php

使用之前的powershell-deflate-base64规则进行解密发现它解密出来还是一段base64加密脚本那该怎么办呢总不能重复手工重复操作吧会累死的。

反混淆神器!CyberChef助你秒解混淆脚本


CyberChef提供了一种循环的方法可以省去手工操作的工作首先在powershell-deflate-base64的开头加个Label自定义命名为start意思指循环的开始。

反混淆神器!CyberChef助你秒解混淆脚本

然后在powershell-deflate-base64的末尾拖入JumpJump的地址为start,Maximum jumps填入要循环的次数。

反混淆神器!CyberChef助你秒解混淆脚本

经过试验发现循环解密21次后就能得到混淆前的恶意脚本了这是一个PHP的文件上传webshell。

反混淆神器!CyberChef助你秒解混淆脚本

三、总结

CyberChef可以简单理解为是一个脚本解密工具的集合 除此之外 它其实还有很多黑科技 比如解析网络数据包里的数据 解析图片的地理位置及时间信息等等 工具之多 可能会看的眼花缭乱挑选的时候也要找很久 所以你应当将常用的工具加入到Favourites栏中方便使用。

反混淆神器!CyberChef助你秒解混淆脚本

反混淆神器!CyberChef助你秒解混淆脚本


本文始发于微信公众号(疯猫网络):反混淆神器!CyberChef助你秒解混淆脚本

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月26日08:27:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   反混淆神器!CyberChef助你秒解混淆脚本http://cn-sec.com/archives/507800.html

发表评论

匿名网友 填写信息