(这是一个“桶中之鱼”的玩笑。我喜欢双关语!)
一款用于摄入HTML并生成适用于钓鱼活动的HTML源文件的Python工具。
Cooper简化了克隆目标网站或电子邮件以用于钓鱼活动的过程。只需找到要使用的URL或下载原始邮件内容,然后将其输入给Cooper。Cooper会克隆内容并自动为您准备好用于活动。脚本、图像和CSS可以修改为使用直接链接而非相对链接,链接被更改为指向您的钓鱼服务器,表单被更新为将数据发送给您——所有这些都在几秒钟内完成。Cooper是跨平台的,应该可以在macOS、Linux和Windows上运行。
不再需要在使用wget获取站点后手动编辑链接和表单。您可以专注于细节工作。
Cooper提供多个模块,各有不同用途:
Page是Cooper的主要模块。唯一必需的参数是 -t 用于指定目标URL。然后您可以添加 --selenium 来选择使用Selenium 而非 Requests。基本上,如果输出看起来不正确或不完整(例如,可能只有背景和一些样式),请尝试使用 --selenium。
某些网站需要JavaScript来生成HTML内容。如果输出看起来不正确或不完整,请尝试使用 --selenium。
此外,您可以使用 -u 提供一个URL,作为图像、脚本和样式表的基础URL。Cooper会自动将相对链接(例如 /wp-content/images/foo.bar)替换为完整URL。
始终为 -t 和 -u 提供包含正确协议的合法URL(即 *http://www.example.com*)。
以下是完整设置列表:
email模块在您想要将现有电子邮件用作新钓鱼的基础时非常方便。手动处理编码和多部分MIME消息可能很繁琐,所以让Cooper为您完成。此模块将解析消息内容,丢弃不需要的部分(如附件),并为您提供主要邮件正文的完全解码版本,即您关心的纯文本/HTML部分。
以下是完整设置列表:
如前所述,此模块是一次性的。必需且唯一的参数是 -i,用于提供要编码的图像文件。如果您正在构建自己的登录页面或编辑页面并需要添加图像,这将非常方便。如果您决定嵌入图像,请尝试此模块。它将Base64编码提供的文件并生成嵌入图像所需的文本。
Cooper需要几个用于抓取网站和解析HTML的库。使用 pip 或 pipenv 安装所有内容。有一个用于 pip 的 requirements.txt 和一个用于 pipenv 虚拟环境的 Pipfile。如果您使用 pip,请确保在系统上使用适用于Python 3.9的正确版本(例如 pip3 或 pip3.9)。
您可以通过使用Python版本调用 pip 来确保使用正确的版本:
python3 -m pip install -r requirements.txt
使用虚拟环境甚至更简单:
pipenv installpipenv shell要使用 Selenium 作为无头浏览器,需要安装Google Chrome并从以下地址下载匹配的Chromewebdriver文件:https://chromedriver.chromium.org/downloads
下载并将webdriver解压缩到此项目的根目录。您也可以将其放在其他位置,但请确保更新配置文件(参见下一节)。
然后您需要设置配置文件。本仓库中提供的 cooper.config 文件已预先配置好用于GoPhish(URL被设置为替换为 {{.URL}})。默认配置还假设您会将Chrome webdriver放在目录根目录下。
配置文件如下所示:
[Replacement URLs]
landing_page_url_replacement: {{.URL}}
landing_page_form_action: {{.URL}}
email_replacement_url: {{.URL}}
[Browser]
driver_path: ./chromedriver
user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.87 Safari/537.36
根据需要做出更改。您可以为使用的不同钓鱼平台、额外的攻击服务器或备用的用户代理创建多个配置文件。通过包含 -c 或 --config 参数以及您的备用文件来使用不同的配置文件。否则,默认使用 cooper.config 文件。
[Replacement URLs] 部分包含Cooper在替换链接和表单操作时将使用的所有URL。
landing_page_url_replacement 是用于登录页面的URL。您可能希望将其设置为钓鱼服务器的IP,以便访问者被重定向回登录页面,或者将他们发送到其他地方。
landing_page_form_action 是您希望表单数据在提交时发送到的URL。
email_replacement_url 是用于电子邮件的URL,应设置为您的钓鱼服务器的域名或IP地址。
如果这些URL中的任何一个设置为空,Cooper将不会替换这些URL。对于 landing_page_url_replacement 来说,这最实用,您可能希望登录页面继续指向真实的链接。但请注意,目标网页可能使用相对链接(例如 /home.php)而非直接链接,这意味着您的登录页面将充满损坏的链接。
[Browser] 部分仅用于与网页浏览相关的设置。如果您选择使用不同的驱动程序文件或位置,请使用此部分将 Selenium 和Cooper指向您的浏览器webdriver。此处也定义了用于网页浏览的用户代理。Cooper有一个默认的用户代理,您可以通过配置文件覆盖它。
图像可以在嵌入到模板之前进行Base64编码。这样做是为了使模板不依赖于网站保持可用或图像保持在其位置上。网站增加的大小(很可能)可以忽略不计,但在电子邮件中使用此选项可能会导致问题。某些电子邮件客户端不支持Base64图像,例如Outlook(!)。请牢记目标收件人的电子邮件客户端。
HTTP服务器选项使您能够通过访问 127.0.0.1:PORT 轻松预览Cooper的输出。您也可以直接打开HTML文件,但那样不够整洁。
img 标签看起来像这样:<img src="https://raw.githubusercontent.com/chrismaddalena/cooper/HEAD/static1.squarespace.com/static/52ebedcae4b0ad4aad060b4a/t/533b687ae4b01d79d0ae12a3/1437187699809/?format=1500w"\>特别感谢Ninjasl0th和Hagbard对此项目的帮助!