返回
顶部

下载链接:8yjk

启动

安装jdk,然后使用keytool生成证书

需要先切换到cobaltstrike目录

"C:\Program Files\Java\jdk1.8.0_161\bin
\keytool.exe" -keystore ./cobaltstrike.store -storepass 123456 -keypass 123456 -
genkey -keyalg RSA -alias cobaltstrike -dname "CN=Major Cobalt Strike, OU=Advanc
edPenTesting, O=cobaltstrike, L=Somewhere, S=Cyberspace, C=Earth"

启动teamserver

java -XX:ParallelGCThreads=4 -Dcobaltstrike.server_port=50050 -Djavax.net.ssl.keyStore=./cobaltstrike.store -Djavax.net.ssl.keyStorePassword=123456 -server -XX:+AggressiveHeap -XX:+UseParallelGC -classpath ./cobaltstrike.jar server.TeamServer 10.0.2.15 123456

10.0.2.15是你主机的IP

123456是密码

启动本地客户端

java -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar

1618843843847

Malleable C2 profile

官方文档

主要目的就是定制cobaltstrike的行为特征

profile的基本格式

1618844952383

profile的主要参数,sleeptimejitter

这两个参数,一个单位是毫秒,一个单位是百分比

举个例子来说明这两个参数的作用

假设前者值为60000,那么客户端就会每隔60s回连一次teamserver,如果jitter的值被设置为20,那么这个间隔时间就会在20%上下抖动,也就是说,回连间隔为60000*(100%+20%)~60000*(100%-20%)之间的随机值

每次回连的间隔时间为48~72之间的随机值

还有一个参数是useragent这里有一个所有的UA列表

最好的做法是将这个参数设置为目标内部用户的真实UA,某些比较牛逼的组织内部的网络监控可能会捕获异常的UA

maxdns这个参数是使用DNS上线的时候才会用到的,用这个参数的时候需要格外小心,它是用来限定DNS查询所查询的域名长度的,默认值为255,值越大,发送的DNS报文数量就越少,反之亦然,DNS报文数量过多会引起IDS、IPS的注意,同样查询的域名长度过长也会被检测到,因此需要根据实际情况来设置一个恰到好处的值

pipename参数用于设置使用SMB协议作为C2通道的Beacon的命名管道的名称,为了更好的伪装,可以使用目标内部常见的管道名称

find-named-pip

1618978916368

与上面这个参数相关联的另一个参数是spawnto,细分为spawnto_x86spawnto_x64,他俩用来指定注入shellcode的进程

这两个参数可以互相弥补来最大程度的伪装beacon

CobaltStrike使用自定义的profile

./teamserver [external IP] [password] [/path/to/my.profile]

如果需要检测profile文件中的语法是否正确,可以使用c2client进行验证

./c2lint [/path/to/my.profile]