设为首页|收藏本站|求打赏关注微信公众号

腾龙技术论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PS鏁欑▼
【官方公告】论坛所有广告均为商业行为,需要交易的请尽量走担保程序,所有因广告产生的任何纠纷请私下解决,版主出售东西是私人行为,如有纠纷请私下解决,与论坛无关。【官方公告】禁止发布黑客工具如,扫描,抓鸡,爆破...等破坏网络安全的工具!欢迎举报违规工具! 【站外广告】挂机赚钱-利用硬件平台的CPU和GPU的运算能力——利用闲置资源做分布式计算(云计算),这种模式不占硬盘空间,不占网速,联网即可!注册就送钱【站外广告】出售免杀远控 上线无提示 重启上线 可捆绑任意图片或可执行文件,另出售集群,挖矿软件 收徒~ 
 【站外广告】出售单文件过启动远控,超级完美的稳定性,出售扫爆服务器,需要联系QQ835266201【站外广告】接网站DDOS或cc压力攻击秒杀高防云盾,有需要Q我!QQ510676301【站外广告】DarkNet论坛,有丰富的黑客工具教程,免杀远控资源【站外广告】出售扫爆服务器,永不封机!100G防御免疫CC,QQ:3249264512
【站外广告】DDoS攻击,CC攻击,压力测试服务,出售扫描爆破服务器 QQ 2100818883【站外广告】出售高端远控全套源码!高效稳定,完美无暇!支持所有系统上线!更换启动方式,上线率大大增强,另更改通讯增强稳定性,多元化功能插件集合归一,完全开源无密,增加很多高级功能,一款非常强大的远程管理程序!QQ:3249264512【站外广告】网站搭建,博客搭建,网站搬家,QQ:676672384投放广告请联系QQ:2918857571
本站长不接单,不卖远控之类的。
查看: 442|回复: 0

[其他教程] 利用CobaltStrike捆绑后门的艺术

[复制链接] |关注本帖
  • TA的每日心情
    奋斗
    2019-9-6 11:31
  • 签到天数: 265 天

    连续签到: 1 天

    [LV.8]以坛为家I

    430

    主题

    792

    帖子

    4624

    积分

    ☆独步武林★

    Rank: 8Rank: 8

    UID
    2342
    威望
    1344
    贡献
    636
    在线时间
    109 小时
    注册时间
    2017-1-18
    扫一扫,手机访问本帖
    发表于 2019-8-22 17:02 | 显示全部楼层 |阅读模式
    工具仅供技术分享、交流讨论,严禁用于非法用途


    CobaltStrike(以下全部简称为CS)是渗透测试中常用的一个后渗透工具,它可以快速地生成后门并通过其控制目标主机。其中,捆绑型后门是攻击者较为喜欢的一种后门,因为其具有较好的隐蔽性及免杀效果。下面,就来剖析一下该类后门的捆绑及免杀原理。

    一、后门制作
    制作捆绑型后门前,先得创建一个监听器用于与后门通信,点击 Cobalt Strike->Listener创建一个监听器,填上IP和端口号,点击save,就可完成创建。选择端口时,可以使用一些较少为使用的协议端口,好伪装,如下选择的2333端口,是snapp协议的端口。
    1565008512_5d4822801d513.png
    接下来,就可以制作捆绑型的后门,点击 攻击->package->Windows Dropper,填上待捆绑的文件(这里使用flash下载器),完成!
    1565008560_5d4822b0dc126.png
    生成的捆绑后门有个缺陷,就是图标不是原文件的图标,官网提示得自己使用图标编辑器进行更换。
    1565008576_5d4822c032791.png
    点击运行捆绑后门fake_flash.exe,表面上看跟原始的文件没啥区别,都是运行Flash下载器,然而,后面的CS已经通过捆绑后门连接上了该主机。
    1565008586_5d4822cac5509.png
    二、捆绑原理分析
    按照常规操作,捆绑后门应该是将恶意代码插入到原文件中并修改入口点地址进行劫持,然而当比对捆绑后门和原文件的结构时,发现这两个文件的PE结构完全不一样,看来应该不是上述的方法。
    1565008597_5d4822d576fc2.png
    生成一个CS非捆绑型后门进行比对,可以观察到,捆绑后门和非捆绑后门的PE结构几乎是一样的,前者只比后者多了一个.rsrc节段,这也说明,捆绑的方式应该是将整个原文件以.rsrc节段的方式附加到后门的末尾。
    1565008790_5d48239673260.png
    知道原文件存放的位置,那它是怎么样调用运行原文件的呢?使用bindiff对比捆绑型后门和非捆绑型后门,可以得知前者多了个4018BC函数,猜测该函数就是用来调用原文件的函数。
    1565008607_5d4822df60e32.png
    通过逆向分析,发现其调用逻辑很简单,运行后读取事先硬编码好的原文件大小,然后在相应的位置读取原文件数据,并释放到Documents目录下运行。这样,后门就可以实现运行恶意代码的同时,执行原文件,达到避开用户怀疑的效果。
    1565008616_5d4822e8dea8e.png
    根据代码中硬编码的原文件地址,我们可以在0x621D处定位到原文件,而在它前面0x1D的地方,存放着原文件的名字。
    1565008627_5d4822f38ee91.png
    在“我的文档”下,可以找到原文件flashplayerpp_install_cn.exe。这种捆绑方法的好处就是兼容性好,无论捆绑什么软件,只要将原文件数据追加到后门末尾就行了,但缺点也易见,PE代码结构与非捆绑型后门几乎一样,很容易被检测出来。
    1565008647_5d48230771e00.png
    三、后门核心功能分析
    看完4018BC函数后,程序还有两个函数4029D0和401800,这两个函数的功能分别是反沙箱以及释放运行shellcode,4029D0主要原理是通过循环执行垃圾代码来耗时绕过沙箱,接下来将主要分析核心函数401800。
    1565008658_5d48231222249.png
    该函数也使用了一个有趣的过沙箱的方法,它并没有将shellcode硬编码在程序中,而是硬编码了两段payload(其中一个payload使用命名管道的方式进行创建),将两段payload进行异或运算,得到最终的shellcode并运行,绕过了沙箱的虚拟执行检测。
    1565008674_5d4823222cbf0.png
    上图是payload1的生成方法,先创建一个命名管道XXX-MSSE-S-server,将payload1写入管道后,后续再从管道中读取payload1。这里可能大家有个疑惑,把payload1写入管道又读出来,这岂不是多此一举吗?其实并不是,它这样做是为了绕过沙箱的虚拟执行,沙箱有时候为了效率只会模拟一些敏感的函数,但像CreateNamePipeA这种函数比较少用的一般不会模拟,这就导致了沙箱无法获取payload1。
    1565008682_5d48232a7cab3.png
    官方解释如下:
    1565008699_5d48233b6d8c1.png

    得到payload1和payload2后,通过异或运算得到shellcode,并调用CreateThread执行。
    1565008714_5d48234a85fdd.png
    shellcode运行之后,会访问URL:192.168.0.101:2333/PIUn并执行该网页上的数据,从数据包中的加密数据可以看出,这应该是第二段恶意代码,主要功能就是接收并执行CS控制者所发来的恶意命令。
    1565008723_5d4823538bbec.png
    四、写在最后
    捆绑型软件被广泛用于传播木马及广告软件,而捆绑的目标一般都为安装包文件,因为安装包一般会提示用户使用管理员权限运行,这样捆绑的恶意代码就可以获得较高的权限。所以,提醒大家尽量不要下载来路不明的安装包,避免运行不明恶意代码的风险。

    *本文作者:深信服千里目安全实验室,转载请注明来自FreeBuf.COM







    上一篇:Scrivener For Mac v3.1.3 强大的写作工具 中文版
    下一篇:2019最新8月22单文件过360无提示写启动演示
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|腾龙技术论坛 ( 粤ICP备18109381号 )

    GMT+8, 2019-9-23 15:52 , Processed in 0.074382 second(s), 56 queries , Gzip On, Redis On.

    Powered by 腾龙技术论坛 X3.4

    © 2012-2018 腾龙技术论坛

    快速回复 返回顶部 返回列表
    {}