内网安全学习从入门到入狱-神器-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
