A-A+

甲方企业安全建设之钓鱼实践的一种姿势

2019年11月21日 文章转载 暂无评论 阅读 2,214 views 次

效果图

phishing

  • 效果图里是某公司的sso登录页,Chrome下同时显示的效果也是https;

phishing

  • 欢乐的气氛下,其实大部分不是做安全的小伙伴并不知道为什么自己会中招。

原理和步骤

假设阿里巴巴的公司重要的系统入口是 login.alibaba-inc.com,那你就可以注册一个非常具有迷惑性的域名,例如 alibaba-cin.com。通过cloudflare启用一个login的二级域名,并配置https,然后开发一个一模一样的登录页面就可以进行钓鱼实践了。

1. 注册域名并修改托管dns

首先注册好的钓鱼网站域名: alibaba-cin.com
pidomain

注册cloudflare账号,并把 alibaba-cin.com 进行网站添加
pidomain

输入购买的域名,Add Site
pidomain

Next,下一步
pidomain

选择免费的方案, Confirm Plan
pidomain

进行0$支付吧,Purchase
pidomain

进行dns查询等待
pidomain

cloudflare扫描你的域名,发现并没有修改成cloudflare的dns,所以检查失败,
这时后点击下方的continue
pidomain

cloudflare给出提示,你需要把他给定的两个dns拿到域名商的dns处进行修改
pidomain

域名商处修改成cloudflare的dns,并确定修改
pidomain

修改成功等待几分钟就生效了,刷新页面看一下
pidomain

2. 添加子域名A记录

在cf面板dns管理界面,添加A记录
pidomain

将ip地址指向你的公网web服务器ip(图中为演示,随意填写的ip)

3. 配置单向SSL加密(https)

选择Crypto设置中的Flexible选项
phishingssl

将下面的总是使用https选项打开
alwayshttps

将下面的自动https重写选项打开
autohttps

至此我们已经配置好钓鱼的登录域名,开启https选项,加强迷惑性。

4. 钓鱼网站编码

我们在针对公司进行钓鱼演戏时,并不需要真正开发一套账户体系,只是需要写一个一模一样登录界面,后端接收登录提交的post请求数据即可。

我们浏览器打开需要克隆的目标站,右键源代码把静态html全部复制出来,保存到index.html。
phishingtarget

打开页面会发现乱码,很多资源加载不出来
phishingtarget

那是因为我们右键源代码复制出来的html里面有很多相对路径,相对路径的资源引用的是目标站的网站路径。我们需要把这种相对路径的资源全部引用目标站的链接,比如/css/bootstrap.min.css改成https://sso.yunxxxxx.com/css/bootstrap.min.css。

前端html如何将内容post到后端web框架呢?

  • 学习一种web框架将目标页面的表单或关键链接替换成我们后端自己的路由;
  • 可能你的目标站的post登录是通过ajax事件向相对路径post数据,这时你只需要把第4步中改好的html替换我的源代码中的index.html即可。

旧Kali Linux 中有一个社工工具setoolkit,我尝试过自动生成的目标站钓鱼页面效果不是太好。这是因为目标站的首页的资源复杂,自动生成钓鱼网站的工具比较难实现完美的克隆并与服务器端交互。所以需要自己有一些coding的能力。

application.py          - 网站配置文件

url.py                  - 网站路由规则

handlers/login.py       - 登录接收数据的逻辑

server.py               - 网站启动文件,启动端口就在这个文件的21行修改

templates/index.html    - 模板文件,该文件是需要你重点替换和修改的静态页

fish.txt                - 接收到的登录用户名和密码的本地文件

logs                    - 日志目录

注意事项和有意思的事情

  • 钓鱼一定要跟公司的上层领导做好沟通,并取得同意支持,不要任性,可能…会被xx。
  • 如果你注册的域名足够巧妙,会取得意想不到的成果:举个例子,当时我注册了一个前公司钓鱼网站的域名,搭建在公网上,并没有做任何事情,神奇的事情发生了。一个周内,我并没有宣传,也没有向外散播,好几个公司同事自投罗网。分析发现,因为注册的域名在手机或电脑上很容易敲错其中的一个字母,比如yun,敲成yum,而且频率较高的部门比较固定为某一类。为了避免不必要的误会,我已经将钓鱼网站域名免费转给了前公司安全的小伙伴。
  • 这招应该对大厂比较管用,员工的基数大,躺着收密码,但要向官方问清楚是否可以采取钓鱼的方式进行;
  • 源码中的index.html我已经把前公司资源的链接换成了不存在的地址,打开后会乱码,因为并不想让前公司当成靶子。
  • 不要乱搞,你应该购买域名隐私保护。
  • 有喜欢挖洞的小伙伴经常找不到https的xss平台,用cloudflare来搭建自己的https xss平台吧,我已经试过了。

微信公众号内没有内容,关注与我在后台进行交流:

pirogue

使用方法

Git: https://github.com/p1r06u3/phishing

  • 一个python依赖库:
    pip install tornado
  • 一行命令:
    python server.py
    
    或者后台运行
    
    nohup python server.py &

    原文链接:http://pirogue.org/2018/06/26/phishing/

标签:

给我留言