
CS 学习笔记
CS 学习笔记
TeamsSix
我的公众号:TeamsSix
展开
-
【CS学习笔记】1、如何搭建自己的渗透测试环境
0x00 前言第一次接触CS的时候,是有人在群里发了一个CS最新版的安装包,当时第一反应,CS ???作为小白的我,在角落里看着群里的大佬们讨论的十分起劲儿,而我这个萌新对于他们所讨论的东西却听都没听过。于是乎,新的一期学习笔记开整,本期学习笔记如题:《Cobalt Strike学习笔记》,简称《CS学习笔记》,这期笔记预计会更新28篇文章,学习资源来自B站视频,视频链接在文章底部。由于这...原创 2020-04-19 21:26:32 · 915 阅读 · 0 评论 -
【CS学习笔记】2、如何连接团队服务器
0x00 前言上一篇说了一些有的没的,现在来正式学习Cobalt Strike。Cobalt Strike使用C/S架构,Cobalt Strike的客户端连接到团队服务器,团队服务器连接到目标,也就是说Cobalt Strike的客户端不与目标服务器进行交互,那么Cobalt Strike的客户端如何连接到团队服务器就是本文所学习的东西。0x01 准备工作Cobalt Strike的客户...原创 2020-04-19 21:31:07 · 974 阅读 · 0 评论 -
【CS学习笔记】3、如何进行分布操作
0x00 最基本的团队服务模型这里介绍最基本的团队服务模型,具体由三个服务器构成,具体如下所示:临时服务器(Staging Servers)临时服务器介于持久服务器和后渗透服务器之间,它的作用主要是方便在短时间内对目标系统进行访问。它也是最开始用于传递payload、获取初始权限的服务器,它承担初始的权限提升和下载持久性程序的功能,因此这个服务器有较高暴露风险。持久服务器(Lon...原创 2020-04-20 09:49:11 · 456 阅读 · 0 评论 -
【CS学习笔记】4、快速登陆和生成会话报告
0x00 介绍Cobalt Strike生成报告的目的在于培训或帮助蓝队,在Reporting菜单栏中就可以生成报告,关于生成的报告有以下特点:输出格式为PDF或者Word格式可以输出自定义报告并且更改图标(Cobalt Strike --> Preferences -->Reporting)可以合并多个团队服务器的报告,并可以对不同报告里的时间进行校正0x01 导出报告...原创 2020-04-20 09:59:30 · 397 阅读 · 0 评论 -
【CS学习笔记】5、如何建立Payload处理器
这一小节学起来感觉有些吃力,里面很多概念理解的不是很清楚,如果有大佬看到描述错误的地方欢迎留言指正,避免误导他人。再次声明,这只是我的个人学习笔记,不要当成教程去看,建议想学习CS的小伙伴可以看看A-TEAM的中文手册或者网上的一些视频教程。0x00 监听器管理什么是监听器顾名思义,监听器就是等待被入侵系统连接自己的一个服务。监听器的作用主要是为了接受payload回传的各类数...原创 2020-04-25 19:32:41 · 1026 阅读 · 0 评论 -
【CS学习笔记】6、DNS_beacon的作用
由于笔者在学习CS过程中,所看的教程使用的是3.x版本的CS,而我使用的是4.0版本的CS。因此域名配置实操部分是自己参考网上大量文章后自己多次尝试后的结果,所以难免出现错误之处,要是表哥发现文中错误的地方,欢迎留言指正。0x00 DNS Beacon 的工作原理DNS Beacon,顾名思义就是使用DNS请求将Beacon返回。这些 DNS 请求用于解析由你的 CS 团队服务器作为权威 DN...原创 2020-05-05 20:03:00 · 1293 阅读 · 0 评论 -
【CS学习笔记】10、如何管理Payload载荷
0x00 前言到目前为止,已经学过了如何在有漏洞的目标上获取立足点的方法,接下来将继续学习后渗透相关的知识,这一节就来学习学习 beacon 的管理、会话传递等。0x01 Beacon 的管理Beacon 控制台在一个 Beacon 会话上右击 interact(交互)即可打开 Beacon 控制台,如果想对多个会话进行控制,也只需选中多个会话,执行相关功能即可。在 Beacon 的控制台中的输入与输出之间,是一个状态栏,状态栏上的信息分别是:目标 NetBIOS 名称、用户名、会话PID以及原创 2020-06-27 14:19:47 · 1033 阅读 · 0 评论 -
【CS学习笔记】11、用户驱动溢出攻击
0x00 前言Beacon 运行任务的方式是以jobs去运行的,比如键盘记录、PowerShell 脚本、端口扫描等,这些任务都是在 beacon check in 之间于后台运行的。jobs:查看当前 Beacon 中的任务jobkill:加上任务 ID,对指定任务进行停止0x01 屏幕截图和键盘记录屏幕截图screenshot:获取屏幕截图,使用screenshot pid来将截屏工具注入到一个 x86 的进程中,使用screenshot pid x64注入到一个 x64 进程中,explo原创 2020-06-27 14:22:50 · 441 阅读 · 0 评论 -
【CS学习笔记】12、特权提升
0x00 用户账户控制自 Windows vista 开始,Windows 系统引进了用户账户控制机制,即 UACUser Account Control机制,UAC 机制在 Win 7中得到了完善。UAC 与 UNIX 中的 sudo 工作机制十分相似,平时用户以普通权限工作,当用户需要执行特权操作时,系统会询问他们是否要提升权限。此时系统用户可分为以下三种等级:高:管理员权限中:一般用户权限低:受限制的权限使用whoami /groups命令可以看到当前用户所在的组以及权限,使用net lo原创 2020-06-28 10:48:39 · 1923 阅读 · 0 评论 -
【CS学习笔记】13、bypassuac
Bypass UAC 有两个步骤,分别是:1、利用 UAC 漏洞来获取一个特权文件副本2、使用 DLL 劫持进行代码执行首先使用shell whoami /groups查看当前上线主机用户的所属组及 UAC 等级通过返回信息可以看出,当前用户为管理员权限,UAC 等级为中,根据上一节中关于的介绍,此时可以使用bypassuac进行提权。首先,右击会话,选择Access --> Elevate,这里选择一个 SMB Beacon,Exploit 选择uac-token-duplication原创 2020-07-08 22:42:41 · 630 阅读 · 0 评论 -
【CS学习笔记】14、powerup提权的方法
0x00 介绍PowerUp 所做的事是寻找可能存在弱点的地方,从而帮助提权。利用 PowerUp 进行提权需要首先导入 ps1 文件powershell-import PowerUp.ps1,再执行powershell Invoke-AllChecks命令,使用 PowerUp 脚本可以快速的帮助我们发现系统弱点,从而实现提权的目的。其中PowerUp.ps1文件可从这里下载:https://github.com/PowerShellMafia/PowerSploit/tree/master/Pr原创 2020-07-23 22:58:33 · 1957 阅读 · 0 评论 -
【CS学习笔记】15、枚举的命令和方法
0x00 Windows 企业局域网环境介绍1、活动目录活动目录Active Directory是一种能够集中管理用户、系统和策略的技术,活动目录的一个重要概念就是域。Active Directory 存储有关网络上对象的信息,并让管理员和用户可以更容易地使用这些信息。例如 Active Directory 域服务即 AD DS 存储着有关用户账户的信息,并且使同一网络下的其他授权用户可以访问此信息。2、域域Domain即是一个管理员或者说是网络边界,在域里的用户和系统都是通过 AD进行管理的。原创 2020-08-11 23:52:41 · 488 阅读 · 0 评论 -
【CS学习笔记】16、用户枚举三个关键步骤
0x00 前言用户枚举的三个关键步骤:1、当前账号是否为管理员账号?2、哪些账号是域管理员账号?3、哪个账号是这个系统上的本地管理员账号?0x01 管理员账号第一个关键步骤,发现管理员账号。如果想知道自己是否为管理员账号,可以尝试运行一些只有管理员账号才有权限操作的命令,然后通过返回结果判断是否为管理员。其中一种方式是尝试列出仅仅只有管理员才能查看的共享列表,比如下面的 dir \\host\C$ 命令,如果可以看到一个文件列表,那么说明可能拥有本地管理员权限。shell dir \\ho原创 2020-08-21 00:56:00 · 627 阅读 · 0 评论 -
【CS学习笔记】17、登录验证的难点
0x00 前言如果当前账号权限被系统认为是本地管理员权限,那么就可以执行很多管理员才能做的事,接下来就来看一下这样的一个过程是如何工作的,其中会涉及到以下要点:1、Access Token 登录令牌2、Credentials 凭证3、Password Hashes 密码哈希4、Kerberos Tickets 登录凭据0x01 登录令牌登录令牌在登录之后被创建与每个进程和线程相关联包括:用户和用户组的信息本地计算机上的特权列表限制(删除用户和用户组的权限)参考凭证(支持单点登录原创 2020-08-25 18:54:51 · 1392 阅读 · 0 评论 -
【CS学习笔记】18、密码哈希散列设置信任
0x00 前言继续上一节密码哈希的部分,在上一节中讲到了使用密码生成用户的令牌,从而取得系统的信任,这一节将介绍使用密码的哈希值来取得系统的信任。0x01 密码哈希首先使用 hashdump 获取用户的密码哈希值,这里的 beacon 会话为 SYSTEM 权限。beacon> hashdump[*] Tasked beacon to dump hashes[+] host called home, sent: 82501 bytes[+] received password hashe原创 2020-08-29 12:10:24 · 677 阅读 · 0 评论 -
【CS学习笔记】19、代码执行的方式
0x00 前言实现代码执行的四个步骤:1、与目标建立信任关系2、复制可执行文件到目标上3、在目标上运行可执行文件4、实现对目标的控制以上是根据视频教程中直译的结果,个人感觉其实这一节叫横向移动的方法更为合适。0x01 创建可执行文件创建可执行文件可以在 Cobalt Strike 的 Attack -> Packages -> Windows Executable(s) 处进行创建。如果用于内网中的横向移动,那么强烈建议使用 SMB Beacon,SMB Beacon 就是为原创 2020-08-30 17:18:55 · 779 阅读 · 0 评论 -
【CS学习笔记】20、通过Socks转发的方法
0x00 前言这一小节中,将看看如何构建一个 SOCKS 代理服务器使一个上线主机变成我们的跳板机。0x01 Pivoting根据 A-Team 团队中 CS 手册中的介绍,Pivoting 是指 将一个受害机器转为其他攻击和工具的跳板 的操作。在进行 Pivoting 操作之前,需要将当前会话改为交互模式,也就是说输入命令就被执行,执行 sleep 0 即为交互模式。0x02 Socks在当前 beacon 上可以右击选择 Pivoting --> SOCKS Server 设原创 2020-09-05 17:03:49 · 1868 阅读 · 0 评论 -
【CS学习笔记】21、反向转发通道的建立
0x00 前言这一节将介绍使用 ProxyChains 进行代理转发与使用反向转发的方法。0x01 使用 ProxyChains 进行代理转发介绍使用 ProxyChains 可以使我们为没有代理配置功能的软件强制使用代理和上一节中介绍的一致,开启一个 socks 代理服务配置 /etc/proxychains.conf 文件运行 proxychains + 待执行命令演示接下来继续上一节中的演示环境:攻击机 IP:192.168.175.200上线主机:外部IP 192.168原创 2020-09-12 14:55:04 · 679 阅读 · 0 评论 -
【CS学习笔记】22、通过SSH开通通道
0x00 前言这一节将来介绍如何通过 SSH 通道进行攻击。0x01 通过 SSH 建立通道1、连接到上图中蓝色区域里的 PIVOT 主机并开启端口转发ssh -D 1080 user@<blue pivot>该命令中的 -D 参数会使 SSH 建立一个 socket,并去监听本地的 1080 端口,一旦有数据传向那个端口,就自动把它转移到 SSH 连接上面,随后发往远程主机。2、在红色区域的 PIVOT 主机上开启通过 SSH Socks 的 445 端口转发socat原创 2020-09-15 20:10:35 · 641 阅读 · 0 评论 -
【CS学习笔记】23、malleable命令
0x00 前言这节课将来看看如何优化 CS 的攻击载荷,从而使它更方便、隐蔽些。0x01 malleable 命令和控制malleable 是一种针对特定领域的语言,主要用来控制 Cobalt Strike Beacon在开启 teamserver 时,在其命令后指定配置文件即可调用,比如:./teamserver [ip address] [password] [profile]0x02 编写配置文件1、定义事务指标http-get { # 指标}http-post { # 指标原创 2020-09-22 14:27:55 · 416 阅读 · 0 评论 -
【CS学习笔记】24、C2lints实例演示
0x00 前言续上一节,在GitHub 上有一些配置文件的示例,项目地址:https://github.com/rsmudge/Malleable-C2-Profiles这一节将使用该项目中的 Malleable-C2-Profiles/APT/havex.profile 配置文件作为示例。0x01 测试配置文件是否有效可以使用 c2lint 工具对配置文件进行测试,以判断配置文件编写的是否有效。来到 cobalt strike 目录下,可以看到有一个 c2lint 文件,该文件需要在 Linux原创 2020-09-22 14:31:56 · 2484 阅读 · 3 评论 -
【CS学习笔记】25、邮件防御
0x00 前言Cobalt Strike 不是什么工作情况都能胜任的工具,因此就需要我们根据不同的情况去做一些辅助工作。最后这几节将学习免杀部分的东西,这一节将主要介绍邮件防御方面的相关概念。0x01 介绍1、SPF、DKIM、DMARCSPF、DKIM、DMARC 都是邮件用于帮助识别垃圾信息的附加组件,那么作为一个攻击者,在发送钓鱼邮件的时候,就需要使自己的邮件能够满足这些组件的标准,或者发送到未配置这些组件的域。在理解这些防御标准前,需要先理解如何在因特网上通过 SMTP 发送邮件。2、原创 2020-09-25 15:50:37 · 749 阅读 · 0 评论 -
【CS学习笔记】26、杀毒软件
0x00 前言这一节将来看看杀毒软件相关的概念,毕竟知己知彼才能百战不殆,最后会介绍一下常见的免杀方法。0x01 目的常规杀毒软件的目的就是发现已知病毒并中止删除它,而作为攻击者则需要对病毒文件进行免杀处理,从而使杀毒软件认为我们的文件是合法文件。0x02 杀软受到的限制1、杀毒软件不能把可疑文件删除或者结束运行,否则用户的正常操作可能就会受到影响,同时也会对杀毒软件公司的声誉、口碑产生影响。2、杀毒软件不能占用太多的系统资源,否则用户可能会考虑卸载杀毒软件。3、大多数杀毒软件的一个弱点就是只原创 2020-09-27 13:13:47 · 1271 阅读 · 0 评论 -
【CS学习笔记】27、applet渗透测试手法
0x00 前言在开始今天的内容之前,先来看看什么情况下会进行云查杀:1、首先判断文件是否为正常文件2、如果判断为可疑文件,则把文件的 hash 上传到云上3、同时把这个文件标记为可疑文件,而不是正常文件因此可以通过修改我们的脚本来使其跳过云查杀,就像是在白名单里的程序一样。0x01 Java Applet接下来一起来看看 Cobalt Strike Java Applet 攻击,在 Cobalt Strike 的源码中内置了用于攻击 Java Applet 签名的 Applet 工具。使用原创 2020-09-28 15:36:37 · 406 阅读 · 0 评论 -
【CS学习笔记】28、白名单申请和宏渗透
0x00 前言这是 Cobalt Strike 学习笔记的最后一节,这节将来学习白名单申请与宏渗透的一些方法。0x01 白名单申请Win + R 打开运行窗口,输入 gpedit.msc ,来到 用户配置 -> 管理模板 -> 系统 处,打开 只允许指定的 Windows 程序在打开的窗口中,勾选已启用,之后点击显示按钮,在其中写入白名单的程序名称后,点击两次确定之后即可。0x02 建立宏攻击在 Cobalt Strike 客户端上,选择 Packages --> MS Of原创 2020-10-16 13:27:55 · 474 阅读 · 0 评论