Cobalt-Strike基本使用

Posted yumueat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cobalt-Strike基本使用相关的知识,希望对你有一定的参考价值。

Cobalt-Strike

简介

Cobalt Strike(简称为CS)是一款基于java的渗透测试工具(尤其是后渗透阶段),自3.0开始已经不再使用Metasploit框架而作为一个独立的平台使用,这款工具有其他很多渗透测试工具没有的团队合作功能,团队成员可以连接到同一个服务器上进行合作,共享攻击资源。

Cobalt Strike有端口转发、扫描、监听、生成各种木马、浏览器自动攻击等功能。

模块

文件

Cobalt strike

View

Attack

Packages

s = stageless

Web Drive-by

Spear Phish鱼叉钓鱼邮件

Reporting

IOC报告包括c2配置文件的流量分析,域名,IP和上传文件的MD5 hashes

社会工程报告包括鱼叉钓鱼邮件以及点击记录

战术技术以及相关程序报告保活行动对应的每种战术的检测策略和缓解策略

Help

工具栏

1.新建连接
2.断开当前连接
3.监听器
4.改变视图为Pivot Graph(视图列表)
5.改变视图为Session Table(会话列表)
6.改变视图为Target Table(目标列表)
7.显示所有以获取的受害主机的凭证
8.查看已下载文件
9.查看键盘记录结果
10.查看屏幕截图
11.生成无状态的可执行exe木马
12.使用java自签名的程序进行钓鱼攻击
13.生成office宏病毒文件
14.为payload提供web服务以便下载和执行
15.提供文件下载,可以选择Mime类型
16.管理Cobalt Strike上运行的web服务
17.帮助
18.关于

基本使用

开启程序/连接到服务端

  • 在程序文件夹下打开命令窗口

  • 配置服务端信息(这里就选用本机作为服务端),团队合作时就通过这个配置来连接到服务端

./teamserver <host> <password> [/path/to/c2.profile] [YYYY-MM-DD] <host> 必需参数 团队服务器IP <password> 必需参数 连接服务器的密码 [/path/to/c2.profile] 可选参数 指定C2通信配置文件,体现其强大的扩展性 [YYYY-MM-DD] 可选参数 所有payload的终止时间
  • 运行程序

在当前文件夹下打开一个命令窗口,然后输入./cobaltstrike,出现连接窗口即为成功

  • 填写连接信息

IP地址填服务端的IP,端口为默认的50050(端口可以在teamserver文件中修改),user为自己连接到服务端的名字,密码就是刚刚设置的服务端连接密码(我这里是123456),然后点击connect,连接成功后会进入应用程序,可以看到

攻击的基本流程

  • 新建一个监听

这里只是为了对流程进行说明,所以不对设置进行详细的讨论,上面的设置仅供参考

  • 生成payload

这里也这是做举例,实战远不止这些东西

接着会获得生成的木马

  • 使用木马

这里用的是win7的虚拟机来做实验

把刚刚生成的木马复制到命令行中运行,运行完后会发现有一个肉鸡上线了

后渗透阶段

选择interact即可与肉鸡进行交互

为了防止过于频繁的交互被发现,默认的交互时间是1分钟一次,这里的时间每满60会重置,同时进行一次交互

为了做实验,可以将这个时间缩短,用sleep命令可以设置这个时间,如sleep 1就是将交互时间设为1秒,也可以选中受害机右击设置时间

接着就可以通过下面的黑框进行后渗透了,如

更多的命令可以参考下面的常用命令

常用命令

大家再使用过程中会发现其实CS的每一个图形化界面中的操作都对应着一条命令,所以在使用图形化界面的时候就可以顺便看看其对应的命令,下面这些命令(除了help)都可以用图形化界面完成。

  • help: 查看可用命令
  • getuid: 获取当前用户的权限
  • getsystem: 获取system权限

Windows最低权限是guest,一般权限是user,人类最高可用权限是administrator,机器可用最高权限system,但实际上还有一个更高的权限TrustInstaller(信任的安装者),一般见不到。

  • getprivs: 获取当前beacon里面的所有权限(这个用户现在能干嘛)
  • net domain_trusts: 列出域之间的信任关系
  • net logons:查看现在在登录的用户
  • net share:查看共享
  • shell xxx: 在命令行中执行xxx命令
  • powerpick xxx:不通过powershell来执行命令

感谢

这篇文章模块部分内容借鉴了一些CSDN博主「小白白@」的原创文章内容,在此表示感谢,这里附上原文链接

ajax基本使用

  ajax在用于异步交互以来,一直被广泛使用,其使用语法格式基本如下:

  基本格式为$.ajxa({

    type:"",数据传送类型POST,GET

    url:"",处理地址

    data:"",传送数据,

    dataType:"",返回数据类型,

    success:function(){},成功并接收返回值,

    error:function(){},失败函数处理

});

                    $.ajax({
                            type:"POST",
                            url:"tp2.php",
                            data:formo.serialize(),
/*返回数据类型dataType,有json,html,xml,script,jsonp,text,JQuery将自动根据http包mime信息返回responseXML或responseText*/
                            dataType:"",//此处省略
                            success:function(result){
                                alert(result);
                                var getRsult= $.parseJSON(result);
                                if(getRsult.isOK){
                                    alert(getRsult.post);
                                }
                            else{
                                    alert("no meessage");
                                }
                        }

                        });    

  如果利用简写版本,当然实在jquery插件环境下,可直接使用$.post("处理地址",传输数据,接收处理函数);

如:

                        $.post("tp2.php",formo.serialize(),function(result){   
                            var getResult=$.parseJSON(result);// json字符串转对象
                            if(getResult.isOK){
                                alert(getResult.post);
                            }
                            else{
                                alert(getResult.isOK);
                            }
                        })

 

以上是关于Cobalt-Strike基本使用的主要内容,如果未能解决你的问题,请参考以下文章

web项目中基本的初级安全退出操作

Web浏览安全

Web浏览安全

Windows的基本网络安全问题

Web开发常见的几个漏洞解决方法

[Web安全入门]BURP基本使用详解