CobaltStrike的使用
目录
01
CobaltStrike
CobaltStrike是一款渗透测试神器,被业界人称为CS神器。CobaltStrike分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。
CobaltStrike集成了端口转发、服务扫描,自动化溢出,多模式端口监听,windows exe 木马生成,windows dll 木马生成,java 木马生成,office 宏病毒生成,木马捆绑。钓鱼攻击包括:站点克隆,目标信息获取,java 执行,浏览器自动攻击等等强大的功能!
02
CobaltStrike的安装
我这里以Kali安装为例:
先去下载jdk版本
上传到Kali中,解压:tar -xzvf jdk-8u191-linux-x64.tar.gz
移动到opt目录下:mv jdk1.8.0_191/ /opt/
进入jdk目录:cd /opt/jdk1.8.0_191
执行 vim ~/.bashrc , 并添加下列内容
# install JAVA JDK
export JAVA_HOME=/opt/jdk1.8.0_191
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存退出
执行: source ~/.bashrc
执行:
update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_191/bin/java 1
update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_191/bin/javac 1
update-alternatives --set java /opt/jdk1.8.0_191/bin/java
update-alternatives --set javac /opt/jdk1.8.0_191/bin/javac
查看结果:
update-alternatives --config java
update-alternatives --config javac
安装好了java之后,我们就去安装CobaltStrike了!
上传到Kali中,解压:unzip cobaltstrike-linux.zip
进入cobalstrike中:cd cobaltstrike-linux/
启动服务端:
启动服务端:./teamserver 192.168.10.11 123456 #192.168.10.11是kali的ip地址,123456是密码
后台运行,关闭当前终端依然运行:nohup ./teamserver 192.168.10.11 123456 &
这里CobaltStrike默认监听的是50050端口,如果我们想修改这个默认端口的话,可以打开teamserver文件,将其中的50050修改成任意一个端口号
启动客户端:
./cobaltstrike
这里host填kali的ip,密码就是刚刚我们启动的密码。
启动后的客户端:
我们也可以打开windows下的cobaltstrike客户端,然后把ip设置为我们的启动时候的ip即可。
03
CobaltStrike的使用
创建监听器:
点击左上方CobaltStrike选项——>在下拉框中选择 Listeners ——>在下方弹出区域中单机add
name:为监听器名字,可任意
payload:payload类型
Host: shell反弹的主机,也就是我们kali的ip
Port: 反弹端口
这里Payload有9种选项,如下:
内部的Listener
外部的Listener
创建Attacks:
点击中间的Attacks——>Packages
这里Attacks有几种,如下:
点击中间的Attacks——>Web Drive-by(网站钓鱼攻击)
点击中间的View
04
对被控主机的操作
Interact 打开beacon
Access
dump hashes 获取hash
Elevate 提权
Golden Ticket 生成黄金票据注入当前会话
MAke token 凭证转换
Run Mimikatz 运行 Mimikatz
Spawn As 用其他用户生成Cobalt Strike的beacon
Explore
Browser Pivot 劫持目标浏览器进程
Desktop(VNC) 桌面交互
File Browser 文件浏览器
Net View 命令Net View
Port scan 端口扫描
Process list 进程列表
Screenshot 截图
Pivoting
SOCKS Server 代理服务
Listener 反向端口转发
Deploy V** 部署V**
Spawn 新的通讯模式并生成会话
Session 会话管理,删除,心跳时间,退出,备注
抓取hash和dump明文密码
这两项功能都需要管理员或System权限
抓取密码哈希:右键被控主机——>Access——>Dump Hashes
利用mimikatz抓取明文密码:右键被控主机——>Access——>Run Mimikatz
默认有三个提权payload可以使用,分别是MS14-058、uac-dll、uac-token-duplication 。
我们选中MS14-058,点击Launch
之后就弹回来一个system权限的beacon
我们也可以自己加入一些提权脚本进去。在Github上有一个提权工具包,使用这个提权工具包可以增加几种提权方法:https://github.com/rsmudge/ElevateKit 。我们下载好该提权工具包后
如下:
再打开我们的提权,可以看到多了几种提权方式了
利用被控主机建立Socks4代理
当我们控制的主机是一台位于公网和内网边界的服务器 ,我们想利用该主机继续对内网进行渗透,于是,我们可以利用CS建立socks4A代理
右键被控主机——>Pivoting——>SOCKS Server
这里是SOCKS代理运行的端口,任意输入一个未占用的端口即可,默认CS会给出一个,我们直接点击Launch即可
于是,我们在自己的主机上设置Socks4代理。代理ip是我们CS服务端的ip,端口即是 38588。
如果我们想查看整个CS代理的设置,可以点击View——>Proxy Pivots
进程列表(注入进程,键盘监控)
右键被控主机——>Explore——>Process List
即可列出进程列表
选中该进程,Kill为杀死该进程,Refresh为刷新该进程,Inject 则是把beacon注入进程,Log Keystrokes为键盘记录,Screenshot 为截图,Stea Token为窃取运行指定程序的用户令牌
这里着重讲一下注入进程和键盘记录
Inject注入进程
选择进程,点击Inject,随后选择监听器,点击choose,即可发现CobaltStrike弹回了目标机的一个新会话,这个会话就是成功注入到某进程的beacon会话。该功能可以把你的beacon会话注入到另外一个程序之中,注入之后,除非那个正常进程被杀死了,否则我们就一直可以控制该主机了。
键盘记录
任意选择一个进程,点击Log Keystrokes,即可监听该主机的键盘记录
查看键盘记录结果:点击钥匙一样的按钮,就可以在底下看到键盘记录的详细了,会监听所有的键盘记录,而不只是选中的进程的键盘记录
键盘监听记录,也可以直接输入 keylogger
待更新生成黄金票据注入当前会话(Golden Ticket) 和凭证转换(Make Token)以及CobaltStrike更多的用法。后续更新地址:https://blog.csdn.net/qq_36119192/article/details/89489609
END
来源:谢公子的博客
责编:Vivian