ReelPhish:一款实时双因素钓鱼软件

2018 年 3 月 1 日 黑白之道



社工技术与双因素验证机制


社会工程学活动对于企业来说一直都是很大的威胁,因为这种攻击手段针对的是整个安全环节中最薄弱的一环:人。在一般的攻击场景中,攻击者会窃取目标用户的用户名和密码,并存储下来以备后续使用,而双因素身份验证(2FA)或者多因素身份验证(MFA)就是专门应对这类威胁的。


2FA相当于在普通的用户名和密码之上又加了一层验证机制,最常见的两种2FA是“一次性密码”和“推送通知”。“一次性密码”是由一种二级设备生成的,比如说密码生成器,这种设备是跟用户绑定的。这种密码一般会在30秒到60秒之后过期,并且不可重复使用。“推送通知”需要给用户的移动设备发送确认请求,用户确认之后便可成功登录。因此,这两种方法可以有效防止传统的钓鱼活动。

实时钓鱼


虽然安全专家强烈建议个人或商业软件采用2FA,但是这并不是一种可靠的解决方案,因为实时钓鱼技术可以轻松打败2FA。这种钓鱼攻击技术需要涉及攻击者跟目标用户之间的实时交互,比如说在钓鱼网站会提示用户输入用户名、密码和一次性密码,点击登录之后会显示一个“登录成功”页面,但是这个一次性密码并没有被使用,而是发送到了攻击者手中。此时,攻击者就会有一个非常短的时间窗口并在用户凭证过期之前去使用它了。


很多攻击者在社工活动中都会使用这些技术,而且早在2010年就已经出现了实时钓鱼攻击了。但是这种类型的攻击在很大程度上却被人们忽略了,因为这种攻击的实施难度非常大。本文的目的就是让人们改变这种观念,并让人们意识到这个问题,然后鼓励安全社区去研发新的解决方案。

工具介绍


为了提升社工技术评估的能力,我们研发了一款名叫ReelPhish的工具,而这款工具可以简单演示实时钓鱼技术。该工具的主要组件运行在攻击者的系统中,它运行了一个Python脚本并实时监听攻击者所搭建的钓鱼网站,并使用了Selenium框架来驱动Web端。该工具能够控制攻击者的Web浏览器并访问特定Web页面、跟HTML对象交互、以及爬取内容。


ReelPhish的二级组件就是钓鱼网站本身,嵌入在钓鱼网站中的代码可以将捕捉到的用户凭证发送到攻击者的设备中。当钓鱼工具收到凭证之后,它会使用Selenium来启动浏览器,并在合法网站上使用凭证完成登录。钓鱼网站服务器跟攻击者系统之间的所有通信都是通过加密SSH信道完成的。


下图显示的是ReelPhish的工作流程:




工具下载


https://github.com/fireeye/ReelPhish


安装步骤


1.   安装最新版本的Python 2.7.x;

2.   安装Selenium;

3.   下载Web驱动器:

IE:http://www.seleniumhq.org/download/

Firefox:http://www.github.com/mozilla/geckodriver/releases/

Chrome:https://chromedriver.storage.googleapis.com/index.html?path=2.35/


运行ReelPhish


ReelPhish由两部分组成:钓鱼网站处理代码以及Python脚本。钓鱼网站可以根据需求来设计,PHP样本代码在GitHub代码库的/examplesitecode目录中,样本代码的功能是将用户名和密码从HTTP POST请求中提取出来并发送给Python钓鱼脚本。钓鱼脚本会监听一个本地端口,并等到包含凭证的数据包抵达。抵达之后,钓鱼脚本会打开一个新的浏览器窗口实例,然后访问特定的URL地址,并使用浏览器提交收集到的凭证。


我们建议大家使用反向SSH信道来处理钓鱼网站和Python脚本之间的通信,因此我们的样本PHP钓鱼网站代码会将凭证提交到localhost:2135。

ReelPhish参数

1.   你必须在–browser参数中指定你所要使用的浏览器。可支持的浏览器包括InternetExplorer (“–browser IE”)、Firefox(“–browser FF”)和Chrome (“–browserChrome”),支持的操作系统包括Windows和Linux,Chrome的配置比较麻烦,具体请参考。

2.   你必须指定URL地址,脚本将会自动访问这个URL并提交凭证数据。

3.   其他可选的参数包括:

-设置用于调试的日志参数(–loggingdebug),观察并记录事件日志;

-设置提交参数(–submit)来自定义浏览器的提交元素;

-设置覆盖参数(–override)来忽略丢失的表单元素;

-设置页面数量参数(–numpages)来增加认证页面的数量;

文章出处:FreeBuf


你可能喜欢

EvilURL v2.0一个生成用于钓鱼攻击的IDN域名的工具

King Phisher:一款专业的钓鱼活动工具包

跨平台宏钓鱼攻击Payload的介绍及使用方式


登录查看更多
0

相关内容

软件(中国大陆及香港用语,台湾作软体,英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。软件就是程序加文档的集合体。
异质信息网络分析与应用综述,软件学报-北京邮电大学
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【干货书】现代数据平台架构,636页pdf
专知会员服务
253+阅读 · 2020年6月15日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
76+阅读 · 2020年4月24日
【ICMR2020】持续健康状态接口事件检索
专知会员服务
17+阅读 · 2020年4月18日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
ISeeYou一款强大的社工工具
黑白之道
30+阅读 · 2019年5月17日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
16+阅读 · 2019年5月13日
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
社会工程学之伪装
计算机与网络安全
5+阅读 · 2019年1月2日
15款免费预测分析软件!收藏好,别丢了!
七月在线实验室
10+阅读 · 2018年2月27日
用Python制作3D动画
Python程序员
30+阅读 · 2018年1月17日
资源 | 适合AI新手的9款人工智能开源软件
AI100
3+阅读 · 2017年11月13日
Arxiv
3+阅读 · 2018年9月12日
Arxiv
7+阅读 · 2018年1月30日
Arxiv
5+阅读 · 2018年1月23日
Arxiv
6+阅读 · 2018年1月14日
Arxiv
11+阅读 · 2018年1月11日
VIP会员
相关VIP内容
异质信息网络分析与应用综述,软件学报-北京邮电大学
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【干货书】现代数据平台架构,636页pdf
专知会员服务
253+阅读 · 2020年6月15日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
76+阅读 · 2020年4月24日
【ICMR2020】持续健康状态接口事件检索
专知会员服务
17+阅读 · 2020年4月18日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
相关资讯
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
ISeeYou一款强大的社工工具
黑白之道
30+阅读 · 2019年5月17日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
16+阅读 · 2019年5月13日
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
社会工程学之伪装
计算机与网络安全
5+阅读 · 2019年1月2日
15款免费预测分析软件!收藏好,别丢了!
七月在线实验室
10+阅读 · 2018年2月27日
用Python制作3D动画
Python程序员
30+阅读 · 2018年1月17日
资源 | 适合AI新手的9款人工智能开源软件
AI100
3+阅读 · 2017年11月13日
Top
微信扫码咨询专知VIP会员