20145221高其_网络欺诈技术防范

20145221高其_网络欺诈技术防范

目录

实践目标

  • (1)简单应用SET工具建立冒名网站
  • (2)ettercap DNS spoof
  • (3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站。

URL攻击

实验内容

  • 通过SET工具在本地主页搭建一个钓鱼网站,对钓鱼网站进行“域名”加工,诱导靶机点击访问,进而诱导靶机输入相应的账户名和密码,本地通过SET工具截取相应的字段。

实验过程

Step1:设置SET访问端口

  • 由于要将钓鱼网站挂在本机的http服务下,所以需要将SET工具的访问端口改为默认的80端口
  • 通过指令:sudo vi /etc/apache2/ports.conf更改默认设置

Step2:关闭80端口的应用进程

  • 为了让apache能接替80端口的使用,必须先关闭默认http的80端口的进程
  • 查询80端口进程pid:netstat -tupln | grep 80,我这里查看到的是883
  • 杀掉之前占用80端口的进程:kill 883
  • 可以再次执行端口查看的指令,确认没有进程占用
  • 打开apache服务:service apache2 start

Step3:打开set

  • 执行指令打开set:setoolkit

  • 选择1:社会工程学攻击

  • 选择2:网页攻击媒介

  • 选择3:钓鱼网站攻击

  • 选择2:克隆网站Site clone

  • 根据以下英文提示,输入攻击机IP:192.168.42.133

  • 接下来输入要搭建网址的URL:XXX.XXX.XXX

  • 看到如下提示表示钓鱼网站搭建成功,可以在kali攻击机下输入网址:127.0.0.1查看钓鱼网站是否设置成功,如果没有,考虑重启SET工具,再次观察即可

Step4:构建一个域名

  • 如果发送一个IP供人点击,可能性较小,我们可以伪装成一个较为正常的域名

  • http://short.php5developer.com网站可以帮我们做到这样一点,在如下文本框中输入需要伪装的IP地址,会自动生成一个域名

  • 测试:在浏览器中输入地址:http://short.php5developer.com/cRt

    • 会发现有一个跳转提示,等待10秒后会接入Kali的IP地址
    • 能正常显示自己搭建的钓鱼网站,表示初步成功

Step5:上钩

  • 通过靶机Win XP Sp3,访问域名
  • 因为和正常网站一模一样,所以当靶机不假思索的输入相应的用户名和密码后,在set工具下成功捕捉到了相关数据

存在问题

  • 由于我们不信任IP,所以构造了域名,但不清楚的域名也会引起怀疑,稍稍有点信息安全常识的就不会去点击该链接;
  • 即便如此也会产生一个大问题,当你登录到php5developer网站时,它会明显的提示你有跳转,而且会标出跳转的IP地址,也不利于攻击者IP的隐蔽,也达不到欺骗的效果,所以结合后文中的DNS SPOOF攻击,能在一个局域网下达到较为满意的结果。

dns欺骗攻击与SET结合

实验内容

  • 通过DNS欺骗,将靶机IP连接到相应的攻击机和靶机共用的网关,进而访问kali的DNS缓存表,将用户诱导向本机IP,结合SET工具,捕获靶机提交到的POST包

实验过程

Step1:更改DNS缓存

  • 在本地构造一个假的DNS缓存表,写入新的DNS缓存:www.qq.com A 192.168.42.133

  • 开启混杂模式,便于监听整个局域网络的数据包

    • ifconfig eth0 promisc

Step2:开启调试ettercap

  • 输入ettercap -G,开启ettercap,会自动弹出来一个ettercap的可视化界面

  • 点击工具栏中的Sniff—>unified sniffing

  • 之后会弹出界面,选择eth0->ok

  • 在工具栏中的Hosts下点击扫描子网,并查看存活主机,先后执行指令:

    • Scan for hosts
    • Hosts list
  • 将网关右键添加到target1,将靶机右键添加到target2

  • 选择Plugins—>Manage the plugins,在众多plugins中选择DNS欺骗

  • 然后点击左上角star选项,开始嗅探

  • 提示:此时不出差错,即可在靶机上通过www.qq.com域名访问到kali的默认网页了

Step4:攻击机开启SET

  • 此时开启SET工具,是为了能再一次利用其搭建的钓鱼网站,并能捕获POST信息,从而得到相应的用户名和密码
  • 该步骤基本类似于实验任务1,在此不再赘述过程
  • 经过上述操作后,可以开始监听本机主页的变化了

Step5:上钩

  • 不可否认,www.qq.com是一个访问很多的网站(注意:为了更加逼真,我们可以将DNS中的域名直接设定为钓鱼网站原域名,这样用户不会有任何怀疑,为了不透露钓鱼网站的真面目,此处用QQ代替

  • 当靶机用户登录到网站:www.qq.com时,即会连接到kali默认主页(即钓鱼网站),又因为此时SET已经开启监听,所以当用户登录QQ网站输入用户名和密码时,会被SET认认真真记录下来,而用户在输入时不会有任何察觉

  • 为了区分第一次的图,本次将密码输入设为:hahaha

  • 靶机图:可以看出URL都没变,一看就非常可信

  • kali攻击机图:完美解惑密码

总结

通常在什么场景下容易受到DNS spoof攻击

  • 同一局域网下,公共的热点容易受到DNS spoof攻击
    • 不需要密码的热点,等同于任何人都可以连上,这样的热点最危险
  • 不在同一局域网下,也可以完成
    • 向客户端主机随机发送大量DNS响应数据报,命中率很低
    • 或者可以向DNS服务器发起拒绝服务攻击,太粗鲁,容易被发现
    • 当然也不排除向主机或者DNS服务器植入病毒后直接进行DNS欺骗这样的做法
  • 所以常见有效的DNS spoof攻击就是在同一局域网下了

在日常生活工作中如何防范以上两攻击方法

  • 对于不在同一局域网下的DNS spoof攻击
    • 这样的攻击范围往往是大范围的,受影响的用户涵盖整个该DNS服务器服务的主机,而这样的攻击动作很容易被网管发现,所以留意一下相关的新闻即可
    • 可以对DNS服务器提供相应的安全保障,配置合适的防火墙规则,抵御DOS攻击
  • 对于在同一局域网下的DNS spoof攻击
    • 这种攻击我想说真的很难预防,就本次实践来说,kali可以将用户经常访问的URL先克隆到本机主页,然后修改DNS缓存,当用户访问该URL时,能看见一个一模一样的该URL界面,让用户误以为登录了正规的网站,不假思索的输入敏感信息
    • 就上面这一过程,不是检查域名的合法性就可以解决的,在设置好SET和DNS后,因为我并没有诱导你输入某个链接,你输入的域名访问了你预期的网页,正常情况下你是不会怀疑该网页的真实性的,所以以一般的经验来说真的很难预防
    • 但要是我们能提高我们的安全意识,也是有办法解决的,首先我们可以禁用本地的DNS缓存,避免自己的DNS缓存被恶意窜改,然后,好像就没有然后了……因为kali根本就没有让你访问自己DNS缓存的机会,直接将所有会话通过ettercap工具转移到了kali的主机,直接用kali的DNS缓存,你有什么办法?我是用户的话,根本不知道访问的是kali的DNS缓存,我也很无奈啊!
    • 还有一种是通过IP访问,但我觉得很不现实,没有人有记IP、查IP的习惯吧,实际中行不通…
    • 最后我觉得还是可以通过https来解决问题的,https协议所要解决的就是服务器认证的问题,要防御的就是有这样的钓鱼网站向用户欺瞒真实身份,所以现在绝大多数具有POST功能的网站都采用了https协议,当我们访问这样的网站时,如果不能提供正确的数字证书,不能完成ssl握手协议,那该网站肯定不可信,这一点在实际生活中应该还是容易实现的。
    • 另外补充一点吧,如果你真的很担心这样的事发生,你可以在通过域名访问时,先在cmd下先Ping一Ping,该过程会解析出此域名的IP,如果是个私有地址IP,请果断拒绝访问,肯定是克隆网站,并且赶快去排查该IP的主机是谁,揪出这个坏蛋!他在嗅探你的同时,也暴露了他自己!

实验感想

  • 本次实验做完,我的第一反应就是太厉害了,只要我能连入某一个局域网下,我就可以通过上述途径改变任何一个网站的访问,使得用户自主输入链接访问我预先设定的克隆网站,然后我就坐在电脑前等着信息就OK了;
  • 所以啊,能别连的WIFI还是不要轻易连接的好,如果一定要连接使用,也不要轻易主动的去访问某个链接,并输入敏感的信息,正常情况下,你是真的很难知道该网站有没有被克隆,但是也不用过于担心,一般来说现在很多软件与服务器的交互信息都是加了密的,即便被嗅探,也是无法很快解密出来的;
  • 所要担心的就是该局域网域名有没有被劫持,尽量别通过域名访问,真的很危险!(预防方案参考前文)
原文地址:https://www.cnblogs.com/20145221GQ/p/6765082.html