甲方企业安全建设之钓鱼实践的一种姿势
Jun 26, 2018安全建设23043点击
效果图
- 效果图里是某公司的sso登录页,Chrome下同时显示的效果也是https;
- 欢乐的气氛下,其实大部分不是做安全的小伙伴并不知道为什么自己会中招。
原理和步骤
假设阿里巴巴的公司重要的系统入口是 login.alibaba-inc.com,那你就可以注册一个非常具有迷惑性的域名,例如 alibaba-cin.com。通过cloudflare启用一个login的二级域名,并配置https,然后开发一个一模一样的登录页面就可以进行钓鱼实践了。
1. 注册域名并修改托管dns
首先注册好的钓鱼网站域名: alibaba-cin.com
注册cloudflare账号,并把 alibaba-cin.com 进行网站添加
输入购买的域名,Add Site
Next,下一步
选择免费的方案, Confirm Plan
进行0$支付吧,Purchase
进行dns查询等待
cloudflare扫描你的域名,发现并没有修改成cloudflare的dns,所以检查失败,
这时后点击下方的continue
cloudflare给出提示,你需要把他给定的两个dns拿到域名商的dns处进行修改
域名商处修改成cloudflare的dns,并确定修改
修改成功等待几分钟就生效了,刷新页面看一下
2. 添加子域名A记录
在cf面板dns管理界面,添加A记录
将ip地址指向你的公网web服务器ip(图中为演示,随意填写的ip)
3. 配置单向SSL加密(https)
选择Crypto设置中的Flexible选项
将下面的总是使用https选项打开
将下面的自动https重写选项打开
至此我们已经配置好钓鱼的登录域名,开启https选项,加强迷惑性。
4. 钓鱼网站编码
我们在针对公司进行钓鱼演戏时,并不需要真正开发一套账户体系,只是需要写一个一模一样登录界面,后端接收登录提交的post请求数据即可。
我们浏览器打开需要克隆的目标站,右键源代码把静态html全部复制出来,保存到index.html。
打开页面会发现乱码,很多资源加载不出来
那是因为我们右键源代码复制出来的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 - 网站配置文件 |
注意事项和有意思的事情
-
钓鱼一定要跟公司的上层领导做好沟通,并取得同意支持,不要任性,可能…会被xx。
-
如果你注册的域名足够巧妙,会取得意想不到的成果:举个例子,当时我注册了一个前公司钓鱼网站的域名,搭建在公网上,并没有做任何事情,神奇的事情发生了。一个周内,我并没有宣传,也没有向外散播,好几个公司同事自投罗网。分析发现,因为注册的域名在手机或电脑上很容易敲错其中的一个字母,比如yun,敲成yum,而且频率较高的部门比较固定为某一类。为了避免不必要的误会,我已经将钓鱼网站域名免费转给了前公司安全的小伙伴。
-
这招应该对大厂比较管用,员工的基数大,躺着收密码,但要向官方问清楚是否可以采取钓鱼的方式进行;
-
源码中的index.html我已经把前公司资源的链接换成了不存在的地址,打开后会乱码,因为并不想让前公司当成靶子。
-
不要乱搞,你应该购买域名隐私保护。
-
有喜欢挖洞的小伙伴经常找不到https的xss平台,用cloudflare来搭建自己的https xss平台吧,我已经试过了。