CobaltStrike免杀

  本篇文章主要介绍关于Cobaltstrike免杀的部分方式,可能有一些现在并不能bypass AV,但可以给我们提供更多的bypass AV思路。实际bypass AV中,不止要绕过终端机器,还要绕过一些流量检测设备。首先,就终端层面,介绍免杀的一些方式。杀软的基本功能包括:反病毒内核、扫描引擎、特征库、解包程序、模拟器、流量监控、浏览器安全插件、自我保护及更新等。杀软在驱动层面,也会对进程、线程、模块、对象及注册表均进行了相应的监控操作。

veil免杀

  1、生成payload

    

  2、veil免杀

    在veil中选择Evasion逃逸

    

    

    use 17使用go语言模块,输入generate选择3进行自定义payload

    

    

    

    进行静态查杀,没能过360和火绒,这种生成的木马已经加入病毒库,后面组合进行测试。

  

修改特征码

  常用的特征码修改的方法有(1)16进制差1  (2)大小写转换  (3)相同命令替换  (4)特征码移位  (5)通用跳转等

    16进制差1

  修改方法:把特征码所对应的十六进制改成数字差1或差不多的十六进制。
  适用范围:一定要精确定位特征码所对应的十六进制,修改后一定要测试一下能否正常使用。

  大小写转换

  修改方法:把特征码所对应的内容是字符串的,只要把大小字母互换一下就可以了。
  适用范围:特征码所对应的内容必需是字符串,否则不能成功。

  相同命令替换

  修改方法:把特征码所对应的汇编指令命令中替换成功能类拟的指令。
  适用范围:特征码中必需有可以替换的汇编指令.比如JN,JNE 换成JMP等.如果和我一样对汇编不怎们精通的可以去查查8080汇编手册。

  1、用到工具:特征码定位器,OllyDbg

  2、特点:操作较复杂,要定位修改一系列过程,而且只针对每种杀毒软件的免杀,要达到多种杀毒软件的免杀,必需修改各种杀毒软件的特征码.但免杀效果好。

  3、操作要点:对某种杀毒软件的特征码的定位到修改一系列慢长过程。

  

  特征码移位

  修改方法:将这处特征码移到别的地方或者将相邻两个命令替换,把具有特征码的代码顺序互换一下,然后可能还要通过工具修改文件,来定位到这个特征码。

  适用范围:具有一定的局限性,代码互换后要不能影响程序的正常执行。

  通用跳转

  修改方法:把特征码移到零区域(指代码的空隙处),然后一个JMP又跳回来执行。
  适用范围:没有什么条件,是通用的改法,强烈建议大家要掌握这种改法。

  其他修改

  1、修改证书

    使用java数据证书的管理工具Keytool,找到.store后缀的文件并删除,然后修改证书信息:

keytool -keystore cobaltstrike.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias baidu.com -dname "CN=US, OU=”baidu.com“, O=“Sofatest”, L=Beijing, ST=Cyberspace, C=CN"

    shellcode和加载器(pyminifier混淆后)经base64编码后,放远程服务器,进行钓鱼。

  2、修改默认端口

    在teamserver中,找到server_port,将默认端口50050修改为其他端口

  3、修改关于木马的信息,例如签名等信息

 

  关于修改特征码免杀

 

花指令免杀

  花指令免杀实质上就是在不改变木马效果上进行资源替换。常见的花指令方式如下:

  1.加数据计算代码,加减乘除各类组合;

  2.加字符串操作代码,增加、删除、查找、替换等;

  3.加多层跳转,跳转间加无效指令(不会执行的);

  4.加貌似有效的 API 调用,如 LoadLibrary+GetProcAddr+API 等。

  OD打开生成的木马程序,找到零区域,把备好的花指令填进去。填好后又跳回到入口点,保存好后,再用PEditor把入口点改成零区域处填入花指令的着地址。

加壳免杀

  加壳简单理解为:解密器 / 解压器 + 加密器 / 压缩器(原始代码)

加冷门壳

  热门壳现在被分析的差不多了,杀软一般都能直接查杀或者自动脱完壳再查杀。冷门壳,壳特征未被分析,不能自动脱壳,可以更好隐藏原始代码,得到免杀效果。

加壳改壳

  将常用壳进行修改,让壳特征变化,也可以使杀软失效,比如修改入口,区段信息修改,入口代码移位,可以类比为免杀壳。

加多层壳

  为了达到更好的免杀效果可采用多重加壳。

加伪装壳

  加壳后再加伪装壳的免杀效果更佳。

内存免杀

修改内存特征码

  具体方式同前面特征码修改的方式

修改壳入口

  首先给木马加压缩壳,接着载入OllyDebug,在入口处的前15句中NOP掉某些代码或者等价代换某些代码。

工具处理

  HanzoInjection下载地址:https://github.com/P0cL4bs/hanzoInjection

  hanzoinjection是一个工具,它专注于在内存中注入任意代码,以绕过常见的防病毒解决方案。

  生成payload

      

  使用HanzoInjection进行处理

  HanzoInjection.exe -e payload.bin

  

  

 

加密流量实现免杀

资源修改

混淆

  GO混淆工具go-strip:https://github.com/boy-hack/go-strip/releases

  JS加载shellcode,将shellcode放到加密网站进行加密,即可bypassAV

加资源

  使用Invoke-PSImage工具,Invoke-PSImage可以将一个PowerShell脚本中的字节嵌入到PNG图像文件的像素之中,并生成一行执行命令来帮助我们从文件或Web(传递-Web标记)执行它们。它会利用图片中每个像素点最后4位有效位的2个颜色值来存储Payload数据,虽然图片质量会受到影响,但是一般来说是看不出来有多大区别的。图片需要存储为PNG格式,由于Payload数据存储在颜色值中,因此这种格式可以进行无损压缩并且不会影响到Payload的执行。它可以接受目前绝大多数的图片类型作为输入,但输出必须为PNG格式,因为输出的图片数据需要是无损的。图片的每一个像素都需要存储脚本的一个字节,所以你需要根据脚本中的字节数据大小来选择图片(尽可能多的像素点)。例如,Invoke-Mimikatz需要一张1920×1200的图片来存储。

  工具的下载地址:https://github.com/peewpw/Invoke-PSImage

工具处理

  1、使用CobaltStrike插件BypassAV进行免杀

  2、利用python生成exe文件的方式,将python shellcode生成exe文件,达到bypass AV。

  工具:https://github.com/pyinstaller/pyinstaller/releases

资源替换

  使用 ResHacker 替换无用的资源(Version 等)。

签名伪造

  使用签名伪造工具,将正常软件的签名复制到木马软件中。

 

 

  还有很多工具也可以辅助我们进行免杀,例如:msf自带的evasion模块、backdoor-factory等工具。这篇文章重点介绍CobaltStrike生成木马或shellcode的一些免杀方式,后续在免杀板块深入进行免杀。

 

posted @ 2023-01-15 22:38  catg0d  阅读(3012)  评论(0)    收藏  举报