CentOS搭建CobaltStrike[公网环境]

Cobalt Strike是一款以Metasploit为基础的GUI的框架式渗透工具,集成了端口转发、服务扫描,自动化溢出,多模式端口监听,win exe木马生成,win dll木马生成,java木马生成,office宏病毒生成,木马捆绑;钓鱼攻击包括:站点克隆,目标信息获取,java执行,浏览器自动攻击等等;还可以联动Metaspolit进行更多操作。
images
接触CobaltStrike这么久,也看到过好多大牛发的CobaltStrike文章,我们知道在研究CobaltStrike甚至是Metasploit都是在内网环境中,让人很尴尬的就是没有公网地址,在测试一些东西都是内网环境,又或者是我们打下一台边界主机在上面架设一个CobaltStrike,本文主要是在vps搭建CobaltStrike服务端,解决打单点主机的一些问题,如果你打下了一台边界主机或者是拿到一些肉鸡也可以参考这边文章,菜鸟一枚大佬下手轻点~

0x01 搭建JDK环境

CobaltStrike是Java开发所以在Windows或Linux上使用都需要一个Java环境,所以我们需要先安装JDK环境。

vps环境如下:
CentOS 7.7
jdk-8u241-linux-x64.tar.gz (由于现在下载JDK包需要注册Oracle账号,如果你们不想那么麻烦,点击下载!)
CobaltStrike 4.0 (这里分享ssooking大神提供的cobaltstrike4.0 cracked版本)

先上传JDK安装包,理论上OpenJDK也是可行的,但是我这里演示源码安装~

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#查询是否之前有jdk环境,如有先卸载
$ rpm -qa | grep java
$ tar xf jdk-8u241-linux-x64.tar.gz -C /usr/local/
#编辑/etc/profile文件添加一下内容
$ vim /etc/profile

# JDK Environment Configuration
export JAVA_HOME=/usr/local/jdk1.8.0_241
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

$ soure /etc/profile

# 测试命令
$ java -version
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)

0x02 CobaltStrike

上传CobaltStrike到你的服务器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$ ls
agscript cobaltstrike.bat crackInfo.txt libicmp.so LICENSE.txt readme.txt teamserver
c2lint cobaltstrike.jar icon.jpg libtapmanager64.so NOTICE.TXT start.bat third-party
cobaltstrike.auth cobaltstrike.store libicmp64.so libtapmanager.so peclone start.sh

# 服务端为teamserver且设为可执行
$ ./teamserver -h
[*] Will use existing X509 certificate and keystore (for SSL)
[*] ./teamserver <host> <password> [/path/to/c2.profile] [YYYY-MM-DD]

<host> is the (default) IP address of this Cobalt Strike team server
<password> is the shared password to connect to this server
[/path/to/c2.profile] is your Malleable C2 profile
[YYYY-MM-DD] is a kill date for Beacon payloads run from this server

# 可以看到执行teamserver后面的参数为主机加密码,其他C2扩展和终止服务时间可看自身自身情况去考量
# ./teamserver vps公网ip 客户端登录密码 如果不知道自己公网ip可以执行命令curl ip.me/curl ipinfo.io/json

$ ./teamserver 4*.***.***.*3 abc-123
[*] Will use existing X509 certificate and keystore (for SSL)
[+] Team server is up on 50050
[*] SHA256 hash of SSL cert is: a058b809e51c6a2aab6fbf98f35e5b9fb9ce8aa7c4da4cdd8b76fa5fdaf4aef8

# 注意的是CobaltStrike默认端口是50050,所以你要确保客户端与服务端通讯正常且你的安全组或者防火墙放行端口流量
# selinux和firewall命令参考本博客linux常用命令速查文章自行查询

# 临时关闭selinux和firewalld防火墙
$ systemctl stop firewalld
$ setenforce 0

安全组放行配置
image

0x03 客户端连接

可以直接运行start.bat或者复制里面的命令在powershell或cmd执行命令
image

运行后弹出登录框输入你的服务端公网ip和密码登录即可
image

登录后界面
image

0x03 END

最后到此CobaltStrike就完成,从业的第四年,发现自己还是碌碌无为。还是一个没技术的屌丝人士,干啥是不行~
挺遗憾的就是今年拿到某国企实验室Offer以为屌丝要逆袭了!!万万没想到的是某些原因还是无缘~感叹这就是人生大起大落!