内网安全学习从入门到入狱-神器-Cobalt Strike2-Beacon简介和使用
内网安全学习从入门到入狱-神器-Cobalt Strike-二-Beacon简介和使用
内网安全学习从入门到入狱-工具-Cobalt Strike(cs)基础
上一次Cobalt Strike写到简单的介绍和启动服务和打开
- 这一次我们写简单的木马生成以便介绍后续的功能
 
- 介绍一下beacon的作用和一下常用的操作
 
0x01简单的木马打到一台PC
我们得有一个机子才能做后续的实验吧,所以
这算是获得了一个入口的机器
这才是一台win7来介绍一下beacon
生成win的 Payload
1、attacks-packages-Windows excutable

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

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

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

0x02 beacon的介绍和使用
Beacon简介
- 那个作者说Beacon是Cobalt Strike运行在目标主机上的payload
 
- 翻译过来是叫信标,我觉得这个好理解
 
- Beacon在隐蔽信道上我们提供服务,用于长期控制受感染主机**。**
 
- 它的工作方式与Metasploit Framework Payload类似
 
- Beacon嵌入到可执行文件、添加到Word文档和一些漏洞 来传递Beacon
 
执行我们的Payload后,即可发现目标机已经上线
Beacon有两种通信策略(与团队服务器通信-CS 中以团队服务器作为 C2)
异步式通信 = 异步模式下通信频率低、速度慢,如上图所示:Beacon会主动请求任务列表、然后进入SLEEP状态。
 
交互式通信 = C2 对 Beacon 实时控制
 
Beacon分类:
HTTP and HTTPS Beacon
 
DNS Beacon
 
SMB Beacon
 
http beacon
这个应该最简单,关键是Beacon通过GET请求来下载任务
DNS beacon
DNS Beacon在绕过防火墙 权限维持上非常有效
下面是主要流程,简单来说,就是靠dns解析找到你
整个配置过程非常简单,一条A记录和几条NS记录即可
配置A记录指向服务器ip ns记录都指向A记录域名

SMB beacon
这种Beacon要求具有SMB Beacon的主机必须接受端口445上的连接。
派生一个SMB Beacon方法:
在Listner生成SMB Beacon>目标主机>右键> spawn as>选中对应的Listener>上线
或在Beacon中使用命令spawn 监听器
进入beacon
1、右键目标interact来使用Beacon,我们用它来执行各种命令

2、下放输入help 查看功能
Beacon中输入help来获取。

在这贴出一部分汉化的命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
   | 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
回显的命令
当前目录路径
使用powershell
最常用的修改心跳包
- 在Cobalt Strike中它的心跳默认是60s(即sleep时间为60s,每一分钟目标主机与teamserver通信一次)
 
- 这会让我们执行命令或进行其他操作响应很慢。
 
- 如果sleep时间过长,在下载文件面前更为明显,所以在测试时会把时间降低一点 。
 
- 我一般先执行sleep 5 ,让相应快一点,但是建议不要太快。如果有下载或者远程VNC这种需要快速网络的 可直接 sleep 0
 
