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)