怎样保护Windows Azure AD的安全性?

网络攻击每时每刻都在进行着,攻击手段也在不断更新,使用第三方黑客程序或从外部注入病毒方式会留下明显的痕迹。如今大多数反恶意软件工具都可以检测到这种攻击并将其阻止。

 

新的攻击方式正在逐渐向无恶意软件或无文件攻击进行转变。无恶意软件的占比在2019年的攻击行为统计中占51%,而2018年这一比例仅占40%。在这些新的攻击形式中,恶意文件并不会写入磁盘。这些攻击是在内存(RAM)中执行的,并且与合法的系统进程混合在一起,并利用Windows操作系统自带的工具(如PowerShell)。

 

PowerShell非常有用,它可以帮助IT管理员自带执行复杂繁琐的任务。正是由于PowerShell本质上是为管理员设计的工具,所以Windows赋予了它非常大的对系统修改的权限。而由于是Windows系统自带的工具,它会被自动列入到防火墙白名单里面。

 

#1:使用PowerShell发现并攻击Azure AD帐户

进行攻击的第一步是收集足够多的信息。攻击者最常见的身份有2种:

l  攻击者是内部人员,例如对公司心怀不满的员工,或者内部被感染用户

l  攻击者是企业外部人员,不属于公司网络。

 

黑客从企业外部获取员工Azure AD登陆账号列表

Azure AD的登陆账号格式为:{firstname}.{lastname}.@ example.com,在Azure AD的登录界面,一个有效的电子邮件地址将会弹出密码输入提示界面。如果电子邮件地址无效,则会显示“用户名可能不正确”提示。

怎样保护Windows Azure AD的安全性?

 

 

黑客可以通过PowerShell脚本来自动执行登陆操作,直到成功获取到用户的Azure AD登陆账号。

怎样保护Windows Azure AD的安全性?

 

 

黑客在企业内部获取Azure AD账号列表

黑客在企业内部通过PowerShell登录到Azure AD,然后运行命令即可列出所有用户账号及其电子邮件地址。

怎样保护Windows Azure AD的安全性?

 

 

#2:使用PowerShell对Azure AD账号密码进行暴力破解

一旦黑客获取了企业的员工Azure AD账号列表,就会通过暴力破解来获取这些账号的登陆密码。而攻击的工具也常常是一段用PowerShell来编写的脚本,甚至在互联网上免费就可以下载到很多这样的脚本。如需图所示:

怎样保护Windows Azure AD的安全性?

 

 

利用PowerShell甚至可以过滤出哪些用户开启了多因素身份验证(MFA),从而过滤出容易被破解的账号。PowerShell还允许在远程系统上直接执行暴力攻击,而不必将脚本复制到远程系统。

怎样保护Windows Azure AD的安全性?

 

 

#3:使用PowerShell进行密码喷射攻击

密码喷射攻击用于更大范围账号密码猜测攻击。黑客可以对大批量Azure用户帐户执行这种密码猜测攻击,而他们唯一需要用的工具就是PowerShell。

怎样保护Windows Azure AD的安全性?

 

 

该脚本可以从Internet下载并进行模糊处理以避免被检测到,或者可以在打开的PowerShell会话中直接从URL下载并在内存中执行,从而实现无文件攻击。

 

#4:利用盗取的账号获取更多重要信息

现在,黑客已经获取了您的Azure Active Directory账号的密码,他们可以使用获取的登录凭据来收集有关组织中的特权用户和管理员的更多信息。

怎样保护Windows Azure AD的安全性?

 

 

黑客接下来可能会对特权用户尝试另一种密码喷雾攻击。或者,他们可能会尝试针对性的鱼叉式网络钓鱼电子邮件攻击。总之,黑客有许多邪恶的选择。

 

#5:攻击Azure AD并获得本地AD用户密码

如果组织在使用本地Active Directory,则应该使用Azure AD Connect工具来同步用户帐户。

令人惊讶的是,使用PowerShell,可以确定安装Azure AD connect服务器的准确名称。

同步帐户由Azure AD Connect在本地Active Directory中创建。当使用“通过哈希同步(PHS)”来同步密码时,此帐户负责将密码哈希发送到云环境。

怎样保护Windows Azure AD的安全性?

 

 

黑客可以利用PowerShell提取Microsoft Online(MSOL)帐户的凭据。请务必注意MSOL帐户的“复制目录更改”权限,该权限可用于获取本地Active Directory中任何用户的密码哈希。

如您所见,PowerShell不仅支持对云环境的攻击,而且还支持对本地AD环境的攻击。

 

请继续关注我们的下一篇文章,我们将向您分享更多本地Active Directory以及AZure AD方面的安全知识。

 

上一篇:Powershell 中 ssh 的使用


下一篇:mongoose.connect()方法在powershell中报错