返回目录php
理解经常使用网络欺诈背后的原理,以提升防范意识,并提出具体防范方法。html
返回目录java
简单应用SET工具创建冒名网站 (1分)python
ettercap DNS spoof (1分)nginx
结合应用两种技术,用DNS spoof引导特定访问到冒名网站。(1.5分)web
返回目录shell
10.211.55.10
)10.211.55.14
)返回目录数据库
返回目录浏览器
DNS缓存
DNS即Domain Name System,域名系统以分布数据库的形式将域名和IP地址相互转换。DNS协议即域名解析协议,是用来解析域名的。有了DNS咱们就不用再记住烦人的IP地址,用相对好记的域名就能够对服务器进行访问,即便服务器更换地址,咱们依旧能够经过域名访问该服务器,这样可以时候咱们更方便的访问互联网。
DNS欺骗是一种中间人攻击形式,它是攻击者冒充域名服务器的一种欺骗行为。
DNS spoof主要用于向主机提供错误DNS信息。当用户尝试浏览网页,例如IP地址为
XXX.XX.XX.XX
,网址为www.bankofamerica.com
,而实际上登陆的确实IP地址YYY.YY.YY.YY
上的www.bankofamerica.com
,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了,这个网址是攻击者用以窃取网上银行登陆证书以及账号信息的假冒网址,DNS欺骗其实并非真的“黑掉”了对方的网站,而是冒名顶替、招摇撞骗罢了。
尽管DNS在互联网中扮演如此重要的角色,可是在设计DNS协议时设计者没有考虑到一些安全问题,致使了DNS的安全隐患与缺陷。
DNS欺骗就是利用DNS协议设计时的一个很是重要的安全缺陷。首先欺骗者向目标机器发送构造的APR应答包,ARP欺骗成功后,嗅探到对方发出的DNS请求数据包,分析数据包取得ID和端口号后,向目标发送本身构造后的一个DNS返回包,对方收到DNS应答包,发现ID和端口号所有正确,即把返回数据包中的额域名和对应的IP地址保存近DNS缓存表中,然后来当真实的DNS应答包返回时则被丢弃。
DNS欺骗攻击是很难防护的,由于这种攻击大多数本质都是被动的。一般状况下,除非发生欺骗攻击,不然你不可能知道你的DNS已经被欺骗,只是你打开的网页与你想要看到的网页有所不一样。在不少针对性的攻击中,用户都没法知道本身已经将网上银行账号信息输入到错误的网址,直到接到银行的电话告知其账号已购买某某高价商品时用户才会知道。这就是说,在抵御这种类型攻击方面仍是有迹可循:
- 保护内部设备: 像这样的攻击大多数都是从网络内部执行攻击的,若是你的网络设备很安全,那么那些感染的主机就很难向你的设备发动欺骗攻击。
- 不要依赖DNS:在高度敏感和安全的系统,你一般不会在这些系统上浏览网页,最后不要使用DNS。若是你有软件依赖于主机名来运行,那么能够在设备主机文件里手动指定。
- 使用入侵检测系统: 只要正确部署和配置,使用入侵检测系统就能够检测出大部分形式的ARP缓存中毒攻击和DNS欺骗攻击。
- 使用DNSSEC: DNSSEC是替代DNS的更好选择,它使用的是数字前面DNS记录来确保查询响应的有效性,DNSSEC如今尚未普遍运用,可是已被公认为是DNS的将来方向,也正是如此,美国国防部已经要求全部MIL和GOV域名都必须开始使用DNSSEC。
SET(Social-Engineer Toolkit)是一款python开发的社会工程学工具包。
打开Kali攻击机,终端中输入setoolkit
命令启动SET工具,而后输入y
,出现欢迎页面(跟msfconsole都是一个德行):
往下拉会出现几个选项,分别是:
setoolkit最经常使用的功能是社会工程学攻击,所以咱们选择第一个选项1
:
又出现一个欢迎页面,以后有几个选项:
2
:3
截取登陆密码:2
进行网站的克隆:
y
杀死占用该端口的进程Apache和nginx服务,开启Harvester服务:http://short.php5developer.com/dst
在靶机的IE浏览器中打开,出现一个跳转提示(和广告):而后模拟不知情的受害用户在钓鱼网站上输入用户名、密码(甚至还有验证码),接着就会被setoolkit工具记录下来:
其中submit对应html中的提交当前表单中的所有信息,包括username和password。能够看到钓鱼网站攻击成功,成功窃取用户的身份信息(虽然这回是假的,不过仍不得不让人细思极恐啊)!!!
ettercap是一个很好用来演示ARP欺骗攻击的工具,包含一个DNS插件,很是容易使用。
ifconfig eth0 promisc
将Kali攻击机的网卡改成混杂模式:vi /etc/ettercap/etter.dns
对ettercap的DNS缓存表进行修改:ettercap -G
启动ettercap可视化界面,一下弹出一个带有蜘蛛的界面把我吓了一跳(蜘蛛恐惧症伤不起啊>_<):Sniff
->Unified sniffing...
打开配置界面,选择网卡eth0
(默认):Hosts
->Scan for hosts
扫描存活主机:Hosts list
查看扫描结果,而后开启中间人监听模式,将要监听的两端(网关IP和win7靶机IP)分别添加到Target一、Target2,如图:Mitm
—>Arp poisoning
,勾选Sniff remote connections.
(嗅探并保持原链接状态),肯定,而后选择工具栏Start
->Start sniffing
开始实行arp欺骗:10.211.55.14
,让它误觉得Kali攻击机10.211.55.10
是网关10.211.55.1
):View
->Connections
查看和被监听靶机之间的全部链接信息:Plugins
—>Manage the plugins
,选择DNS_spoof插件,*
表示被选中:Start
->Start sniffing
开始嗅探:ping www.cnblogs.com
会发现解析的地址是Kali的IP:在Kali上能够看到,在DNS已经成功欺骗时,全部会话被转移到了攻击者的主机,而不是真正的博客园服务器!!
本次DNS欺骗攻击还能够用ettercap的命令行版本完成(感受这回用命令行要比界面操做简单的多得多啊)!在配置完etter.dns
以后,只需输入以下命令便可完成欺骗:
ettercap -T -q -i eth0 -P dns_spoof -M arp // //
各参数及其含义以下:
-P
:使用插件(这里咱们使用的是dns_spoof)-T
:使用基于文本界面-q
:启动安静模式(不回显的意思)-M
:启动ARP欺骗攻击// //
:表明欺骗整个子网网络-i eth0
:使用特定的接口eth0执行dns欺骗攻击www.cnblogs.com
,就能够发现成功登陆了钓鱼网站同时记录下用户名和密码: DNS欺骗是一种很是危险的攻击,由于攻击者能够利用ettercap的dns_spoof插件和其余工具执行攻击,最终,攻击者可使用一个社会工程工具包(如SET)来执行攻击去控制受害者的主机。想象一下这是多容易,经过社会工程工具包和DNS欺骗技术你所须要作的仅仅就是配置你的社会工程工具包和你的IP清单,制做像百度同样的网站欺骗域名到你的IP地址上。当受害者打开www.baidu.com
,你的攻击将使它访问你的IP,以后创建一个远程的会话。
怎么说呢,仍是那句话,遇事多留心、常疑问,提升防骗意识,才能立于不(bei)败(pian)之地!