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还是不要轻易连接的好,如果一定要连接使用,也不要轻易主动的去访问某个链接,并输入敏感的信息,正常情况下,你是真的很难知道该网站有没有被克隆,但是也不用过于担心,一般来说现在很多软件与服务器的交互信息都是加了密的,即便被嗅探,也是无法很快解密出来的;
- 所要担心的就是该局域网域名有没有被劫持,尽量别通过域名访问,真的很危险!(预防方案参考前文)