一、引言

这是信息安全课上老师讲的一个案例吧,某人创建一个假的热点,然后等待人来连接,然后去获取连接者的数据。

这个实验感觉还是比较有意思的,毕竟以前总听说过假WIFI泄露数据的案例但从来没有亲手实验过,所以这也算是一个比较好的机会吧,更何况交实验报告还能拿分。。

二、开放新的热点:

虽然这个实验名称叫做fake-wifi,但本质上这是一个真正的wifi,只是开放者可以监听到其中的数据包而已,所以我们首先要做的是开放一个热点。

这里我用的是Ubuntu 16.04来开放热点,尽管老师说过Linux下一行命令就可以实现热点的开放,但是我没有找到这样的方法,一位博主给出了命令行的开放方法,不过要下额外的软件,并且配置也比较多:

Ubuntu16.04命令行方式开放热点

这里我使用了一种图形化的方法,首先保证自己有了有线连接,在右上角点击左数第三个网络连接的图标,然后出现很多选项,选择"编辑链接"。

编辑所有链接

在这个界面选择增加,然后选择WIFI类型。

选择WIFI类型

连接名称自己起,这里展示一下各标签卡的配置:

点击保存即可,然后用电脑连接到新创建的WIFI,如果找不到的话,可以链接到隐藏的WIFI网络。

选择刚创建的热点

点击连接即可,然后就可以用手机去连接这个热点了,这里我连接的时候手机上显示WIFI不能上网,重启了一下电脑然后再连接就正常了。

三、监听流量

首先要做的的是找到要监听的接口,这里我们可以使用tcpdump命令,在使用该命令之前,我们需要先找到要监听的接口,这里使用ifconfig命令,可以看到:

使用ipconfig命令之后

那么接口的名称就可以使用enp6s0,后面其实还有一个名称为wlp7s0的,监听这个也是可以的。个人感觉后者应该就是WIFI对应的接口,前者则是主接口,而本电脑开热点的话数据包一定要经过主接口,所以监听哪个应该都可以。

在去尝试更多的命令之前,我首先尝试去窃取一下向自己之前做的网站发送的密码,因为我的网站没用https,而且ip地址什么的我也都知道,所以比较好实现,这里使用的命令如下:

sudo tcpdump -i enp6s0 dst xxx.xxx.xx.xxx -nn -X

这里解释一下这个命令:

tcpdump属于特权命令,因此需要sudo来执行,-i参数来指定接口,也就是之前找到的enp6s0,dst则是数据包的目标点,后面接的是我服务器的地址,-nn指直接用IP名称及端口而不是服务来显示,-X指的是以16进制方式显示封包的内容。

开启之后,会进入到如下的状态:

使用tcpdump之后显示的内容

这个时候,用连上热点的手机给我的网站发送一条数据,填好信息,然后点击提交:

网站的样式,只有一个表单

可以看到我们监听的界面出现了很多数据:

监听到了数据

这里也表明我们监听到了数据包,然后我们需要分析的是HTTP的POST请求,就是我刚才没有截完图的部分,如图:

从数据中可以看到密码明文

这里我圈出来的部分就是刚才发送的用户名和密码,这也说明我们成功监听到了关键数据。

四、重定向页面到某网站上

由于https协议下,传输的数据是加密的,所以直接窃听是不可取的,因此本实验的目的更多是通过钓鱼网站来获取https协议的传输数据。

1.源网站使用HTTP头

这个比较好实现,由于现在使用HTTP协议的网站不多了,所以我还是使用我自己的云服务器来演示,由于知道服务器的ip地址,这个实验更加的容易了,现在是在没有重定向的情况下访问该网站的某个页面。

访问原来的网址

如图,这是在正常访问情况下的结果,然后我们开始进行配置,使得使用我们热点的人访问该页面时重定向到某个我们想展示给他的网页,这个与本来要访问的页面对应的网页我建立在了我本机的tomcat服务器的目录下,内容只有一行字”错误的页面”。

使用iptables命令来重定向ip

如图所示,我们使用了iptables命令,这里的关键在于-d后面的是原本要访问的ip地址,--to-destination后面的是重定向后的地址,回车之后就实现了一个重定向。

当设置之后我们再访问原来的URL:

再次访问该网址的对应页面

可以看到,此时已经跳转到了我们想要展示给对方的页面,即重定向页面成功。

*这里iptables命令重定向之后,如果想要删除这条重定向,可以用如下命令(具体原理可以百度):

sudo iptables -nt nat -L --line-numbers    #查看PREOUTING下的所有规则
sudo iptables -t nat -D PREROUTING 1    #删除对应的规则

2.源网站使用HTTPS头

其实HTTPS现在位置还算是一个比较好的协议了,虽然本实验能在一定程度上来进行欺骗,但实际上我们用手机去访问这个冒牌网站时,还是有警告信息的,这也一定程度上证明了HTTPS协议的安全性,这里我用到了tomcat服务器,别的服务器应该也可以,关键是前者用习惯了。

首先我们要做的是DNS劫持,即将用户本来要访问的网址解析为一个放有钓鱼网站的地址上去,在Linux上可以通过一个叫做dnsmasq的软件来实现,通过apt-get就能下载并安装这款软件。

安装好之后我们首先需要修改其配置文件,即/etc/dnsmasq.conf,这里我针对的是QQ空间的手机网址,因此我把手机浏览器上登录QQ空间的所有域名都解析为了本机地址,如图:

书写解析规则

然后重启dnsmasq服务即可,在Ubuntu下命令为

sudo service dnsmasq restart

*这里有必要说一下,如果之后又修改了配置文件然后重启之前,要断掉WIFI,关掉相关链接的网页,否则重启可能失败,出现如图情况:

失败的重启

这些操作做完以后,再去访问手机QQ登录页面时,会发现如图的情况:

访问手机QQ登录页面

证明域名劫持成功,可以ping一下网址来进行验证:

ping qq.com

下一步就是要换上自己的钓鱼网站,这里我使用了tomcat服务器,所以面对的最主要的问题就是如何让其支持https访问,网上的教程还是挺多的,基本思路就是制作证书,然后修改端口为443,这样用https访问tomcat就能出现结果了,这里具体过程就不再详述了,可以参考这篇博客:

tomcat配置https协议

最后就是换上我们自己的假网页了,这里我随便写了一个,意思到了就行:

自己写的假网页

结束这些之后,我们开启tomcat服务器,然后尝试从连上了fake-wifi热点的手机上面去访问QQ空间登录页面,如图:

准备访问手机QQ空间

当我们去访问“QQ空间-分享生活,留住感动”时:

浏览器发出警告

这里浏览器已经出现了警告,因此这种欺骗可能在现实中不会成功或者对一些安全意识极差的用户能够成功,这里出于实验的原因我们按下继续访问:

显示出了假网页

网址却是真的

如图,重定向到了之前我们设置的钓鱼网站上,并且域名也是一本正经的QQ空间登录域名了。

五、总结

在本次试验中,我搭建了一个fake-wifi,并尝试在http协议下监听了用户数据,以及在http/https协议下将用户访问的正常网站重定向到钓鱼网站上。

这个实验中的欺骗其实在现实中不太行得通,因为这个欺骗成功的前提是用户的安全意识极低,可以随便连没有加密的未知WIFI,并且在浏览器预警时选择忽略。而现在的网民的安全意识还是比较高的,并且WIFI安全问题也频繁被报道,这也更让人们在连接WIFI以及使用WIFI时更加谨慎了。不过这个实验至少对我这样经常忽略各种警告的人还是有一定的警示作用的。

本次的实验虽然不是很复杂,不过对我个人还是有一定的帮助的。它为我开启了信息安全这一领域的一扇门,让我认识到要实现某些攻击手段,不一定要写很多的代码,也不一定要有很高超的计算能力,而在于知识的积累,懂得技术越多,能做的事也就越多,这也充分说明了学习的重要性。

信息安全实验:实现一个fake-wifi相关推荐

  1. 科软-信息安全实验3-Rootkit劫持系统调用

    目录 一 前言 二 Talk is cheap, show me the code 三 前期准备 四 效果演示 五 遇到的问题&解决 六 18.04的坑 七 参考资料 八 老师可能的提问 一 ...

  2. 科软-信息安全实验2-netfilter实验

    目录 一 前言 二 Talk is cheap, show me the code 三 前期准备 四 效果演示 五 遇到的问题&解决 六 参考资料 七 老师提供的代码 一 前言 文章不讲解理论 ...

  3. 信息安全实验五 之 计算机病毒与黑客实验脚本【恶意网页病毒演示病毒制作木马捆绑】

    信息安全实验五 之 计算机病毒与黑客实验脚本[恶意网页病毒演示&病毒制作&木马捆绑] 一.脚本及恶意网页病毒演示实验 1.创建文件 2.拷贝文件 3.删除文件 4.修改文件 二.病毒详 ...

  4. 古典密码算法实验c语言,2021信息安全 实验一 古典密码算法C语言.docx

    2021信息安全 实验一 古典密码算法C语言.docx 信息安全信息安全 实验一实验一 古典密码算法古典密码算法 C C 语言语言 信息安全实验报告 课程名称 _ 专业计算机科学与技术 _2010_级 ...

  5. SEED Labs信息安全实验

    1.1  SEED Labs 介绍 SEED Labs是一套完整的信息安全实验,涵盖本科信息安全教学中的大部分基本原理,可用于提高学生体验式学习的实验室练习.项目组2002年由杜文亮教授创建,目前开发 ...

  6. C语言实验——求一个3*3矩阵对角线元素之和

    C语言实验--求一个3*3矩阵对角线元素之和 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 给定一个3*3的矩阵,请你 ...

  7. 利用Mac创建一个 IPv6 WIFI 热点

    标签: iOSIPv6Create NAT64 NetWork创建NAT64网络 2016-05-20 10:58 14156人阅读 评论(11) 收藏 举报  分类: 开发技巧(8)  版权声明:本 ...

  8. java实验二答案天津商业大学_天津商业大学信息安全实验一

    天津商业大学信息安全实验一 1<信息安全技术>实 验 报 告 书实验名称: 实验一Internet应用风险专 业: 电子商务班 级: 1203班姓 名: 代常发学 号: 20124934指 ...

  9. ESP8266本质是一个带wifi功能的单片机

    ESP8266本质是一个带wifi功能的单片机,是乐鑫科技开发的,怪不得百度搜ESP8266第一个结果是乐鑫科技的. 所以wifi数传里面本质是有个单片机的,不可能就是几块数电芯片就完成了. http ...

  10. 7-298 sdut-C语言实验-众数7-299 sdut-C语言实验-求一个3*3矩阵对角线元素之和

    目录 7-298 sdut-C语言实验-众数 7-299 sdut-C语言实验-求一个3*3矩阵对角线元素之和 7-298 sdut-C语言实验-众数 分数 14 全屏浏览题目 切换布局 作者 马新娟 ...

最新文章

  1. WCF技术剖析之十四:泛型数据契约和集合数据契约(下篇)
  2. 【unity】拓展自定义编辑器窗口(二)
  3. (转)Blend操作入门: 别站在门外偷看,快进来吧!
  4. 手写数字阅读器用户界面
  5. 阶段3 2.Spring_03.Spring的 IOC 和 DI_6 spring中bean的细节之三种创建Bean对象的方式
  6. (转)最近100年全球最顶尖公司的共性
  7. 总结之使用lowagie.text添加PDF水印
  8. MNE example《Motor imagery decoding from EEG data using the Common Spatial Pattern (CSP)》
  9. 手机logging什么意思_手机logging怎么关闭
  10. C++ SuperLU 混合编程
  11. ubuntu安装ROS进行到rosdep update时出现错误,如ERROR: unable to process source ...
  12. java模拟器安卓版钻石狂潮,王者笔记!
  13. 使用zii.widgets.CDetailView显示内容
  14. Android 浅谈 Activity (下)
  15. 开源书籍和网站:free-programming-books
  16. nohup输出日志文件
  17. 推荐几个jquery实用的插件
  18. python中pygame循环播放3首音乐和3张图片
  19. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java研究生教学管理系统p5aow
  20. Java开发面试书籍,ubuntumysql安装教程

热门文章

  1. 行走在古道间,看时光深处,
  2. 带省略号的比喻句_标点符号往往能引发人们的联想,例如:“省略号像一条漫长的人生道路,等着你去书写它留下的空白。”请以一种标点符号(省略号除外)为描述对象,写一个比喻句,形象地阐发某种生活道理。...
  3. java声音变音代码实现_大话音频变声原理 附简单示例代码
  4. CentOS停更;阿里发布全新操作系统(Anolis OS),用后直呼:牛X
  5. ZQ计分器的隐私条款
  6. 关于python的列表以下选项中描述错误的是_关于Python的元组类型,以下选项中描述错误的是 (4.0分)_学小易找答案...
  7. 手机做web服务器 无限流量,无限流量卡和手机随身无线wifi,你选择哪一个?
  8. NIPS 2016 Tutorial:Generative Adversarial Networks学习记录
  9. word如何将选择题按首字母拼音排序
  10. Only fullscreen opaque activities can request orientation 最好的解析