Transcript Document
网络攻防技术
-网络攻击
苏兆品
主要内容
网络攻击技术
网络防御技术
第一章 网络攻击技术
概述
信息搜集技术
口令攻击技术
拒绝服务攻击
DNS攻击
ARP欺骗
IP欺骗
社会工程学攻击
1.1 网络攻击概述
网络黑客
网络攻击的目标
网络攻击模型
1.1.1 网络黑客
“Hacker”,一般是指计算机技术的行家,热衷于深入探究系统
的奥秘,寻找系统的漏洞,为别人解决困难,并不断克服网络
和计算机给人们带来的限制的人。
把怀着不良的企图,强行闯入远程计算机系统或恶意干扰远程
系统完整性,通过非授权的访问权限,盗取数据甚至破坏计算
机系统的“入侵者”称为“黑客”,真正的黑客(Hacker)称这些
入侵者为骇客(Cracker)。
Hacker和Cracker之间有着本质的不同:
黑客
“黑客”(Hacker)指对于任何计算机操作
系统奥秘都有强烈兴趣的人。
“黑客”大都是程序员,他们具有操作系统
和编程语言方面的高级知识,知道系统中的
漏洞及其原因所在;他们不断追求更深的知
识,并公开他们的发现,与其他分享;并且
从来没有破坏数据的企图。
骇客
骇客(Cracker)是指坏着不良企图,闯入甚至破
坏远程机器系统完整性的人。
骇客利用获得的非法访问权,破坏重要数据,拒绝
合法用户服务请求,或为了自己的目的制造麻烦。
骇客很容易识别,因为他们的目的是恶意的。
骇客攻击的主要目的是:(1) 窃取信息;(2) 获取
口令;(3) 控制中间站点;(4) 获得超级用户权限。
“黑客”代表人物
Richard Stallman
GNU计划的创始人
Dennis Richie、Ken Thompson and
Brian Kernighan
Unix和C语言的开发者
Linus Torvalds
Linux Kernel开发者
骇客代表人物
Kevin Mitink
侵入美国国防部、中央情报局、五角
大楼及北美空中防务体系等防守严密
的网络系统。从而对美国一些国家机
密了如指掌。
闯入美国国家税务总局网络,窃取了
许多美国名人纳税的绝密资料。
从纽约花旗银行非法转移数字庞大的
美元到指定账户。
黑客?骇客?红客?
黑客=计算机天才+100%刻苦的自学+100%反
叛心理+无数个不眠之夜+(巨大风险)
骇客=计算机高手+60%自学+40%请教
+60%反叛心理+40%炫耀心理+一些不眠之夜
+巨大风险
红客=?“黑客”?或“骇客”?+爱国?-巨大风
险?
1.1.2 网络攻击的目标
黑客的攻击目标主要有两类:系统和数据,其所对
应的安全性也涉及系统安全和数据安全两个方面。
系统型攻击的特点是:攻击发生在网络层,破坏系
统的可用性,使系统不能正常工作。可能留下明显
的攻击痕迹,用户会发现系统不能工作。
数据型攻击的特点是:发生在网络的应用层,面向
信息,主要目的是篡改和偷取信息,不会留下明显
的痕迹。
1.1.3 网络攻击的一般模型
TEXT
TEXT
搜集信息
TEXT
获取权限
TEXT
消除痕迹
TEXT
深入攻击
搜集信息
侦查阶段,最重要
(1)隐藏地址:攻击者首先寻找可以利用的
别人电脑(当“傀儡机”),隐藏自己真实
的IP地址。
(2)锁定目标:安全漏洞的目标主机。
(3)了解目标的网络结构:网关路由、防火
墙、入侵检测系统(IDS)等
(4)搜集系统信息:操作系统类型、所提供
服务、端口开放、采用的协议等
获取权限
(1)获取访问权限:获取一般的账户和密码
•
网络帐号与口令的破解
• 强制口令破解:猜测简单口令,字典攻击,暴力
破解
• 破解口令文件
•
网络欺骗的方式:社会工程,网络钓鱼
(2)提升访问权限:获得一些额外的权力,最终获得目标
主机的控制权。
• 未打补丁和过期的软件应用程序在进行权限提升时
(3)保持权限:获得目标网络的权限并将权限提升至必要
的等级后,攻击者尽力维持已盗用系统的访问权限
• 安装恶意软件或者隐藏程序,提供攻击的后门
消除痕迹
这一阶段的主要动作是清除事件日志并隐藏
其遗留下来的文件,因为日志往往会记录一
些攻击者实施攻击的蛛丝马迹,为了不会留
下这些“犯罪证据”,以便日后可以不被觉
察地再次进入系统,攻击者会更改某些系统
设置,如对日志重新进行配置,使之恢复初
始设置。
攻击环节中被疏忽的部分
深入攻击
消除入侵的踪迹之后,攻击者就开始深入下
一步的行动,如下载敏感信息、展开破坏和
留下后门等——窃取主机上的各种敏感信息,
如软件资料、客户名单、财务报表、信用卡
号等,甚至在系统中置入特洛伊木马,会利
用这台已经攻陷的主机去继续他下一步的攻
击,如继续入侵内部网络,或者利用这台主
机发动DoS攻击使网络瘫痪。
1.2 信息搜集技术
概述
网络信息搜集的方法-端口扫描
TCP、UDP包头数据格式
TCP扫描
UDP扫描
其他扫描
1.2.1 概述
必要性:
知己知彼,百战不殆;不知彼而知己,一胜一负;不
知彼,不知己,每战必殆- 《孙子·谋攻》
信息对抗(博弈)-对敌方信息的掌握是关键
攻击者:
先手优势
攻击目标信息的搜集
防御者:
后发制人?
对攻击者实施信息搜集,归因溯源
网络信息搜集的内容
网络攻击的信息搜集
入手点:目标的名称和域名
攻击准备阶段:
网络中的位置
与真实世界的联系
攻击需要的更详细信息
攻击实施阶段
目标系统中存在的安全缺陷和漏洞
目标系统的安全防护机制
网络防御的信息搜集
追查入侵者的身份、网络位置、采用的攻击方法等
属于取证和追踪技术范畴
网络信息搜集的方法-端口扫描
对于系统管理员而言,端口扫描是获得主机信息的
一种常用方法。一个端口就是一个潜在的通信通道,
也就是一个入侵通道。
端口扫描技术有助于及时发现系统存在的安全弱点
和漏洞,有助于进一步加强系统的安全性。
对于入侵者来说,端口扫描技术被用来寻找攻击线
索和攻击入口的一种有效的方法。通过端口扫描可
以搜集到目标主机的系统服务端口开放情况。
1.2.2 TCP、UDP包头数据格式
TCP:TCP协议是传输层协议,为应用层提
供服务,RFC793中有基本的TCP描述,可
靠连接。
TCP数据包是包含在一个IP数据报文中的
TCP数据包头结构
TCP数据发送
TCP连接的建立-三次握手
首先,请求端(客户端)发送一个包含SYN标志的TCP报
文,同步报文会指明客户端使用的端口以及TCP连接的初
始序号。
服务器在收到客户端的SYN报文后,将返回一个
SYN+ACK的报文,表示客户端的请求被接受,同时TCP
序号被加一,ACK即确认(Acknowledgement)。
最后,客户端也返回一个确认报文ACK给服务器端,同样
TCP序列号被加1,到此一个TCP连接完成。
UDP协议(User Datagram Protocol),是
传输层协议,为应用层提供服务,RFC768中
有基本的UDP描述。
UDP数据包是包含在一个IP数据报文中的。
UDP协议是面向非连接的,任何一方创建好后,
都可以向对方发送数据包,甚至可以在对方未
开机或不存在的情况下,一方仍然可以成功地
发送数据包。
数据包头的结构
1.2.3 TCP扫描
(1)TCP connect扫描
(2) TCP SYN扫描
(3)TCP FIN扫描
(4)TCP NULL扫描
(5)TCP ACK扫描
(6) TCP FIN+URG+PSH扫描
(7) TCP反向Ident扫描
(1)TCP connect()扫描。
TCP connect()是最基本的一种扫描方式。使用系统
提供的connect()系统调用,建立与目标主机端口的
连接。
原理:如果端口正在监听,connect()就成功返回;
否则,则说明端口不可访问。
优势:用户使用TCP connect()不需要任何特权,系
统中任何用户都可以使用这个系统调用,另外用户
可以通过同时打开多个套接字(socket)来加速扫描。
完整的三次握手
(2) TCP SYN扫描
TCP SYN扫描常被称为半连接扫描
扫描的主机和目标主机的指定端口建立连接只
完成了前两次“握手”,第三次“握手”因被
扫描主机中断而没有建立起来。
原理:扫描程序发送一个SYN数据包,就好像准备
打开一个真正的连接,然后等待响应。
返回一个SYN/ACK,表明该端口正在被监听;
返回一个RST响应,表明该端口没有被监听。
如果收到一个SYN/ACK,则立即发送一个FIN包 来
关闭连接。
优点:极少有主机来记录这种连接请求。
一些防火墙和包过滤程序监视SYN数据包
缺点:半开扫描没有既定的函数可以调用,
所以需要自己组包,
所组的包必须能通过校检和函数的校验-伪TCP
头
总共需要填充三个头部信息:IP头、伪TCP头、
TCP头,最终再由IP头+TCP头完成一个整包。
(3)TCP FIN扫描
原理:当申请方主机向目标主机一个端口发送的
TCP标志位FIN置位1的数据包
如果目标主机该端口是“关”状态,则返回一个TCP
RST数据包;
如果目标主机该端口是“开”状态,则不回复。
缺点:该原理不是协议规定,因而与具体的协议系
统实现有一定的关系,
Windows操作系统:不管端口是处于“开”还是“关”
状态,都会回复RST数据包
UNIX操作系统则可以判断
此方法是一种判断操作系统类型的方法
(4)TCP NULL扫描
原理:当申请方主机向目标主机一个端口发
送的TCP数据包所有标志位都为空,
如果目标主机该端口是“关”状态,则返回一
个TCP RST数据包;
否则不回复。
(5)TCP ACK扫描
原理:当申请方主机向目标主机一个端口发
送一个只有ACK标志的TCP数据包
如果目标主机该端口是“开”状态,则返回一
个TCP RST数据包;
否则不回复
(6) TCP FIN+URG+PSH扫描
原理:当申请方主机向目标主机一个端口发
送的TCP数据包中,FIN、URG和PSH标志
位都置位
如果目标主机该端口是“关”状态,则返回一
个TCP RST数据包
否则不回复。
(7) TCP反向Ident扫描
Ident(Identification Protocol,标识协议,
RFC1413 )提供了一种方法,可以对建立TCP连
接的用户身份进行标识,该协议使用113端口,一
旦建立连接,该服务就会读取指定TCP连接的查询
数据,将拥有指定TCP连接的用户信息反馈给对方。
Ident 协议允许通过TCP连接查询对方的任
何进程的用户名,即使这个连接不是由该进
程开始的。
根据这一原理,扫描程序可以通过TCP连接
到对方的WWW端口(默认的80),然后通
过Ident协议判断对方是否正以管理员权限
运行。
缺点是只能在和目标端口建立了一个完整的
TCP连接后才能看到。
1.2.4 UDP扫描
普通的UDP扫描
UDP recvfrom和write扫描
(1)普通的UDP扫描
原理:ICMP协议(RFC792)规定,向目
标主机的一个未打开的UDP端口发送一个数
据包时,对方主机会回复一个“目的不可达”
(ICMP_PORT_UNREACH)错误。
特点:
需要多次扫描才能得到准确的结果。
扫描方法较慢
需要管理员权限
非root用户不能直接读到ICMP的“端口不能到达”
错误时
(2)UDP recvfrom和write扫描
原理:
一个关闭的端口的第二次write()调用通常会
失败。
如果在一个非阻塞的UDPsocket 上调用
recfrom()通常会返回EAGAIN()(“Try again”,
errno=13),而ICMP 则收到一个
ECONNERFUSED (“Connection refused”,
errno=111) 错误信息。
1.2.5 其他扫描
端口21的检查:ftp 1......
端口23的检查: telnet 1… (Internet远程
登陆服务 )
端口80的检查: http://
视频
扫描本机正在使用的端口:netstat (参数)
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令
扫描器
扫描器是一种自动检测远程或本地主机安全弱点的程
序,通过使用扫描器可不留痕迹地发现远程服务器的
各种TCP端口的分配及提供的服务,这就能间接地或
直观地了解远程主机所存在的安全问题。
扫描器并不是一个直接的实施网络攻击的工具,而是
一个帮助发现目标机的安全漏洞的工具。
扫描器的工作原理:扫描器通过选用远程TCP/IP不同
的端口的服务,并记录目标给予的回答,通过这种方
法,可以搜集到很多关于目标主机的各种有用的信息。
。
扫描器应该有3项功能:发现一个主机或网络
的功能;一旦发现一台主机,发现什么服务
正运行在这台主机上的功能;通过测试这些
服务,发现漏洞的功能
常用的端口扫描工具有:
流光
SuperScan
x-way2.5
X-Scan
NSS
SATAN
等。
推荐教材
网络扫描技术揭秘:原理、实践与扫描器的
实现,
作者:李瑞民
出版社:机械工业出版社出版
日期:2012年1月
ISBN:978-7-89433-197-7
作业
端口扫描器
要求:采用一种或多种端口扫描方法,能够
实现对某一网段的扫描
1.3 口令攻击技术
口令和身份认证
口令攻击
针对口令强度的攻击
针对口令存储的攻击
口令攻击的防范
1.3.1 口令认证
口令认证是身份认证的一种手段。认证过程如下:
(1)用户将口令传送给计算机
(2)计算机完成口令单向函数的计算
(3)计算机把单向函数值和存储的值
进行比较。
1.3.2 口令攻击
一、针对口令强度的攻击
强口令与弱口令
针对口令强度的攻击就是对目标口令通过不断地猜测,推
断进行破解尝试,越简单的口令越容易被猜解
从理论上来讲,任何口令都不是绝对安全的,这是因为无
论用户选择多么复杂的口令,它的取值只能是有限个数值
中的一个。
从技术的角度来说,口令保护的关键在于增加攻击者破译
口令所付出的时间代价。
较为安全的口令应该不容易发现规律,并且有足够的长度。
针对口令强度的攻击方法
针对口令强度攻击的方法主要是针对一些弱口
令的特点,进行攻击尝试,一般有暴力攻击、字
典攻击以及对这两种方法进行折中的组合攻击等
几种方法。
暴力攻击:
字典攻击
组合攻击
字典攻击的常用工具有:
John the Ripper: John the Ripper免费的开源软件,是一
个快速的密码破解工具,用于在已知密文的情况下尝试破解
出明文的破解密码软件,支持目前大多数的加密算法,如
DES、MD4、MD5等。它支持多种不同类型的系统架构,包
括Unix、Linux、Windows、DOS模式、BeOS和
OpenVMS,主要目的是破解不够牢固的Unix/Linux系统密
码。
L0phtCrack:简称LC 5,这是一款网络管理员的必备的工具,
它可以用来检测Windows、UNIX 用户是否使用了不安全的密
码,同样也是最好、最快的Win NT/2000/XP/UNIX 管理员帐
号密码破解工具。
二、针对口令存储的攻击
对缓存口令的攻击
对口令文件的攻击
其他存储位置的口令攻击
(1)针对缓存口令的攻击
在一个系统中,不论口令存储在什么位置,进行用
户身份验证时,总要加载到内存中,这就存在口令泄露的
风险。
比如:利用PWDump攻击,可以搜索系统内存,获
取系统帐号或口令
(2)针对口令文件的攻击
• 文件是口令存储的一种常见形式。比如Windows中的SAM
文件,Linux中的Shadow文件。
• 很多使用ASP构建的网站,在其源代码文件中往往以明文
形式存放连接数据库的帐号和口令,一旦攻击侵入网站服
务器,就可以进一步获取后台数据库服务器的帐号和口令。
• 其他的一些应用程序,比如Foxmail,它将用户的邮箱口
令存放在相应帐号目录下的account.stg文件中,有专门的
工具可以破解该文件
1.3.3口令攻击的防范
1、 口令的设置应当在易记和复杂两方面取其折中,不要在
所有的系统中使用相图的口令,也不要将口令记录在不安
全的地方,最好能够定期更换口令。
2、设置口令安全策略
3、采样加密的通信协议,防止口令的嗅探攻击;
4、使用软键盘输入口令,降低键盘记录攻击的威胁;
5、在访问网站时,注意区分钓鱼网站;
1.4 拒绝服务攻击
拒绝服务攻击
1、TCP SYN泛洪攻击
2、SMURF攻击
3、Land攻击
4、IP欺骗DOS攻击
5、Ping洪流攻击
6、泪滴(teardrop)攻
分布式拒绝服务攻击
1.4.1 拒绝服务攻击
DoS(Denial of Service)是一
种利用合理的服务请求占用过多
的服务资源,从而使合法用户无
法得到服务响应的网络攻击行为。
被DoS攻击时的现象大致有:
被攻击主机上有大量等待的TCP连接;
被攻击主机的系统资源被大量占用,造成系统停顿;
网络中充斥着大量的无用的数据包,源地址为假地址;
高流量无用数据使得网络拥塞,受害主机无法正常与外界通讯;
利用受害主机提供的服务或传输协议上的缺陷,反复高速地发出特
定的服务请求,使受害主机无法及时处理所有正常请求;
严重时会造成系统死机。
1、SYN Foold攻击(TCP SYN泛洪攻击)
是利用TCP协议缺陷,发送大量伪造的TCP连
接请求,使被攻击方资源耗尽的攻击方式。
CPU满负荷
内存不足
原理:利用TCP的三次握手,只完成前两步
SYN-Flooding攻击演示
正常的三次握手建立通信的过程
SYN (我可以和你连接吗?)
ACK | SYN(可以,请确认!)
ACK (确认连接)
发起方
应答方
攻击者伪造源地址进行SYN请求
就是让
你白等
为何还
没回应
SYN (我可以和你连接吗?)
ACK | SYN(可以,请确认!)
???
攻击者
不能建立正常的连接
其它正常用户得不到响应
受害者
SYN-Flooding攻击的防范措施
设置连接建立时间
设置允许的最大连接数
防火墙
2、SMURF攻击
Smurf是一种具有放大效果的DoS攻击,危
害性大
利用的是TCP/IP中的定向广播的特性
三个参与角色:受害者、帮凶(放大网络,
即具有广播特性的网络)和攻击者。
攻击方法
•攻击者向放大网络中的广播地址发送源地址(假冒)为
受害者系统的ICMP回射请求,由于广播的原因,放大
网络上的所有系统都会向受害者系统做出回应,从而导
致受害者不堪重负而崩溃。
检测
• 如果在网络内检测到目标地址为广播地址的
ICMP包。证明内部有人发起了这种攻击(或
者是被用作攻击,或者是内部人员所为);
• 如果ICMP包的数量在短时间内上升许多(正
常的ping程序每隔一秒发一个ICMP echo请
求),证明有人在利用这种方法攻击系统。
防范
为了防止成为DoS的帮凶,最好关闭外部路
由器或防火墙的广播地址特性;
为了防止被攻击,在防火墙上过滤掉ICMP报
文,或者在服务器上禁止Ping,并且只在必
要时才打开ping服务。
Smurf还有一个变种为Fraggle攻击,它利用
UDP来代替ICMP包。
3、Land攻击
原理:
攻击者发送一个特别打造的SYN包,它的源地址
和目标地址都被设置成某一个服务器地址。
接收服务器向它自己的地址发送SYN+ACK消息,
结果这个地址又发回ACK消息并创建一个空连接。
被攻击的服务器每接收一个这样的连接都将保
留,直到超时,对Land攻击反应不同,许多
UNIX实现将崩溃,NT变的极其缓慢(大约持续5
分钟)。
防范
对哪些在外部接口入站的含有内部源地址的
数据包过滤
4 IP欺骗DOS攻击
原理:利用RST位来实现。
方法
•
•
•
假设现在有一个合法用户(210.45.251. 1)已经同
服务器建立了正常的连接,攻击者构造攻击的TCP
数据,伪装 自己的IP为210.45.251. 1 ,并向服
务器发送一个带有RST位的TCP数据段。
服务器接收到这样的数据后,认为从210.45.251.
1发送的连 接有错误,就会清空缓冲区中建立好的
连接。
这时,如果合法用户210.45.251. 1再发送合法数
据,服务器就已经没有这样的连接了,该用户就必
须从新开 始建立连接。
• 攻击时,攻击者会伪造大量的IP地址,向目
标发送RST数据,使服务器不对合法用户服
务,从而实现了对受害服务器的拒绝服务攻
击。
5、Ping洪流攻击
原理:路由器对包的最大尺寸都有限制。
• 许多操作系统对TCP/IP栈的实现在ICMP包
上都是规定64KB,并且在对包的标题头进
行读 取之后,要根据该标题头里包含的信
息来为有效载荷生成缓冲区。
• 当产生畸形的,声称自己的尺寸超过ICMP
上限的包也就是加载的尺寸超过64K上限时,
就会 出现内存分配错误,导致TCP/IP堆栈
崩溃,致使接受方死机。
6、泪滴(teardrop)攻击
泪滴攻击是利用在TCP/IP堆栈中实现信任IP碎片
中的包的标题头所包含的信息来实现自己的攻击。
IP分段含有指明该分段所包含的是原包的哪一段
的信息,某些TCP/IP(包括servicepack 4以前的
NT)在收到含有重叠偏移的伪造分段时将崩溃。
DOS防范
安装防火墙,禁止访问不该访问的服务端口,过滤
不正常的畸形数据包,使用NAT(网络地址转换)
隐藏内部网络结构
安装入侵检测系统,检测拒绝服务攻击行为
安装安全评估系统,先于入侵者进行模拟攻击,以
便及早发现问题并解决
提高安全意识,经常给操作系统和应用软件打补丁
1.4.2 分布式拒绝服务攻击(DDOS)
DDOS是利用多台计算机,采用了分布式对
单个或者多个目标同时发起DoS攻击。
其特点是:
使目标瘫痪,而不是传统的破坏和窃密;
利用internet遍布全球的计算机发起攻击,难
于追踪。
DDoS攻击由三部分组成
客户端程序(黑客主机)
控制点(Master)
代理程序(Zombie),或者称为攻击点(daemon)
分布式拒绝服务攻击网络结构图
客户端
主控端
代
理
端
客户端
主控端
代
理
端
代
理
端
主控端
代
理
端
代
理
端
主控端
代
理
端
代
理
端
代
理
端
DDOS攻击分类
带宽耗尽型
是堵塞目标网络的出口,导致带宽消耗不能提供正常
的上网服务。
Smurf攻击、UDP Flood攻击等。
防范:QoS,在路由器或防火墙上针对此类数据流限
制流量,从而保证正常带宽的使用。
单纯带宽耗尽型攻击较易被识别,并被丢弃。
资源耗尽型
攻击者利用服务器处理缺陷,消耗目标服务器
的关键资源,例如CPU、内存等,导致无法提
供正常服务。
常见的Syn Flood攻击等。
资源耗尽型攻击利用系统对正常网络协议处理
的缺陷,使系统难于分辨正常流和攻击流,导
致防范难度较大,是目前业界最关注的焦点问
题
攻击者
Master
Flooding
Flooding
Master
Flooding
Master
Flooding
攻击目标
Flooding
Flooding
分布式拒绝服务攻击步骤
Hacker
不安全的计算机
1
攻击者使用扫描工具
探测扫描大量主机以
寻找潜在入侵目标。
Internet
扫描程序
Hacker
被控制的计算机(代理端)
2
黑客设法入侵有安全漏洞
的主机并获取控制权。这
些主机将被用于放置后门、
sniffer或守护程序甚至是
客户程序。
Internet
Hacker
Master
Server
被控制计算机(代理端)
3
黑客在得到入侵计算机
清单后,从中选出满足建
立网络所需要的主机,放
置已编译好的守护程序,
并对被控制的计算机发送
命令。
Internet
Hacker
被控制计算机(代理端)
Master
Server
4 Using Client program,
黑客发送控制命令给主机,
准备启动对目标系统的攻击
Internet
Targeted
System
Hacker
被控制计算机(代理端)
Master
Server
5
主机发送攻击信号给被控
制计算机开始对目标系统
发起攻击。
Internet
Targeted
System
Hacker
被控制计算机(代理端)
Master
Server
6 目标系统被无数的伪
造的请求所淹没,从而无
法对合法用户进行响应,
DDOS攻击成功。
Request Denied
User
Internet
Targeted
System
预防DDOS攻击的措施
周期性审核系统;
优化路由和网络结构;
充分利用网络设备保护网络资源。
路由器
防火墙
IDS
蜜罐
加强网络主节点的安全:
防火墙的配置
备用服务器
在路由器上进行包过滤
限制SYN/ICMP流量
对付正在进行的DDOS攻击
1 检查攻击来源,通常黑客会通过很多假的
IP地址发起攻击,此时,用户若能够分辨出
哪些是真IP地址,哪些是假IP地址,然后了
解这些IP来自哪些网段,再找网段管理员把
机器关掉,即可消除攻击。
2 找出攻击者所经过的路由,把攻击屏蔽掉。
若黑客从某些端口发动攻击,用户可把这些
端口屏蔽掉,以狙击入侵。
3 在路由器上滤掉ICMP。
1.5 DNS欺骗攻击
DNS原理
域名劫持
缓存投毒
DDOS攻击
DNS欺骗
1.5.1 DNS
域名系统(Domain Name System)
功能:将用户所使用的计算机或服务名称映
射为IP地址
域名:http://acm.hfut.edu.cn/bysj/
IP地址:http://210.45.241.139/bysj/
正常的DNS请求流程为:
在浏览器输入http://www.baidu.com;
计算机将会向DNS服务器发出请求;
DNS服务器进行处理分析得到
http://www.baidu.com的相应地址为
119.xxx.209.xxx;
DNS将把次IP地址119.xxx.209.xxx返回到发出
请求的计算机;
你正常登录到http://www.baidu.com的网站。
工作流程
1.5.2 域名劫持
通过某些手段取得域名的解析记录控制权,
进而修改此域名的解析结果,导致对该域名
的访问由原IP地址转入到修改后的指定IP,
其结果就是对特定的网址不能访问或访问的
是假网址,从而实现窃取资料或者破坏原有
正常服务的目的。
百度、谷歌等
劫持之后
在浏览器输入http://www.baidu.com;
计算机将会向DNS服务器发出请求
注意:请求被发送到了攻击者那里
攻击者对请求处理进行伪造DNS回复报告,
返回给计算机的是攻击者指定的IP地址;
你登录到的网站实际上不是
http://www.baidu.com,而是掉进了攻
击者设计好的“陷阱网站”。
防范
绕过DNS直接访问
修改本地host文件
C:\WINDOWS\system32\drivers\etc\host
s
1.5.3 缓存投毒
DNS流程:先查询缓存
黑客通过利用用户域名服务器上的漏洞,如
当用户域名服务器同时可以被当作缓存服务
器使用,黑客可以实现缓存投毒,将错误的
域名纪录存入缓存中,从而使所有使用该缓
存服务器的用户得到错误的DNS解析结果
网络钓鱼
http://www.baidu.com映射到IP地址
119.xxx.209.xxx且DNS服务器的缓存中
存在这个映射,则成功向这个服务器的DNS
缓存投毒的攻击者 就可以将
http://www.baidu.com映射到
129.xxx.119.xxx(钓鱼网站)。在这种
情况下,试图访问
http://www.baidu.com的用户就可能与
错误的Web服务器联络。
防范
尽可能地丢弃已有的记录
目前新的DNS大多可以防范
1.5.4 DDOS攻击
一种攻击针对DNS服务器软件本身,通常利
用BIND软件程序中的漏洞,导致DNS服务
器崩溃或拒绝服务;
另一种攻击的目标不是DNS服务器,而是利
用DNS服务器作为中间的“攻击放大器”,
去攻击其它互联网上的主机,导致被攻击主
机拒绝服务
1.5.5 DNS欺骗
DNS欺骗原理
假设当提交给某个域名服务器的域名解析请求的数据包
被截获,然后按截获者的意图将一个虚假的IP地址作为
应答信息返回给请求者,这时,原始请求者就会把这个
虚假的IP地址作为它所要请求的域名而进行连接,显然
它被欺骗到了别处而根本连接不上自己想要连接的那个
域名
对那个客户想要连接的域名而言,它就算是被黑掉了,
因为客户由于无法得到它的正确的IP地址而无法连接上
它
DNS原理
207.245.113.7
202.103.0.117
202.103.24.68
www.target.com
12.172.194.174
207.171.163.31
DNS欺骗
207.245.113.7
202.103.0.117
202.103.24.68
www.target.com
12.172.194.174
207.171.163.31
209.195.132.165
1.6 ARP攻击
ARP
ARP攻击
1.6.1 ARP原理
Address Resolution Protocol,地址解析
协议
是一种将IP地址转化成物理地址的协议。
ARP原理:缓存表
如果未找到呢?
网关1广播一个ARP请求报文(携带网关1的IP地
址——物理地址),请求IP地址为192.168.1.2的
主机A回答物理地址。
局域网内所有主机包括A都收到ARP请求,但只有
主机A识别自己的IP地址,于是向网关1发回一个
ARP响应报文。其中就包含有A的MAC地址,网关
1接收到A的应答后,就会更新本地的ARP缓存。
接着使用这个MAC地址发送数据
ARP缓存表是动态的。
ARP是广播,其他主机也会根据这个请求更新缓存
表
1.6.2 ARP欺骗攻击
原理:局域网上的一台主机,如果接收到一
个ARP报文,即使该报文不是该主机所发送
的ARP请求的应答报文,该主机也会将ARP
报文中的发送者的MAC地址和IP地址更新或
加入到ARP表中。
常见的攻击分三类
网关仿冒
无法访问外网
欺骗网关
导致A用户无法上网
窃取数据
防范
静态IP地址分配机制
特别是网关
配置防火墙、交换机、路由器等安全设备
1.7 IP欺骗攻击
IP协议
IP欺骗攻击
IP协议
IP数据包中含有源地址和目的地址
而高层在接受服务时通常假设源地址是有效的
IP地址成为认证的基础
不可靠协议,没有做任何事情来确认数据包
是否按顺序或是未被破坏
IP协议存在的安全问题不少
IP欺骗的基础
通过伪造IP地址能够获得更过的收益或者权限
伪造的IP地址可以被接受而不被发现
攻击者通过伪造一个可信任地址的数据包,以使一台机
器认证另一台机器的攻击技术
攻击是利用应用程序之间基于IP地址的认证机制,攻击
者通过IP地址欺骗获得远程系统的非法授权访问。
IP欺骗的过程
信任
SYNy+ACKx+1
A
B
SYNx
ACKy+1
X
过程描述:
1、X->B: SYN(序列号为M),IP=A
2、B->A: SYN(序列号为N),ACK(应答序号=
M+1)
此时A没有同B发起连接,当A收到B的包后,会发送RST
置位的包给B,从而断开连接
此时攻击者事先让A无法对来自B的任何数据包进行应答,
如何实施?
3、X->B: ACK(应答序号=N+1) IP=A
攻击者猜测B发送给A的序列号。若猜测成功则,X将获得
主机B赋予A的权利,如何猜测?
辅助技术1:如何阻止A响应B的包- SYN 淹没
辅助技术2:序列号预测
攻击者事先要进行连接试验:
(1)同目标主机进行连接
(2)目标主机应答
(3)记录应答包所含的序列号,继续步骤1测试分析序
列号产生的模式
IP欺骗攻击的检测
上述攻击过程中,攻击者必须依照一定的顺序来
完成网络入侵,这往往是攻击的一种先兆。可安
装一个网络嗅探器。
(1)最初,会检测到大量的TCP SYN从某个主机发
往A的登录端口。
(2)大量的TCP SYN包将从主机X经过网络发往主
机B,相应的有SYN+ACK包从主机B发往X,然
后主机X用RST作应答
其他措施
配置路由器和网关,使他们拒绝网络外部与本网
内具有相同IP地址的连接请求
当包的源IP地址不在本地子网内时,路由器和网
关不应该把本网主机的包发出去,以阻止内部用
户去破坏他人网络
1.8 Web欺骗攻击
Web欺骗攻击原理
攻击者通过伪造某个WWW站点的影像拷贝,
使该Web的入口进入到攻击者的Web影像服务
器,并经过攻击者机器的过滤作用,从而达到
攻击者监控受攻击者的任何活动以获取有用信
息的目的
Web欺骗方法
改写URL
Web中的脚本
改写URL
①
②
⑤
③
④
① email with html links seems like Microsoft
② http://www.attacker.org/http://www.microsoft.com
③ http://www.microsoft.com
④ html page with links like : http://g.microsoft.com
⑤ html page with links like :
http://www.attacker.org/http://g.microsoft.com
利用Web脚本进行欺骗
原理
攻击者设计一个网页,并诱使受害者浏览该网页
该网页中包含有一个图片和一个脚本
当浏览时,该图片被下载到受害者计算机的临时目
录中,而脚本被运行
脚本的功能是将图片中隐藏的木马提取出来,并设
置为自动执行
Web欺骗的防护
很隐蔽,不容易被发现
预防手段
禁止浏览器中的JavaScript功能
确保浏览器的连接状态是可见的
时刻注意所点击的URL链接会在位置状态行中得到
正确的显示
1.9 恶意代码攻击
什么是恶意代码?
恶意代码是指独立的程序或者嵌入到其它程
序中的代码,它在不被用户察觉的情况下启
动,达到破坏电脑安全性和完整性的目的。
网络恶意代码的分类
1.
计算机病毒:一组能够进行自我传播、需要用户干预来触发
执行的破坏性程序或代码。
如CIH、爱虫、新欢乐时光、求职信、恶鹰、rose…
2.
网络蠕虫:一组能够进行自我传播、不需要用户干预即可触发
执行的破坏性程序或代码。
其通过不断搜索和侵入具有漏洞的主机来自动传播。
利用系统漏洞(病毒不需要漏洞)
如红色代码、SQL蠕虫王、冲击波、震荡波、极速波…
3.
特洛伊木马:是指一类看起来具有正常功能,但实际上隐藏
着很多用户不希望功能的程序。通常由控制端和被控制端两
端组成。
如冰河、网络神偷、灰鸽子……
4. 后门:使得攻击者可以对系统进行非授权访问
的一类程序。
如Bits、WinEggDrop、Tini…
5. RootKit:通过修改现有的操作系统软件,使
攻击者获得访问权并隐藏在计算机中的程序。
如RootKit、Hkdef、ByShell…
6. 拒绝服务程序,黑客工具,广告软件,间谍软
件……
7. 流氓软件……
8. 网页恶意代码
恶意代码传播方式
1. 利用操作系统漏洞或者软件漏洞;
2. 通过浏览器;
3. 利用用户的信任关系;
•网页恶意代码
网页恶意代码的特点
跨平台性,脚本程序是通过脚本解释器来执行的,不同
的操作系统,只要有对应的脚本解释器,那就可以运行
脚本。在通常情况下,很多系统都支持web中的脚本解
释,这也为脚本程序的执行奠定了基础。
隐藏性,脚本程序一般都是在后台运行的,不需要与用
户交互,用户点开网页就可能运行恶意代码,这也正式
网页恶意代码盛行的重要原因。
穿透性,因为IE进程通常是访问服务器的80端口,而一
般防火墙是不会阻止这个端口的通信的,恶意代码通过
嵌套在网页的页面里,可以很轻松的穿透防火墙,直接
在目标机器里运行。
网页恶意代码的攻击形式
网页恶意代码一般是由JavaScript、
VBScript、asp、ActiveX和Flash等脚本
编写,另外网页恶意代码也可以通过系统或
者应用程序的漏洞来对目标进行攻击。
网页恶意代码一般是修改系统的个人主页、
锁定注册表、格式化硬盘、屏蔽鼠标右键、
弹出窗口以及下载木马执行等。
网页恶意代码的防范
第一种是破坏脚本的执行链,禁止浏览器自
动执行脚本程序,禁止系统自动解释脚本程
序并运行。
第二种是使用安全工具监控系统的活动,防
止非法程序修改系统的注册表等信息。
1.10 Cookies欺骗
Cookie是什么?
Cookie就是用户访问网站后,网站在用户的电脑上留下的
标记,以方便用户下次登录是能辨识用户身份或者用户行
为习惯等。
漏洞介绍
利用工具修改客户端的Cookie欺骗服务器端的WEB程序
漏洞成因
WEB程序使用明文Cookie
WEB程序仅仅使用Cookie进行身份验证
Cookie欺骗类型
文件型Cookie欺骗
保存在硬盘上,如IE的临时文件夹
会话型Cookie欺骗
只在用户访问时生效,放在客户端和服务器端的内存中。
1.11 GoogleHacking
什么是GoogleHacking
Google
Hacking是一种利用搜索引擎获取web应用程序弱
点和敏感信息的手段。
Google
Hacking 是一种以合法的方式获取非法或未授权
信息的手段
Google
型
Hacking 是所有利用搜索引擎进行攻击的一个典
基本搜索
+
把google可能忽略的字列如查询范围
- 把某个字忽略
~ 同意词
. 单一的通配符
* 通配符,可代表多个字母
""精确查询
高级搜索
intext
把网页中的正文内容中的某个字符做为搜索条件
intitle 搜索网页标题中某个字符做为搜索条件
cache 搜索google里关于某些内容的缓存
filetype 搜索指定类型的文件(重要参数)
inurl 搜索我们指定的字符是否存在于URL中
site
搜索指定的网站或者域名
GoogleHacking实例
.cn
filetype:inc
1.12社会工程学
Social Engineering,黑客米特尼克在《欺
骗的艺术》中所提出
一种通过对受害者心理弱点、本能反应、好
奇心、信任、贪婪等心理陷阱进行诸如欺骗、
伤害等危害手段取得自身利益的手法
假托(pretexting)
调虎离山(diversion theft)
钓鱼(phishing)
在线聊天/电话钓鱼(IVR/phone phishing,IVR:
interactive voice response)
尾随(Tailgating)
下饵(Baiting)
等价交换(Quid pro quo)