安全分析与研究
专注于全球恶意软件的分析与研究
Cobalt Strike简介
Cobalt Strike是一款基于java的渗透测试神器,也是红队研究人员的主要武器之一,功能非常强大,非常适用于团队作战,Cobalt Strike集成了端口转发、服务扫描,自动化溢出,多模式端口监听,win exe木马生成,win dll木马生成,java木马生成,office宏病毒生成,木马捆绑;钓鱼攻击包括:站点克隆,目标信息获取,java执行,浏览器自动攻击等,至于Cobalt Strike详细怎么玩,我就不介绍了,网上很多教程,功能也很强大,我主要想从逆向的角度去分析一下Cobalt Strike安装后门的技术原理,跟踪一下它是如何与服务器进行连接,并安装Beacon后门模块的。
搭建测试环境
测试环境:
1.服务端 kali 用于Cobalt Strike服务端
2.攻击机 win7 用于Cobalt Strike客户端
3.测试机 win7 测试安装Cobalt Strike的后门程序
工具
Cobalt Strike 4.1中文版
启动Cobalt Strike服务器,如下所示:
启动Cobalt Strike客户端,生成EXE后门,如下所示:
Cobalt Strike监听器的Payload可以自定义设置,我这里以Beacon HTTP为例,如下所示:
生成EXE后门之后在测试机上运行,客户端会提示有主机上线,开启beacon操作接口,如下所示:
后面就可进行各种操作了,这里就不介绍了,教程很多,也有很多不同的玩法,我主要对生成的EXE比较感兴趣,重点研究一下生成的EXE,是怎么运行的。
逆向跟踪分析
1.拼接字符串,如下所示:
2.创建线程,连接管道,如下所示:
3.通过VirtualAlloc分配内存空间,解密shellcode代码,如下所示:
4.解密出来shellcode代码,如下所示:
5.跳转执行解密出来的shellcode代码,如下所示:
6.shellcode代码,加载wininet.dll,如下所示:
7.调用InternetOpenA,InternetConnectA等函数连接服务器,如下所示:
8.调用HttpOpenRequestA,HttpSendRequestA等函数向服务器发送连接请求,如下所示:
9.调用VirtualAlloc分配内存空间,存放返回的数据,如下所示:
10.通过InternetReadFile循环读取服务器返回的数据,如下所示:
11.从服务器上返回的数据,如下所示:
分析返回的数据,为Cobalt Strike反射型注入后门模块beacon.dll,如下所示:
这样beacon的后装模块就安装成功了,就是之前我们在客户端上通过beacon的后门模块进行后面的操作了。
通过动态跟踪分析发现Cobalt Strike的Revere HTTP的ShellCode执行流程,如下所示:
wininet.dll->InternetOpenA->InternetConnectA->HttpOpenRequestA->HttpSendRequestA->VirtualAlloc->InternetReadFile,反射加载执行返回的beacon.dll后门模块。
上面对Cobalt Strike的Bean HTTP Reverse的Payload的实例进行了逆向分析,其他的Payload模块可以使用相同的方法进行跟踪分析,就不做介绍了,可自行进行深入的研究,其实做安全到最后都是相通的,基础安全研究才是安全的核心。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论