不过中间还是有一些波折的,比如从一开始的onmicrosoft邮箱无法发送邮件,到邮箱发送邮件过多导致账号被锁定,还有密码无法更改的,发布到web无法实现的,都一一进行了更正,目前可以良好地满足所有新注册用户...正文开始 通过行级别筛选器,可以实现不同的用户查看不同的导航页面: PowerBI 个性化定制你的报告导航 你可以手动对每个的ID进行统计创建,当然,这是在用户不多的情况下。...02.PowerShell 下载 今天来介绍使用PowerShell获取用户的操作。本文介绍的是手动下载,不过,PowerShell是有自动化脚本的,后续可以尝试以下。...①首先,打开PowerShell,以管理员模式运行: ②然后从下面的脚本开始(此脚本在本地 Powershell 库中安装 Azure 相关模块): Install-Module Az.Resources...③接下来要连接 Azure 帐户,可以使用以下命令进行连接。
SetSPN SetSPN是一个本地windows二进制文件,可用于检索用户帐户和服务之间的映射。该实用程序可以添加,删除或查看SPN注册。...GetUserSPNs Tim Medin开发了一个PowerShell脚本,它是kerberoast工具包的一部分,可以帮助我们查询活动目录,以发现仅与用户帐户相关联的服务。...Empire PowerShell Empire还有一个可显示域帐户的服务主体名称(SPN)的模块。...PowerShellery Scott Sutherland在将Get-SPN模块实现到Empire之前,已经创建了多个Powershell脚本作为PowerShellery的一部分,可以为各种服务收集...其中一些需要PowerShell v2.0的环境,还有一些则需要PowerShell v3.0环境。 Get-SPN -type service -search "*" ?
11 月 8 日,一个用户名为 DangerSklif(可能是指莫斯科的急诊医院)的攻击者创建了一个 GitHub 帐户(目前账号不存在)并上传了攻击的第一部分。...技术 2 — 使用 sysprep.exe 系统实用程序和 DLL 劫持加载: 首先,创建一个帮助程序脚本以重新启动目录 C:\Windows\Temp 中的 PowerShell 脚本。...然后创建一个包含辅助 DLL CRYPTBASE.dll(PowerShell 脚本包含 x86 和 x64 版本的库)的 CAB 存档。...接下来,sysprep.exe 系统实用程序启动,加载先前解压的 DLL,然后 DLL 继续执行帮助脚本。然后PowerShell 脚本将以管理员权限重新启动,绕过 UAC。...用于执行绕过的 PowerShell 命令使用 0x58 密钥进行 XOR 加密。
0x01 PowerShell攻防简介 PowerShell是一种功能强大的脚本语言和shell程序框架,主要用于Windows计算机方便管理员进行系统管理并有可能在未来取代Windows上的默认命令提示符...PowerShell脚本因其良好的功能特性常用于正常的系统管理和安全配置工作,然而,这些特性被攻击者理解并转化为攻击特性(见下),也成为了攻击者手中的利器,给企业网络造成威胁。...尽管如此,旧版本中的默认日志记录级别也可以提供足够的证据来识别PowerShell使用情况,将远程处理与本地活动区分开来并提供诸如会话持续时间和相关用户帐户之类的上下文,这些已经可以帮助位于防御方的蓝队人员进行相关的攻击事件推断和关联性分析...防御角度(蓝队视角): 通常PowerShell 2.0事件日志可以提供命令活动或脚本执行的开始和停止时间,加载的提供程序(指示正在使用的功能类型)以及发生活动的用户帐户。...由于脚本代码在执行之前需要进行反混淆处理,ScriptBLock日志就会在实际的代码传递到 PowerShell 引擎执行之前进行记录,所以在很多的集中化日志系统一旦捕捉到可疑的日志时就能够及时的进行告警
50个其他组的间接成员,则需要花费更多的精力来发现这些继承的权限 Exchange 在最近的渗透测试中,我们设法获得了一个用户帐户,它是Organization Management安全组的成员,该组是在安装...Invoke-ACLPwn是一个Powershell脚本,设计用于使用集成凭据和指定凭据运行,该工具通过创建域中所有ACL的SharpHound导出以及运行该工具的用户帐户的组成员身份来工作,如果用户还没有域对象的...,这需要一些时间来枚举,但最终可能会产生一个链来获取domain对象上的writeDACL权限 计算完链后,脚本将开始利用链中的每一步: 用户被添加到必要的组中 两个ACE被添加到域对象的ACL中 Replicating...帐户(可选) 攻击完成后该脚本将删除攻击期间添加的组成员以及域对象的ACL中的ACE 为了测试这个脚本,我们创建了26个安全组,每个组都是另一个组的成员(testgroup_a是testgroup_b的成员...2、删除Exchange Windows权限组的writeacl权限 下面的GitHub页面包含一个PowerShell脚本,该脚本可以对此有所帮助:https://github.com/gdedrouas
Tips : Get-Help 也可用于帮助查找 PowerShell 相关命令,但与 Get-Command 相比它采用不同且较为间接的方式。...Tips : 默认情况下,它需要访问 Internet,并且你需要以管理员身份运行提升的 PowerShell。...Bypass: 没有任何阻止也没有警告或提示;此执行策略设计用于将PowerShell脚本内置到更大的应用程序中的配置,或者用于以PowerShell为具有自己的安全模型的程序的基础的配置。...脚本可以进行执行,需要从可信任的发布者处获得从互联网上下载的脚本和配置文件的数字签名,可能会运行来自Internet以外来源和已签名但恶意的脚本的未签名脚本。...脚本模块文件具有 .psm1 文件扩展名。 shell 用于将命令传递到操作系统的命令解释器。 开关参数 一个不带实参的形参。 终止错误 阻止 PS 处理命令的错误。
Stop-Process:终止进程。 创建自定义Cmdlet 除了内置的Cmdlet,PowerShell还允许用户创建自定义Cmdlet,通常使用C#或PowerShell脚本编写。....ps1 脚本的基本结构 注释: 使用 # 来添加单行注释。 使用 来添加多行注释。 命令和Cmdlet: 例如:Get-Process 用于获取当前运行的进程列表。...**$PSCmdlet.WriteError()**:用于记录非终止错误。 6. 模块 PowerShell模块是用于组织和分发PowerShell功能的单元。...策略 PowerShell的执行策略是一个安全功能,用于控制脚本的执行方式。它帮助防止运行不受信任的脚本。 执行策略类型 Restricted:默认设置,不允许运行任何脚本。...AllSigned:只运行由受信任发布者签名的脚本。 RemoteSigned:运行本地脚本无需签名,但从互联网下载的脚本需要签名。
0x01 PowerShell攻防简介 PowerShell是一种功能强大的脚本语言和shell程序框架,主要用于Windows计算机方便管理员进行系统管理并有可能在未来取代Windows上的默认命令提示符...PowerShell脚本因其良好的功能特性常用于正常的系统管理和安全配置工作,然而,这些特性被攻击者理解并转化为攻击特性(见下),也成为了攻击者手中的利器,给企业网络造成威胁。...尽管如此,旧版本中的默认日志记录级别也可以提供足够的证据来识别PowerShell使用情况,将远程处理与本地活动区分开来并提供诸如会话持续时间和相关用户帐户之类的上下文,这些已经可以帮助位于防御方的蓝队人员进行相关的攻击事件推断和关联性分析...由于脚本代码在执行之前需要进行反混淆处理,ScriptBLock日志就会在实际的代码传递到 PowerShell 引擎执行之前进行记录,所以在很多的集中化日志系统一旦捕捉到可疑的日志时就能够及时的进行告警...set-SBLLogSize -MaxSizeMB 1000 Enalbe-SBL 或者通过GPO启用PowerShell脚本块日志记录功能并记录脚本文件的调用信息: image.png 当然也可以通过修改以下注册表选项来开启
LAPS 通过为域中每台计算机上的通用本地管理员帐户设置不同的随机密码来解决此问题。使用该解决方案的域管理员可以确定哪些用户(例如帮助台管理员)有权读取密码。...创建了一个新的组策略,使LAPS客户端组件能够更改本地帐户密码,并为客户端提供LAPS配置(密码复杂性、密码长度、密码更改的本地帐户名称、密码更改频率等)。...这一点, 由于 LAPS 没有(明显的)选项来强制 LAPS 客户端在启动时更改密码,因此需要运行一个脚本来清除 ms-Mcs-AdmPwdExpirationTime 属性,以便在 LAPS 客户端运行时...可以配置 PowerShell 脚本,在用户注销时(或在其他事件期间)清除 ms-Mcs-AdmPwdExpirationTime。VDI 解决方案可以提供此时运行脚本的能力。...Fat 客户端 UI 和 PowerShell 模块只需要安装在将管理 LAPS 的系统上,其中包括那些将访问密码的系统。 GPO 组件用于部署和管理 LAPS GPO。
,则不是重复的SPN了 SPN的发现 由于每台服务器都需要注册用于Kerberos身份验证服务的SPN,因此这为在不进行大规模端口扫描的情况下收集有关内网域环境的信息提供了一个更加隐蔽的方法。...powershell 脚本,用来查询域内用户注册的 SPN。...其中一些需要PowerShell v2.0的环境,还有一些则需要PowerShell v3.0环境。...#Powershellery/Stable-ish/Get-SPN/ 下Get-SPN.psm1脚本的使用,需要powershell3.0及以上版本才能使用 Import-Module ....,主要作用是对属于用户的可用服务票据执行审计,并根据用户帐户和密码过期时限来查找最容易包含弱密码的票据。
TriFive和Snugy后门本质上是PowerShell脚本,可以帮助攻击者访问被入侵的Exchange服务器,并使用不同的C2信道来进行通信。...我们在分析服务器日志时,发现了两个由攻击者创建的计划任务,这两个任务都会运行恶意的PowerShell脚本。...为了向后门发出命令,攻击者需要登录到同一个合法的电子邮件帐户并创建一个主题为555的电子邮件草稿,其中就包括了加密和Base64编码格式的命令。...下图显示的一封包含演示命令的邮件,主题为555,邮件内容为woFyeWt3cw==,该脚本将通过PowerShell执行: 为了运行攻击者提供的命令,PowerShell脚本需要登录到Exchange服务器上的合法电子邮件帐户...TriFive PowerShell脚本并不是通过代码循环来实现持久化运行的,而是通过前面提到的ResolutionsHosts调度任务来实现其持久化操作。
purple.lab -user pentestlab -pass Password1234 如果从PowerShell控制台执行操作,Shitsecure开发了一个PowerShell脚本Invoke-noPac...Powermad的 PowerShell模块,该模块具有可以在域上创建机器帐户的功能 New-MachineAccount -MachineAccount "PentestLab" -Domain "purple.lab...admin的python脚本来模拟攻击,最初脚本将尝试枚举属性ms-DS-MachineAccountQuota ,以确定是否可以在域中添加新计算机,然后将使用随机密码创建一个机器帐户,新计算机帐户的...10.0.0.1 -dump 这些哈希可用于离线破解,以识别任何使用中的弱密码,并确定客户端的密码策略是否足够,是否符合行业标准或需要进一步评估,由于krbtgt帐户的哈希是可见的,因此可以为域持久性创建黄金票...脚本sam the admin的工具来实现,扫描程序脚本将枚举ms-DS-MachineAccountQuota 属性并将从所有可用的域控制器获取票证授予票证,工单大小也将显示在控制台中,以便快速识别易受攻击的目标
Windows PowerShell 是一个包含脚本环境和命令行外壳程序的管理框架。...另外,则可以通过使用PowerShell本身来触发脚本中的命令和参数,以此来检测该脚本中是否含有恶意命令或参数。值得注意的是,PowerShell本身具有日志功能,可以用来分析系统内的可疑行为。...黑客组织Cobalt滥用了三种命令行工具来实现他们的有效负载:PowerShell;odbcconf.exe,它与Microsoft数据访问组件相关以及regsvr32,用于在注册表中注册动态链接库。...另外,POS机恶意软件还使用远程桌面来进行端点的非法访问。 有什么防御措施? 首先,如果不需要,请禁用或限制使用远程桌面。其次,使用高强度密码来防止其遭到暴力破解或词典攻击。...最后,使用加密来阻止攻击者窃听网络流量并采用身份验证和帐户锁定策略。 Server Message Block (SMB) 它是什么?
•如果 TGT 有效并且没有过期,那么 TGS 会从 TGT 认购权证中提取信息创建一个用于访问目标服务的一个 ST 服务票据,该 ST 服务票据使用服务账户的凭据进行加密。...整个过程比较简单,我们需要注意的是,服务票据会使用服务账户的哈希进行加密,这样一来,Windows域中任何经过身份验证的用户都可以从 TGS 处请求 ST 服务票据。...下面我们将我才能够一下几个步骤讲解 Kerberoasting 攻击的利用: •SPN 服务主体名称发现•请求服务票据•服务票据的导出•服务票据的暴力破解 SPN 服务主体名称发现 由于每台服务器都需要注册用于...是 Kerberoast 工具集中的一个 PowerShell 脚本,可以用来查询域内用户注册的 SPN。...是 PowerSploit 框架中 Recon 目录下的一个 PowerShell 脚本,PowerView 相对于上面几种是根据不同用户的 objectsid 来返回,返回的信息更加详细。
在使用PowerShellArmoury的过程中,你无需担心更新Rubeus、PowerView之类的问题,我们只需要创建一个配置文件,或者使用该工具附带的默认配置文件即可。...注意:你必须提供提供有效的GitHub帐户以及个人访问令牌,以便脚本能够正确使用GitHub API。...-Password:用于加密武器库脚本的密码,如果不提供密码,脚本将会生成一个随机密码。 -Sale:用于生成AES加密密钥的Salt值,如果不提供Salt值,脚本将会生成一个随机Salt。...-EnhancedArmour:设置脚本运行需要受保护的PowerShell进程。 具体可查看完整的帮助手册。(man -full New-PSArmoury)。...\PSArmoury.json 上述命令将会在当前工作目录下创建一个名为“MyArmoury.ps1”的加密.ps1文件。用于加密的密码和Salt值将会随机生成,并写入一个明文文件中。
攻击者将滥用 Windows 和 PowerShell 中内置的功能来调用凭据弹出窗口来获取用户密码。...CredPhish 是一个 PowerShell 脚本,旨在调用凭据提示和泄露密码。...默认情况下,CredPhish 将使用 Resolve-DnsName(PowerShell 内置的 DNS 解析器)来窃取凭据。...CredPhish.ps1 配置 我将credphish.ps1设计 为一个独立的脚本,不需要 Import-Module,这是一个常见的妥协指标。...并且 promptMessage 通常指定与请求关联的帐户。
如果想使用 Kerberos 协议来认证服务,那么必须正确配置SPN。 在 Kerberos 身份验证服务使用 SPN 对服务进行身份验证之前,必须在服务实例用于登录的帐户对象上注册 SPN。...使用SetSPN注册SPN 在客户端使用 SPN 对服务实例进行身份验证之前,必须在服务实例上将用于登录的用户或计算机帐户注册 SPN。 通常,SPN 注册由通过域管理员权限运行的服务安装程序来完成。...impacket impacket中的GetUserSPNs.py脚本可以在域外查询指定域的SPN,使用该脚本只需要提供一个有效的域凭据。...PowerShellery PowerShellery下有各种各样针对服务SPN探测的脚本。其中一些只需要PowerShell v2.0的环境,而有一些则需要PowerShell v3.0环境。...如下是PowerShellery下不同脚本的使用: #Powershellery/Stable-ish/Get-SPN/ 下Get-SPN.psm1脚本的使用,需要powershell3.0及以上版本才能使用
PowerShell 可帮助系统管理员和高级用户快速自动执行用于管理操作系统(Linux、macOS 和 Windows)和流程的任务, 其实可以看做是C#的简化版本还与PHP语言有相似之处(语法),与我们可以采用...说白了原来您需要记忆100个命令现在只需要10个谓词和 10 个名词就能搞定; PowerShell 利用这些相似之处减少了解和使用 cmdlet 时需要知道的不同名称的数量。...Get-Command -CommandType [Alias|Function|Script] Get-help 帮助命令 描述:可以利用Get-help来进行查找Powershell的命令帮助;...脚本模块文件具有 .psm1 文件扩展名。 shell 用于将命令传递到操作系统的命令解释器。 开关参数 一个不带实参的形参。 终止错误 阻止 PS 处理命令的错误。...PS数据文件 具有 .psd1 文件扩展名的文本文件。 PS 将数据文件用于多种用途,例如存储模块清单数据和存储用于脚本国际化的已翻译的字符串。 PS驱动器 一个提供直接访问数据存储的虚拟驱动器。
我们可以创建一个新的计算机帐户,因为默认情况下,用户最多可以创建10个计算机帐户。powermad有它的功能。...8.攻查找特权帐户| CrackMapExec 好吧,这个不一定是“攻击”,就像它是一种做好侦察和枚举的方法一样,一些工具可以帮助解决这个问题。...最后,感谢Daniel Bohannon编写的Invoke-Obfuscation,它用于混淆此脚本中的所有模块。我只是将它们组合在一起的那个人。...在我的参与和评估中,我经常运行一些PowerShell脚本来帮助识别下一个目标,检查错误的组策略设置,AD错误配置,缺少补丁等。...在脚本结束时,它会删除它创建的所有文件夹(显然除了.zip文件外)。
SYSVOL 包含登录脚本、组策略数据和其他需要在有域控制器的任何地方可用的域范围数据(因为 SYSVOL 自动同步并在所有域控制器之间共享)。...请求的 Kerberos 服务票证的加密类型是 RC4_HMAC_MD5,这意味着服务帐户的 NTLM 密码哈希用于加密服务票证。 注意:获取服务票证不需要提升权限,也不会向目标发送流量。...PtH 的有趣之处在于,不需要破解散列来发现相关密码,因为在 Windows 网络中,散列是用来证明身份的(帐户名和密码散列的知识是验证所需的全部内容)。...请注意,智能卡不能防止凭据盗窃,因为需要智能卡身份验证的帐户具有关联的密码哈希,该哈希在后台用于资源访问。智能卡仅确保对系统进行身份验证的用户拥有智能卡。...一旦攻击者转储了域数据库,就有很多选项可以持久化和保留高级权限,包括创建和使用可用于基于单个域的入侵利用整个森林的金票。
领取专属 10元无门槛券
手把手带您无忧上云