实验原理
- Linux apachectl命令可用来控制Apache HTTP服务器的程序,用以启动、关闭和重新启动Web服务器进程。
- apachectl是slackware内附Apache HTTP服务器的script文件,可供管理员控制服务器,但在其他Linux的Apache HTTP服务器不一定有这个文件。
- 语法
apachectl [configtest][fullstatus][graceful][help][restart][start][status][stop]
- configtest 检查设置文件中的语法是否正确。
- fullstatus 显示服务器完整的状态信息。
- graceful 重新启动Apache服务器,但不会中断原有的连接。
- help 显示帮助信息。
- restart 重新启动Apache服务器。
- start 启动Apache服务器。
- status 显示服务器摘要的状态信息。
- stop 停止Apache服务器。
- EtterCap是一个基于ARP地址欺骗方式的网络嗅探工具。
- 它具有动态连接嗅探、动态内容过滤和许多其他有趣的技巧。
- 它支持对许多协议的主动和被动分析,并包含许多用于网络和主机分析的特性。
- 主要适用于交换局域网络,借助于EtterCap嗅探软件,渗透测试人员可以检测网络内明文数据通讯的安全性,及时采取措施,避免敏感的用户名/密码等数据以明文的方式进行传输。
实践过程
任务一:简单应用SET工具建立冒名网站
- 由于要将钓鱼网站挂在本机的http服务下,所以需要将SET工具的访问端口改为默认的80端口。
使用sudo vi /etc/apache2/ports.conf
命令修改Apache的端口文件,将端口改为80,如下图所示:
-
在kali中使用
netstat -tupln |grep 80
命令查看80端口是否被占用。如果有,使用kill+进程号
杀死该进程。如下图所示,无其他占用: -
使用
sudo apachectl start
开启Apache服务,Kali中显示并没有成功;而后使用sudo apachectl -k start
命令,Apache服务成功启动,截图如下: -
输入
sudo setoolkit
打开SET工具,截图如下: -
选择
1:Social-Engineering Attacks
即社会工程学攻击 -
选择
2:Website Attack Vectors
即钓鱼网站攻击向量 -
选择
3:Credential Harvester Attack Method
即登录密码截取攻击 -
选择
2:Site Cloner
进行克隆网站 -
输入攻击机
IP:192.168.141.130
,即Kali的IP,也可以直接按下Enter
键 -
输入被克隆某一个网站的url:我选择的是云班课 - 用户登录 (mosoteach.cn)
-
在靶机上(我用的Windows)输入攻击机
IP:192.168.141.130
,按下回车后跳转到被克隆的网页: -
在克隆网站上我输入用户名以及密码,在攻击机上可以看到靶机的get请求信息,还可以看到有关用户名和密码的信息。这里可以发现密码似乎被加密了,用户名中除了“@”符号变为了“%40”以外,其余信息暴露无余。
-
为了起到迷惑靶机的作用,我们将靶机IP伪装成一串地址URL Shortener,在靶机输入(可能是错误的)用户名和密码,攻击机可全部获取
任务二:ettercap DNS spoof
-
进入到
root
模式下,并使用ifconfig eth0 promisc
将Kali虚拟机的网卡改为混杂模式; -
输入命令
vi /etc/ettercap/etter.dns
对DNS缓存表进行修改。如图所示,可以添加几条对网站和IP的DNS记录,图中的IP地址是我的kali主机的IP: -
使用
ettercap -G
开启ettercap -
默认
Primary interface
应该为eth0
,如果不是,就改成eth0
,点击√
开始扫描 -
然后点击右上角的工具栏,扫描子网选择
Hosts
、Scan for hosts
,然后查看扫描到的存活主机,点击Hosts
、Host list
-
虚拟机的网关为
192.168.141.2
,靶机Windows7的IP为192.168.141.140
;将网关的IP添加到target1,将靶机IP添加到target2 -
选择右上角的小圆圈标志,点击
mitm
、arp poisoning
,选择sniff remote connections
,点击OK确定 -
选择右上角的工具栏
Plugins
、Manage the plugins
-
选择
dns_spoof
,即DNS欺骗的插件,双击后即可开启 -
此时已经处于嗅探模式,在靶机中执行ping命令
ping www.baidu.com
,发现百度的IP已经更改成192.168.141.130
-
在Kali端看到反馈信息如下:
任务三:结合应用两种技术,用DNS spoof引导特定访问到冒名网站
完成思路:综合使用以上两种技术,首先按照任务一的步骤克隆一个蓝墨云班课界面,而后通过任务二实施DNS欺骗,欲达到在靶机输入网址http://www.cnblogs.com/
可以发现成功访问我们的冒名网站
-
重复任务一,将蓝墨云班课地址云班课 - 智能教学助手 (mosoteach.cn)与kali的IP
192.168.141.130
关联 -
按照任务二的步骤实施DNS欺骗,此时www.cnblogs.com(博客园网址)的解析地址已经被我们设置为了攻击机地址
成功啦!!!
基础问题回答
-
通常在什么场景下容易受到DNS spoof攻击
- 公共网络环境容易受到DNS spoof攻击
- 在同一局域网下容易受到DNS spoof攻击
-
在日常生活工作中如何防范以上两攻击方法
- 不要随便使用没有安全保障的公共网络
- 打开网页的时候,注意查看网址是否被篡改
- 使用入侵检测系统,可以检测出大部分的DNS欺骗攻击
- 不连陌生且不设密的公共WiFi,给黑客机会
- 直接使用IP地址访问,对个别信息安全等级要求十分严格的WEB站点尽量不要使用DNS进行解析。
遇到的问题以及解决办法
-
在Unbuntu中重启Apache服务器出现以下错误:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message。
解决办法:通过
sudo vim /etc/apache2/apache2.conf
命令进入apache2.conf文件夹,在最后一行添加ServerName localhost:80
-
使用
ifconfig eth0 promisc
想要将Kali虚拟机的网卡改为混杂模式,但提示报错信息为SIOCSIFFLAGS: 不允许的操作
解决方案:通过
sudo su
命令进入到管理员模式下,在将Kali虚拟机的网卡改为混杂模式即可。
实验感想
本次实验总体来说难度不大,做完的一瞬间有一种喜笑颜开的感觉,原来制作一个钓鱼网站并没有想象中的那么难呀!在本次实验中我学会如何克隆一个网站,以及如何实现DNS欺骗。我很享受本次实验过程,同时也感慨网络环境并没有我们想象的那么安全。别有用心的人不需要任何后门程序,只需要实现你的IP与某一个网站的映射就可以窃取个人信息。