ReelPhish 使用说明:
此工具随 FireEye 博客文章一同发布。博客文章可通过以下链接查看:https://www.fireeye.com/blog/threat-research/2018/02/reelphish-real-time-two-factor-phishing-tool.html
安装步骤
-
需要安装最新版本的 Python 2.7.x。
-
安装 Selenium,这是运行浏览器驱动所需的依赖项。
- pip install -r requirements.txt
-
为所有计划使用的网页浏览器下载浏览器驱动。二进制文件应放置在此根目录下,并遵循以下命名方案。
-
Internet Explorer: www.seleniumhq.org/download/
- 下载适用于 32 位 Windows IE 的 Internet Explorer 驱动程序服务器。解压文件并将二进制文件重命名为:IEDriver.exe。
- 为使 Internet Explorer 驱动程序正常工作,请确保已禁用保护模式。在 IE11(64 位 Windows)上,您必须创建注册表项 "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE"。在此项中,创建一个名为 iexplore.exe 的 DWORD 值,并将其设置为 0。
- 有关 Internet Explorer 要求的更多信息,请访问 www.github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver
-
Firefox: www.github.com/mozilla/geckodriver/releases/
- 下载适用于 Windows 32 位的 Firefox GeckoDriver 最新版本。解压文件并将二进制文件重命名为:FFDriver.exe。
- 在 Linux 系统上,下载 Linux 版本的 Firefox GeckoDriver 并将二进制文件重命名为:FFDriver.bin。Linux 支持为实验性质。
- Gecko Driver 有特殊要求。将 FFDriver.exe 复制为 geckodriver.exe 并放入您的 PATH 环境变量中。此外,将 firefox.exe 添加到您的 PATH 环境变量中。
-
Chrome: https://chromedriver.storage.googleapis.com/index.html?path=2.35/
- 下载适用于 Windows 32 位的 Google Chrome Driver 最新版本。解压文件并将二进制文件重命名为:ChromeDriver.exe。
- 在 Linux 系统上,下载 Linux 版本的 Chrome Web Driver 并将二进制文件重命名为:ChromeDriver.bin。Linux 支持为实验性质。
运行 ReelPhish
ReelPhish 由两个组件组成:钓鱼站点处理代码和本脚本。钓鱼站点可根据需要设计。示例 PHP 代码位于 /examplesitecode 目录中。示例代码将从 HTTP POST 请求中获取用户名和密码,并将其传输给钓鱼脚本。
钓鱼脚本监听本地端口并等待凭据数据包。一旦收到凭据,钓鱼脚本将打开一个新的浏览器实例并导航到目标 URL(您将输入用户凭据的实际站点)。浏览器将提交凭据。
推荐使用反向 SSH 隧道处理钓鱼站点与本脚本之间的通信。这就是示例 PHP 钓鱼站点代码将凭据提交到 localhost:2135 的原因。
ReelPhish 参数
- 您必须使用 --browser 参数指定要使用的浏览器。支持的浏览器包括 Internet Explorer("--browser IE")、Firefox("--browser FF")和 Chrome("--browser Chrome")。Windows 和 Linux 均受支持。Chrome 所需的设置步骤最少。详见上方安装说明。
- 您必须指定 URL。脚本将导航到此 URL 并代您提交凭据。
- 其他可选参数如下。
- 将日志参数设置为 debug(--logging debug)以获取详细事件日志
- 设置提交参数(--submit)以自定义浏览器“点击”的元素
- 设置覆盖参数(--override)以忽略缺失的表单元素
- 设置页面数参数(--numpages)以增加身份验证页面的数量(参见下文)
多页面身份验证支持
ReelPhish 支持多个身份验证页面。例如,在某些情况下,双重身份验证码可能在第二个页面中请求。要实现此功能,请确保 --numpages 设置为您使用的身份验证页面数量。同时确保在您的钓鱼站点上正确跟踪会话 ID。会话 ID 用于在用户进行身份验证的每个步骤中跟踪用户。
在某些情况下,您可能需要从特定身份验证页面抓取特定内容(例如挑战码)。ReelPhish.py 中提供了示例注释代码以执行抓取操作。