欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

内网安全学习从入门到入狱-神器-Cobalt Strike-二-Beacon简介和使用

程序员文章站 2022-05-15 22:09:28
...

内网安全学习从入门到入狱-神器-Cobalt Strike2-Beacon简介和使用

内网安全学习从入门到入狱-工具-Cobalt Strike(cs)基础

上一次Cobalt Strike写到简单的介绍和启动服务和打开

  • 这一次我们写简单的木马生成以便介绍后续的功能
  • 介绍一下beacon的作用和一下常用的操作

0x01简单的木马打到一台PC

我们得有一个机子才能做后续的实验吧,所以

这算是获得了一个入口的机器

这才是一台win7来介绍一下beacon

生成win的 Payload

1、attacks-packages-Windows excutable

内网安全学习从入门到入狱-神器-Cobalt Strike-二-Beacon简介和使用

2、点击ADD,增加一个监听器

内网安全学习从入门到入狱-神器-Cobalt Strike-二-Beacon简介和使用

3、name随便写,host写服务器地址默认,端口自己定

内网安全学习从入门到入狱-神器-Cobalt Strike-二-Beacon简介和使用

4、点击save,出现一个exe,自己放到win7里面运行一下

5、主机上线

内网安全学习从入门到入狱-神器-Cobalt Strike-二-Beacon简介和使用

0x02 beacon的介绍和使用

Beacon简介

  • 那个作者说Beacon是Cobalt Strike运行在目标主机上的payload
  • 翻译过来是叫信标,我觉得这个好理解
  • Beacon在隐蔽信道上我们提供服务,用于长期控制受感染主机**。**
  • 它的工作方式与Metasploit Framework Payload类似
  • Beacon嵌入到可执行文件、添加到Word文档和一些漏洞 来传递Beacon

执行我们的Payload后,即可发现目标机已经上线

Beacon有两种通信策略(与团队服务器通信-CS 中以团队服务器作为 C2)

  1. 异步式通信 = 异步模式下通信频率低、速度慢,如上图所示:Beacon会主动请求任务列表、然后进入SLEEP状态。

  2. 交互式通信 = C2 对 Beacon 实时控制

Beacon分类:

  1. HTTP and HTTPS Beacon

  2. DNS Beacon

  3. SMB Beacon

http beacon

这个应该最简单,关键是Beacon通过GET请求来下载任务

DNS beacon

DNS Beacon在绕过防火墙 权限维持上非常有效

下面是主要流程,简单来说,就是靠dns解析找到你

整个配置过程非常简单,一条A记录和几条NS记录即可

配置A记录指向服务器ip ns记录都指向A记录域名

内网安全学习从入门到入狱-神器-Cobalt Strike-二-Beacon简介和使用

SMB beacon

这种Beacon要求具有SMB Beacon的主机必须接受端口445上的连接。

派生一个SMB Beacon方法:

在Listner生成SMB Beacon>目标主机>右键> spawn as>选中对应的Listener>上线

或在Beacon中使用命令spawn 监听器

进入beacon

1、右键目标interact来使用Beacon,我们用它来执行各种命令

内网安全学习从入门到入狱-神器-Cobalt Strike-二-Beacon简介和使用

2、下放输入help 查看功能

Beacon中输入help来获取。

内网安全学习从入门到入狱-神器-Cobalt Strike-二-Beacon简介和使用

在这贴出一部分汉化的命令:

Beacon Commands
 Command Description
 ------- -----------
 browserpivot 注入受害者浏览器进程
 bypassuac 绕过UAC
 cancel 取消正在进行的下载
 cd 切换目录
 checkin 强制让被控端回连一次
 clear 清除beacon内部的任务队列
 connect Connect to a Beacon peer over TCP
 covertvpn 部署Covert VPN客户端
 cp 复制文件
 dcsync 从DC中提取密码哈希
 desktop 远程VNC
 dllinject 反射DLL注入进程
 dllload 使用LoadLibrary将DLL加载到进程中
 download 下载文件
 downloads 列出正在进行的文件下载
 drives 列出目标盘符
 elevate 尝试提权
 execute 在目标上执行程序(无输出)
 execute-assembly 在目标上内存中执行本地.NET程序
 exit 退出beacon
 getprivs Enable system privileges on current token
 getsystem 尝试获取SYSTEM权限
 getuid 获取用户ID
 hashdump 转储密码哈希值
 help 帮助
 inject 在特定进程中生成会话
 jobkill 杀死一个后台任务
 jobs 列出后台任务
 kerberos_ccache_use 从ccache文件中导入票据应用于此会话
 kerberos_ticket_purge 清除当前会话的票据
 kerberos_ticket_use 从ticket文件中导入票据应用于此会话
 keylogger 键盘记录
 kill 结束进程
 link Connect to a Beacon peer over a named pipe
 logonpasswords 使用mimikatz转储凭据和哈希值
 ls 列出文件
 make_token 创建令牌以传递凭据
 mimikatz 运行mimikatz
 mkdir 创建一个目录
 mode dns 使用DNS A作为通信通道(仅限DNS beacon)
 mode dns-txt 使用DNS TXT作为通信通道(仅限D beacon)
 mode dns6 使用DNS AAAA作为通信通道(仅限DNS beacon)
 mode http 使用HTTP作为通信通道
 mv 移动文件
 net net命令
 note 备注 
 portscan 进行端口扫描
 powerpick 通过Unmanaged PowerShell执行命令
 powershell 通过powershell.exe执行命令
 powershell-import 导入powershell脚本
 ppid Set parent PID for spawned post-ex jobs
 ps 显示进程列表
 p**ec Use a service to spawn a session on a host
 p**ec_psh Use PowerShell to spawn a session on a host
 psinject 在特定进程中执行PowerShell命令
 pth 使用Mimikatz进行传递哈希
 pwd 当前目录位置
 reg Query the registry
 rev2self 恢复原始令牌
 rm 删除文件或文件夹
 rportfwd 端口转发
 run 在目标上执行程序(返回输出)
 runas 以另一个用户权限执行程序
 runasadmin 在高权限下执行程序
 runu Execute a program under another PID
 screenshot 屏幕截图
 setenv 设置环境变量
 shell cmd执行命令
 shinject 将shellcode注入进程
 shspawn 生成进程并将shellcode注入其中
 sleep 设置睡眠延迟时间
 socks 启动SOCKS4代理
 socks stop 停止SOCKS4
 spawn Spawn a session 
 spawnas Spawn a session as another user
 spawnto Set executable to spawn processes into
 spawnu Spawn a session under another PID
 ssh 使用ssh连接远程主机
 ssh-key 使用**连接远程主机
 steal_token 从进程中窃取令牌
 timestomp 将一个文件时间戳应用到另一个文件
 unlink Disconnect from parent Beacon
 upload 上传文件
 wdigest 使用mimikatz转储明文凭据
 winrm 使用WinRM在主机上生成会话
 wmi 使用WMI在主机上生成会话
 argue 进程参数欺骗

简单的命令执行

Beacon中不能直接输入cmd命令,

如果让目标机执行ipconfig这条cmd命令,对应的Beacon命令是 shell ipconfig

回显的命令

shell +command

当前目录路径

pwd

使用powershell

powershell +command

最常用的修改心跳包

  • 在Cobalt Strike中它的心跳默认是60s(即sleep时间为60s,每一分钟目标主机与teamserver通信一次)
  • 这会让我们执行命令或进行其他操作响应很慢。
  • 如果sleep时间过长,在下载文件面前更为明显,所以在测试时会把时间降低一点 。
  • 我一般先执行sleep 5 ,让相应快一点,但是建议不要太快。如果有下载或者远程VNC这种需要快速网络的 可直接 sleep 0

内网安全学习从入门到入狱-神器-Cobalt Strike-二-Beacon简介和使用

相关标签: 内网安全