Excel怎么在完整数字里 挑后一个表格如何对应前一个数已知数据,麻烦大佬给说下公式?

自2020年4月份至2020年10月份,笔者更新了自己在学习 Cobalt Strike 过程中的 28 篇笔记,并将笔记同步更新到了自己的公众号、博客、CSDN、知乎、简书等平台,特在此整理成合集发布出来。 在合集中对于笔记的标题、内容顺序适当的进行了一些更改,从而使得整体看起来更加和谐。

另外在电脑端通过博客阅读本文体验最佳,建议收藏本文随时翻阅查看,可复制下面的链接到浏览器、或直接阅读原文查看本文博客文章,本文博客链接:/help-malleable-c2#validssl

DNS Beacon,顾名思义就是使用DNS请求将Beacon返回。这些 DNS 请求用于解析由你的 CS 团队服务器作为权威 DNS 服务器的域名。DNS 响应告诉 Beacon 休眠或是连接到团队服务器来下载任务。DNS 响应也告诉 Beacon 如何从你的团队服务器下载任务。

将以上内容保存为txt文本文件,就创建好了自己的目标清单。

使用模板的好处在于可以重复利用,制作钓鱼模板也很简单。

首先可以自己写一封邮件发给自己,或者直接从自己收件箱挑选一个合适的。有了合适的邮件之后,查看邮件原始信息,一般在邮件的选项里能找到这个功能。最后将邮件的原始信息保存为文件,一个模板就制作完成了。

有了目标和模板,然后选好自己的邮件服务器,之后就可以发送消息了。

在CS客户端中,点击Attacks --> Spear Phish即可打开网络钓鱼模块。添加上目标、模板、钓鱼地址、邮箱服务、退回邮箱,其中Bounce To为退回邮件接收地址,注意要和配置邮件服务器时填的邮箱一致,否则会报错。

所有信息添加完成后,可以点击Preview查看。如果感觉效果不错,就可以点击send发送了。

当目标收到钓鱼邮件,并且点击钓鱼邮件中的链接后,如果钓鱼链接配置的没有问题,CS就能够上线了。

由于此处是仅作为测试用途,所以模板中的链接都是自己的本地内网CS服务器地址,如果是真实环境中,则自然需要使用公网的地址才行。

在真实环境中的钓鱼邮件也不会像这里这么浮夸,真实环境中的钓鱼邮件往往都伪装成和正经儿的邮件一模一样,单从表面上看很难看出区别,因此提高自己的安全意识还是很重要滴。

在一个 Beacon 会话上右击 interact(交互)即可打开 Beacon 控制台,如果想对多个会话进行控制,也只需选中多个会话,执行相关功能即可。

在 Beacon 的控制台中的输入与输出之间,是一个状态栏,状态栏上的信息分别是:目标 NetBIOS 名称、用户名、会话PID以及 Beacon 最近一次连接到 CS 团队服务器的时间。

Beacon 控制台是在使用 CS 的过程中,很经常用到的功能,向 Beacon 发出的每个命令,都可以在这里看到,如果队友发送了消息,在 Beacon 控制台同样能看到,消息前还会显示队友的名称。

Access:包含了一些对凭据的操作及提权的选项

Explore:包含了信息探测与目标交互的选项

Pivoting:包含了一些设置代理隧道的选项

help:查看 Beacon 命令的帮助信息。使用 help + 待查看帮助的命令可查看该命令的帮助信息。

clear:清除 Beacon 命令队列。Beacon 是一个异步的 Payload,输入的命令并不会立即执行,而是当 Beacon 连接到团队服务器时再一一执行命令,因此当需要清除队列命令时就可以使用 clear 命令。

sleep:改变 Beacon 的休眠时间。输入 sleep 30表示休眠30秒;输入sleep 60 50表示,随机睡眠 30秒至60秒,其中30秒 = 60 x 50%;如果输入 sleep 0则表示进入交互模式,任何输入的命令都会被立即执行,当输入一些命令,比如desktop时, Beacon 会自动进入交互模式。

shell:通过受害主机的 可执行文件作为 Beacon 的后渗透任务来运行。

setenv:设置一个环境变量。

Beacon 被设计的最初目的就是向其他的 CS 监听器传递会话。

执行以下命令:将 ps1 文件上传到目标主机,并执行所有弱点检查。

……内容太多,此处省略……

在运行Invoke-AllChecks后,便会列出当前系统中可被提权的弱点之处,之后再执行检查结果中AbuseFunction下的命令便能开始提权操作了。

但是我在自己本地环境中并未复现成功,执行AbuseFunction后的命令只能创建一个与当前登录用户相同权限的账户,没能达到提权的目的。

参考网上相关文章后也未果,这也是为什么这一节拖更这么久的原因,因此 PowerUp 的复现过程暂时就没法记录了。

如果正在看本篇文章的你有过使用 PowerUp 提权成功的经历,欢迎留言分享。

想要获取凭证信息,可以在管理员权限的会话处右击选择Access --> Dump Hashes,或者在控制台中使用hashdump命令。

  • misc::cmd 如果注册表中禁用了 CMD ,就重新启用它
  • 当使用 32 位的 payload 运行在 64 位的系统上,并且 nltest 路径不对的时候,可能会提示没有 nltest 这个命令,这时可以尝试使用下面的命令为其指定路径。
    • nslookup 命令,或者使用 ping 发送一个包来获得主机返回的 IP 地址。
    共享名 类型 使用为 注释

    在渗透进入内网后,如果直接使用 Windows 的内置命令,比如 net view、net user等,可能就会被管理人员或者各种安全监控设备所发现。因此较为安全的办法就是使用 Powershell 和 VMI 来进行躲避态势感知的检测。

其他更多用法可以查看参考链接,或者参考 PowerView 项目上的 ReadMe 部分。

在 beacon 控制台中输入这些命令很类似输入一个本地的 net 命令,但是有一些些许的不同,比如下面一个是在主机上运行 net view 的结果一个是在 beacon 控制台下运行 net view 的结果。不难看出,beacon 下输出的结果更为丰富。

第二个关键步骤,发现域管理员账号。

对于发现域管理员账号,可以在共享里使用本地的Windows命令。运行以下两条命令可以用来找出这些“域群组”的成员。

注释 企业的指定系统管理员

或者运行下面的命令来看谁是域控制器上的管理员

注释 管理员对计算机/域有不受限制的完全访问权

beacon 的 net 模块也可以帮助我们,下面的命令中 TARGET 的意思是一个域控制器或者是任何想查看的组名,比如企业管理员、域管理员等等

也可以运行下面的命令,这会连接任意目标来获取列表

本地管理员可能是一个域账户,因此如果想把一个系统作为目标,应该找到谁是这个系统的本地管理员,因为如果获得了它的密码哈希值或者凭据就可以伪装成那个用户。

beacon 的 net 模块可以在系统上从一个没有特权的关联中查询本地组和用户。

在 beacon 控制台中运行下面命令可以获得一个目标上的群组列表

如果想获取群组的列表,可运行下面的命令来获得一个群组成员的名单列表。

PowerView 使用下面的命令能够在一个主机上找到本地管理员,这条命令实际上通过管理员群组找到同样的群组并且把成员名单返回出来。

……内容过多,余下部分省略……

如果一个系统信任我们为本地管理员权限,那么我们可以在那个系统上干什么呢?

比如我们可以通过运行下面的命令来列出 C:\foo 的共享文件

比如运行下面的命令将 AppPool ……内容过多,余下部分省略……

如果想利用 WinRM 运行命令则可以使用下面的命令。

注释 管理员对计算机/域有不受限制的完全访问权

命令运行后的结果,WinRM 也将通过命令行进行显示,因此可以使用 Powershell 的 Invoke 命令来作为远程工具,而不使用其他的恶意软件来控制系统。

实现代码执行的四个步骤:

1、与目标建立信任关系

2、复制可执行文件到目标上

3、在目标上运行可执行文件

以上是根据视频教程中直译的结果,个人感觉其实这一节叫横向移动的方法更为合适。

如果用于内网中的横向移动,那么强烈建议使用 SMB Beacon,SMB Beacon 就是为了内网横向扩展渗透而设计的。

首先使用 Cobalt Strike 上的 upload 功能上传文件,接着复制文件到目标主机的其他位置。

接下来在 WinDC 上运行 psexec,因为这里是 64 位的,所以选择 psexec64,之后监听选择一个 smb beacon,会话就选择已经上线的 wintest 主机的会话,并勾选使用当前会话的访问令牌。

这里笔者认为应该是因为当前在 wintest 主机上有 windc 的管理员账户登录着,所以使用 wintest 的访问令牌是可以获取 windc 的信任的,类似于 CS 学习笔记 17 节里的描述方法,如有不正确之处,还请多多指教。

之后,windc 主机就上线了,域中如果还有其他主机,也可以使用这种方法去横向移动。

在进行转发操作之前,需要将当前会话改为交互模式,也就是说输入命令就被执行,执行 sleep 0 即为交互模式。

在GitHub 上有一些配置文件的示例,项目地址: 25 base64编码后的邮箱名 base64编码后的授权码

DKIM DomainKeys Identified Mail 域名密钥识别邮件,DKIM 是一种防范电子邮件欺诈的验证技术,通过消息加密认证的方式对邮件发送域名进行验证。

邮件接收方接收邮件时,会通过 DNS 查询获得公钥,验证邮件 DKIM 签名的有效性,从而判断邮件是否被篡改。

如果邮件服务器收到一封来自 IP 不在 SPF 记录里的邮件则会退信或者标记为垃圾邮件。

我们可以使用以下命令查看目标的 SPF 记录。

关于这些记录查询返回结果的解释可参考文章末的参考链接。

发送钓鱼邮件的一些注意事项

1、检测目标是否有 SPF 记录,如果有则可能会被拦截

2、检测目标 DMARC 记录的 p 选项是否为 reject ,如果有则可能会被拒绝

3、模板中嵌入的 URL 地址,不要使用 IP 地址,要保证使用完整的 URL地址

4、邮件的附件中不能附上一些可执行文件,比如 exe 格式的文件,因为一些邮件过滤器可能会将这些可执行文件删除

这一节将来看看杀毒软件相关的概念,毕竟知己知彼才能百战不殆,最后会介绍一下常见的免杀方法。

常规杀毒软件的目的就是发现已知病毒并中止删除它,而作为攻击者则需要对病毒文件进行免杀处理,从而使杀毒软件认为我们的文件是合法文件。

1、杀毒软件不能把可疑文件删除或者结束运行,否则用户的正常操作可能就会受到影响,同时也会对杀毒软件公司的声誉、口碑产生影响。

2、杀毒软件不能占用太多的系统资源,否则用户可能会考虑卸载杀毒软件。

3、大多数杀毒软件的一个弱点就是只会在浏览器下载文件或者文件被写入磁盘时才会检查这个文件的特征码,也就是说在这种情况下才会检查文件是否是病毒。

1、在大多数杀毒软件背后都会有一个已知病毒的签名数据库,通过将当前文件的特征码与病毒签名数据库进行比对,如果一致则说明该文件是病毒。

2、同时一些杀毒软件也会去发现用户的一些可疑行为,而且杀毒软件对这种可疑行为的判定会下比较大的功夫。因为如果误杀,造成的后果可能对用户来说是比较严重的。

3、一些杀毒软件会在沙箱环境中去运行可疑文件,然后根据该可疑文件的行为判断是否为病毒。

首先要判断目标使用了哪款杀毒软件,然后自己在虚拟机中去尝试绕过它。

1、将病毒文件进行混淆处理,使杀毒软件将其判定为可疑文件而不是病毒文件。这种混淆可以逃避那些使用简单字符串搜索来识别恶意代码的杀毒软件。

使用方法可以参考项目中的介绍,目前效果感觉还是可以的,在 virustotal 上只被 10 个引擎检测到。

实测可以过 360 安全卫士、360 杀毒、腾讯电脑管家,但火绒不行。

在测试完成之后,开始体会到为什么要判断目标使用了哪款杀软的目的了,就上面测试的情况来说,每一家都出现未检测到的情况。在实际的环境中,还是要根据目标的具体情况具体分析。

Emm,浏览器首页又被 360 改成 360 导航了。 另外不得不说一句,从使用的角度来说,火绒是这里面最乖的,没有其他杀毒软件那么多花花肠子。

进行云查杀的一些情况:

1、首先判断文件是否为正常文件

2、如果判断为可疑文件,则把文件的 hash 上传到云上

3、同时把这个文件标记为可疑文件,而不是正常文件

因此可以通过修改我们的脚本来使其跳过云查杀,就像是在白名单里的程序一样。

使用 Applet 工具的步骤如下:

2、如果需要的话就修改/混淆病毒文件

3、使用代码签名证书进行签名

大概在 2014 年 7 月,开始有人在钓鱼中使用宏攻击,在几年前,这是一种效果还很不错的攻击方式。

站在防御者的角度,一个好的防御应该是列出只允许自己运行的应用程序白名单而不允许他人运行。对于攻击者则是使用白名单应用程序将代理放到内存中的方法来进行攻击,Java Applet 攻击就是这样做的。

一种攻击的方法是直接插入内存进行攻击。Java Applet、Office 宏、CS 下的 PowerShell 命令行都是这样做的。

一些白名单免杀的资料:



}

我要回帖

更多关于 后一个表格如何对应前一个数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信