1
计算机系统安全
第 10章
常用攻击手段
2
口令“入侵者”
什么是口令, 入侵者,
口令入侵者是指任何可以解开口令或屏蔽
口令保护的程序 。 一个口令入侵者并不一定
能够解开任何口令, 事实上, 多数破解程序
都做不到 。 但是, 可以使用仿真工具, 利用
与原口令程序相同的方法, 通过对比分析,
用不同的加密口令去匹配原口令 。
许多所谓的口令, 入侵者, 都使用, 蛮力, 。
四、口令入侵
3
口令“入侵者”
Windows 9x口令:
口令文件存储在 c:\windows下, 如果用户名为 test,则
口令文件是 test.pwl,该文件存储着加密后的口令 。
Unix系统:
口令存放于 /etc/passwd或 /etc/shadow中
破解密码的工具:
John the Ripper 简单; 字典;穷举模式
Windows系统,Pwdump,L0phtCrack
流光 IV,远程在线破解 字典 +扫描
4
特洛伊木马 (Trojans)
五、特洛伊木马
特洛伊木马是指黑客用来远程控制目标计算机
的特殊程序 。 凡是非法驻留在目标计算机里,
并执行预定的操作, 窃取目标的私有信息, 都
属于特洛伊木马 。
工作方式:多数为 C/S模式, 服务器端安装在目
标机里, 监听等待攻击者发出的指令;客户端
是用来控制目标机器的部分, 放在攻击者机器
上 。 木马, Passwd Sender”(口令邮差 )可以不需
要客户端 。
5
木马的伪装
? 冒充图象文件或游戏程序
? 捆绑程序欺骗
将木马程序与正常文件捆绑为一个程序
? 伪装成应用程序扩展组件
木马名字为 dll或 ocx类型文件,挂在一个有
名的软件中。
后两种方式的欺骗性更大。
6
木马的特点
隐蔽性强:
木马有很强的隐蔽性,在 Windows中,如果某个
程序出现异常,用正常的手段不能退出的时候,
采取的办法是按, Ctrl+ Alt+ Del”键,跳出一
个窗口,找到需要终止的程序,然后关闭它 。
早期的木马会在按, Ctrl+ Alt+ Del”显露出
来,现在大多数木马已经看不到了 。 所以只能
采用内存工具来看内存中是否存在木马 。
功能特殊:
7
五、特洛伊木马
潜伏能力强,表面上的木马被发现并删除以后,后备的
木马在一定的条件下会跳出来 。
Glacier(冰河 )有两个服务器程序, 挂在注册表的启动组
中的是 C:\Windows\System\Kernel32.exe,当电脑启动
时装入内存,这是表面上的木马 ;另一个是,\Windows
\System\Sysexplr.exe,也在注册表中,它修改了文本文件
的关联,当点击文本文件的时候,它就启动了,它会检查
Kernel32.exe是不是存在 。 当 Kernel32.exe被删除以后,
如果点击了文本文件,那么这个文本文件照样运行,而
Sysexplr.exe被启动了 。 Sysexplr.exe会再生成一个
Kernel32.exe。
8
? 木马的分类
? 远程访问型
? 密码发送型
? 键盘记录型
? 毁坏型:删除文件
? FTP型,打开目标机 21端口,上传、下载
? 木马发展趋势
? 与病毒结合,使之具有更强感染特性;
? 跨平台型;
? 模块化设计:组件;
? 即时通知
9
特洛伊木马 启动方式
五、特洛伊木马
自动启动:木马一般会存在三个地方,注册表, win.ini、
system.ini,因为电脑启动的时候, 需要装载这三个文
件 。 在 autoexec.bat,config.sys,启动组中易被发现 。
捆绑方式启动:木马 phAse 1.0版本和 NetBus 1.53版本
就可以以捆绑方式装到目标电脑上,它可以捆绑到启动程
序或一般常用程序上 。
捆绑方式是一种手动的安装方式 。 非捆绑方式的木马因
为会在注册表等位置留下痕迹,所以,很容易被发现,而捆
绑木马可以由黑客自己确定捆绑方式, 捆绑位置, 捆绑
程序等,位置的多变使木马有很强的隐蔽性 。
修改文件关联 。 如用木马取代 notepad.exe来打开 txt文件 。
10
木马服务器存放位置及文件名
五、特洛伊木马
木马的服务器程序文件一般位置是在
c:\windows 和 c:\windows\system 中,因为
windows的一些系统文件在这两个位置 。
木马的文件名总是尽量和 windows的系统文件
接近,比如木马 SubSeven 1.7版本的服务器文
件名是 c:\windows\KERNEL16.DL,而 windows
由一个系统文件是 c:\windows\KERNEL32.DLL,
删除 KERNEL32.DLL 会 让 机 器 瘫 痪 。 木马
SubSeven 1.5 版本服务器文件名是
c:\windows\window.exe,少一个 s
11
几种典型的木马
? BO(Back Orifice后门 ):由旧金山的黑客组
织 Cult of Dead Cow开发。对微软的讽刺。
组成,Boconfig.exe,Boserve.exe,Boclient,
Bogui.exe,freeze.exe压缩,Melt.exe解压。
功能:搜集信息,执行系统命令,重新设置
系统,重定向网络的 C/S的应用程序。
破坏作用:泄露目标机上的口令,磁盘信息,
文件信息,传输文件,修改注册表,删改
文件,捕捉屏幕信息,锁死机器。
12
几种典型的木马
BO的手工清除:
regedit ? HKEY_LOCAL_MACHINE\SoftWare
\Microsoft\Windows\CurrentVersion\Runservices
?删除键值为,,exe”的项目 ?退出 regedit, 删
除 Windows\System下的,,exe”?机器重启。
如果 BO服务器已经由 Boconfig.exe重新配置,则
BO服务器可能已不再是, 空格,exe”,并产生文件
WINDLL.DLL。
13
冰河的客户端界面
五、特洛伊木马
文件管理器,有关文件的操作
命令控制台,向目标计算机发送命令 。
14
冰河的主要功能
五、特洛伊木马
冰河是国产的远程监控软件, 可以运行在 Windows环境
下 。 功能可以与木马 BO2000相媲美 。
1,自动跟踪目标机屏幕变化, 同时可完全模拟键盘及
鼠标输入,即在同步被控端屏幕变化的同时, 监控端的
一切键盘及鼠标操作将反映在被控端屏幕 (局域网适用 );
2,记录各种口令信息:包括开机口令, 屏保口令, 各
种共享资源口令及绝大多数在对话框中出现过的口令信
息, 且 1.2以上的版本中允许用户对该功能自行扩充,
2.0以上版本还同时提供了击键记录功能;
15
五、特洛伊木马
3,获取系统信息:包括计算机名, 注册公司, 当前
用户, 系统路径, 操作系统版本, 当前显示分辨率,
物理及逻辑磁盘信息等多项系统数据;
4,限制系统功能:包括远程关机, 远程重启计算机,
锁定鼠标, 锁定系统热键及锁定注册表等多项功能限
制;
5,远程文件操作:包括创建, 上传, 下载, 复制,
删除文件或目录, 文件压缩, 快速浏览文本文件, 远
程打开文件 ( 提供了四中不同的打开方式 ——正常方
式, 最大化, 最小化和隐藏方式 ) 等多项文件操作功
能;
16
冰河的主要功能
五、特洛伊木马
6,注册表操作:包括对主键的浏览, 增删, 复制,
重命名和对键值的读写等所有注册表操作功能;
7,发送信息:以四种常用图标向被控端发送简短
信息;
8,点对点通讯:以聊天室形式同被控端进行在线
交谈 。
17
冰河的主要组成文件
五、特洛伊木马
冰河 2.2正式版共有 4个文件, 它们是:
G-client.exe 冰河客户端程序
G-server.exe 服务器端程序
Readme.txt 自述文件
Operate.ini 配置文件
18
冰河的主要功能,连接服务器
五、特洛伊木马
首先是连接目标服务器, 从菜单中选择 文件 ?添
加主机 。 填写内容,
a) 显示名称:显示在程序中的名称, 只用于方便
记忆 。
b) 主机地址:填入 IP地址或域名 。
c) 访问口令:配置服务器程序时输入的口令 。
d)监听端口:配置服务器程序是确定的端口号
19
冰河的主要命令
五、特洛伊木马
口令类命令
1) 系统信息及口令
可以获得包括系统信息 ( 计算机名, 用户名等 ),
开机口令, 缓存口令及其它口令在内的资料 。
2) 历史口令
可以获得目标机器从启动开始的历史口令 。
3) 击键记录
记录目标机器上的击键 。
20
五、特洛伊木马
控制类命令
1) 捕获屏幕,得到目标机器当前的屏幕图象 。
屏幕控制 。 冰河除了把目标机器的屏幕图象显示到你
的屏幕上之外, 你还可以把它看作一个真正的屏幕 。
如果屏幕上显示对方开着一个 IE窗口, 你就可以点击
它的关闭按钮, 那么它在目标机器上就真被关闭了 。
2) 发送消息
向目标计算机发送消息 。 目标计算机会弹出一个消息
框, 这个消息框的类型和内容都可以由你来设置
21
五、特洛伊木马
3)控制目标主机的进程,点击 查看进程 按钮,就可以在
按钮上方的列表框中看到目标机器上的所有进程 。 若要
终止某个进程, 先选中它, 再执行 结束进程 命令 。
4)窗口控制,对目标计算机上的程序窗口进行远程控制 。
22
五、特洛伊木马
5) 系统控制:远程关机, 重起计算机, 重新加载
冰河, 卸载冰河 。
6) 鼠标控制
随意锁定目标计算机上的鼠标, 使其动弹不得 。
在你玩够之后, 你也可以再解除锁定 。
7) 其它控制
23
五、特洛伊木马
网络类命令
1) 创建共享
在目标机器上创建新的共享 。 共享名称及共享路径 。
2) 删除共享
在目标机器上删除指定的共享 。
3) 网络信息:包括共享信息和连接信息 。
共享信息用来查看目标计算机上的共享资源 。 连接信
息用来显示目标计算机的网络连接状况:包括与其连
接的计算机名, 用户名, 通讯协议, 当前状态等 。
24
五、特洛伊木马
文件类命令
与文件管理器中的功能类似 。
1) 文本浏览 2) 文件查找
3) 文件压缩 4) 文件复制
5) 文件删除 6) 文件打开
7) 目录增删 8) 目录复制,
注册表读写
25
如何对付木马
五、特洛伊木马
1.使用杀毒软件。
2.提高防范意识,不打开陌生人信中的附件,不
随意下载软件。
3.仔细阅读 readme.txt。 许多人出于研究目的下
载了一些特洛伊木马程序的软件包,往往错误地
执行了服务器端程序
4,在删除木马之前,重要的一项工作是备份,需要
备份注册表,备份你认为是木马的文件 。
26
如何对付木马
1)端口扫描
2)查看连接,netstat –a 命令
上述两种方法对驱动程序 /动态链接木马无效。
3)检查注册表
4)查找木马文件:如 kernel32.exe,sysexplr.exe等
5)文件完整性检查:
开始 ?程序 ?附件 ?系统工具 ?系统信息 ?
工具 ?系统文件检查器。 如有损坏可从安装
盘还原。
27
1、嗅探器 Sniffer
六、网络监听
网络监听工具 ( 也称嗅探器 Sniffer) 是供管理员监视
网络的状态, 数据流动情况以及网络上传输的信息 。
网络监听可以在网上的任何一个位置实施, 如局域网
中的一台主机, 网关上或远程网的调制解调器之间等 。
Sniffer可以是硬件或软件, 用来接收在网络上传输的
信息 ( 硬件 Sniffer通常称为协议分析仪 ) 。 网络可以
是运行在各种协议之下的 ( 可以是其中几种协议的联
合 ) 。 放置 Sniffer的目的是使网络接口 ( 比如以太网
适配器 ) 处于广播状态 ( 或叫混杂模式 promiscuous
mode), 从而可截获网络上的内容 。
28
2、网络监听的原理
六、网络监听
广播:网络上所有的工作站都在倾听所有传输的信息 。
非广播状态:工作站仅仅倾听那些发给它自己的的信
息的状态 。
攻破网关, 路由器, 防火墙的情况极为少见, 安全管
理员安装一些网络监控设备, 运行专门的监听软件,
并防止任何非法访问 。 然而, 一个黑客可能潜入一台
不引人注意的计算机中, 悄悄地运行一个监听程序 。
Sniffer就是这样的硬件或软件, 能够 "听 "到在网上传
输的所有的信息 。
29
2、网络监听的原理
六、网络监听
协议分析仪通常运行在有路由器功能的主机上 。
当连接在同一条电缆或集线器上的主机被逻辑地分为
几个子网时, 如果一台主机处于监听模式下, 它还能
接收到发向与自己不在同一子网 。 sniffer只能捕获同
一个物理网段内的包, 就是说你和监听目标之间没有
路由 ( 交换 ) 或其它屏蔽广播包的设备, 才能接收到
传输的所有信息 。 因此, sniffer对拨号用户没用 。
网络监听常常要保存大量的信息, 并对收集的大量信
息进行整理, 因此, 正在进行监听的机器对用户的请
来响应很慢 。
30
3,Sniffer的危害与预防
六、网络监听
Sniffer 危害:
能截获口令或机密信息;
能攻击相邻的网络 。
Sniffer的预防:
使用加密传输敏感数据 。
使用安全拓扑结构 。
一个网段仅由互相信任的计算机组成 。 每台机器通
过硬连接线接到 Hub。 Hub再接到交换机上 。
31
4、检测 Sniffer的原理
? 反应时间
向可疑发送大量物理地址不存在的包,处于监
听模式的机器回应时间延迟。
? 观测 DNS
监听软件往往会尝试进行反向地址解析,查看
DNS上是否地址解析请求明显增多。
? 利用 Ping模式监测
混杂模式的主机对错误地址的 ICMP包会有回应。
? 利用 arp数据包监测
向局域网内的主机发送非广播式的 arp包来检测。
32
5、检测 Sniffer的方法
六、网络监听
方法一:
对于怀疑运行监听程序的机器, 用正确的 IP地址和
错误的物理地址去 ping,运行监听程序的机器会有
响应 。 正常的机器不接收错误的物理地址, 处于监
听状态的机器能接收 。
方法二:
同上发大量不存在的物理地址的包, 由于监听程序
将处理这些包, 将导致性能下降 。 通过比较发送前,
后机器性能加以判断 。
33
Sniffer工具
? Sniffit 可用于 Unix,Linux,NT
? NetXray 由 Cinco Networks公司开发
高级数据包查错工具 界面友好
? 防止 Sniffer的工具
AntiSniffer可监测同一网段内的机器,如
果返回正值,则表明该机处于混杂模式,
有可能已被安装 Sniffer。
34
1、什么是拒绝服务的攻击
七、拒绝服务攻击
拒绝服务的攻击是指一个用户占据了大量的
共享资源, 使系统没有剩余的资源给其他用
户可用的一种攻击方式 。
拒绝服务的攻击降低了资源的可用性, 这些
资源可以是处理器, 磁盘空间, CPU使用的
时间, 打印机, 调制解调器, 甚至是系统管
理员的时间, 攻击的结果是减少或失去服务 。
35
拒绝服务攻击方式
七、拒绝服务攻击
1)死亡之 ping( pingof death)
由于在早期的阶段, 路由器对包的最大尺寸都
有限制, 许多操作系统对 TCP/IP栈的实现在
ICMP包上都是规定 64KB,并且在对包的标题
头进行读取之后, 要根据该标题头里包含的信
息来为有效载荷生成缓冲区, 当产生畸形的,
声称自己的尺寸超过 ICMP上限的包也就是加
载的尺寸超过 64K上限时, 就会出现内存分配
错误, 导致 TCP/IP堆栈崩溃, 致使接受方宕机 。
36
拒绝服务攻击方式
七、拒绝服务攻击
2) SYNFlooding攻击 对 Windows NT攻击很有效
使用一个伪装的地址向目标计算机发送连接请求叫做 IP
欺骗技术 。 当目标计算机收到这样的请求后, 就会使
用一些资源来为新的连接提供服务, 接着回复请求一
个肯定答复 ( 叫做 SYN- ACK) 。 由于 SYN- ACK是
返回到一个伪装的地址, 没有任何响应 。 于是目标计
算机将继续设法发送 SYN- ACK。 一些系统都有缺省
的回复次数和超时时间, 只有回复一定的次量, 或者
超时时, 占用的资源才会释放 。 例,Windows NT3.5和
4 0中缺省设置为可重复发送 SYN- ACK答复 5次 。 要等
待 3+6+12+24+48+96=189秒之后, 才释放资源 。
37
SYN-Flooding攻击 示意图
38
拒绝服务攻击方式
七、拒绝服务攻击
3)Land攻击
在 Land攻击中, 一个特别打造的 SYN包它的
源地址和目标地址都被设置成某一个服务器
地址, 此举将导致接收服务器向它自己的地
址发送 SYN-ACK消息, 结果这个地址又发回
ACK消息并创建一个空连接, 每一个这样的
连接都将保留直到超时掉, 对 Land攻击反应
不同, 许多 UNIX实现将崩溃, NT变的极其
缓慢 ( 大约持续五分钟 ) 。
39
拒绝服务攻击方式
七、拒绝服务攻击
4)Smurf攻击
smurf攻击通过使用将回复地址设置成受害网
络的广播地址的 ICMP应答请求 ( Ping) 数据
包来淹没受害主机, 最终导致该网络的所有
主机都对此 ICMP应答请求作出答复, 导致网
络阻塞, 比 ping of death洪水的流量高出一或
两个数量级 。 更加复杂的 Smurf将源地址改为
第三方的受害者, 最终导致第三方崩溃 。
40
Smurf攻击示意图
41
拒绝服务攻击方式
七、拒绝服务攻击
5) Fraggle攻击
Fraggle攻击与 Smurf攻击类似, 但它使用的不
是 ICMP,而是 UDP Echo。
可以在防火墙上过滤掉 UDP应答消息来防范 。
42
拒绝服务攻击方式
七、拒绝服务攻击
6) 炸弹攻击
炸弹攻击的基本原理是利用工具软件, 集中
在一段时间内, 向目标机发送大量垃圾信息,
或是发送超出系统接收范围的信息, 使对方
出现负载过重, 网络堵塞等状况, 从而造成
目标的系统崩溃及拒绝服务 。 常见的炸弹攻
击有邮件炸弹, 聊天室炸弹等 。
防御:对邮件地址进行配置, 自动删除来自
同一主机的过量或重复的消息 。
43
2、拒绝服务攻击的类型
七、拒绝服务攻击
1) 破坏或者毁坏资源, 使得无人可以使用这
个资源 。 如:删除文件, 格式化磁盘或切断
电源 。
2) 有意或无意地过载一些系统服务或者消耗
尽资源 。 例如:填满一个磁盘分区, 让用户
和系统程序无法再生成新的文件 。 用户犯的
错误或者程序失控也可导致拒绝服务攻击,
例如, 在递归程序中, 本来递归条件是 x!=0
却写成了 x=0。
44
3、针对网络的拒绝服务攻击
七、拒绝服务攻击
1,服务过载
当大量的服务请求发向一台计算机中的服务守
护进程时, 就会发生服务过载 。
这些潮水般的请求, 使得计算机十分忙碌地处
理这些不断到来的服务请求, 以至于无法处理
常规的任务 。 同时, 许多新到来的请求被丢弃,
因为没有空间来存放这些请求 。 如果攻击的是
一个基于 TCP协议的服务, 那么这些请求的包
还会被重发, 结果更加重了网络的负担 。
45
3、针对网络的拒绝服务攻击
七、拒绝服务攻击
攻击者利用这种攻击来掩盖自己的痕迹, 阻
止对攻击者的记录和登录请求的系统记帐审
计 。
攻击者还可以利用这一段时间内服务器无法
响应网络请求的机会, 编写一个程序, 来回
答那些本来应该由服务器回答的请求 。
46
3、针对网络的拒绝服务攻击
七、拒绝服务攻击
2,"粘住 "攻击
可以使用 TCP的半连接耗尽资源 。 TCP连接通
过三次握手来建立一个连接与设置参数 。 如果
攻击者发出多个连接请求 。 初步建立了连接,
但又没有完成其后的连接步骤, 接收者便会保
留许多这种半连接, 占据着有限的资源 。
通常这些连接请求使用的是伪造的源地址表明
连接来自于一台不存在的主机或者一台无法访
问的主机 。
47
4、分布式拒绝服务攻击 DDOS
七、拒绝服务攻击
48
5、用工具软件实现 DDos攻击
七、拒绝服务攻击
DDOS攻击常用工具,trinoo,TFN,Stacheldraft等。
它们利用 TCP/IP协议漏洞,如允许碎片包、大数据包、
IP路由选择,TCP半连接、数据包 Flood等,使系统性能
降低甚至崩溃。
trinoo由三部分组成:
l,客户端
客户端可以是 telnet之类的常用连接软件,客户端的作
用是向主控端( master) 发送命令。它通过连接 master
的 27665端口,然后向 master发送对目标主机的攻击请
求。
49
七、拒绝服务攻击
2、主控端( master)
主控端侦听两个端口,其中 27665是接收攻击命令,这个
会话是需要密码的。缺省的密码是 "betaalmostdone"。
master启动的时候还会显示一个提示符,'?? ',等待输
入密码。密码为 "gOrave",另一个端口是 31355,等候分
布端的 UDP报文。
3、分布端( broadcast) ----攻击守护过程
分布端则是执行攻击的角色。分布端安装在攻击者已经
控制的机器上分布端编译前植入了主控端的 lP地址,分
布端与主控端用 UDP报文通信,发送到主控端的 31355端
口,其中包含 "* HELLO*"的字节数据。主控端把目标主
机的信息通过 27444UDP端口发送给分布端,分布端即发
起 '潮水 '( flood) 攻击。
50
5、用工具软件实现 DDos攻击
七、拒绝服务攻击
攻击的流向是这样的 '攻击者 --master---分布
端 ---目标主机。
从分布端向受害者目标主机发送的 DDos都是
UDP报文,每一个包含 4个空字符,这些报文
都从一个端口发出,但随机袭击目标主机上
的不同端口。目标主机对每一个报文回复一
个 ICMP Port Unreachable的信息,大量不同
主机发来的这些洪水般的报文源源不断目标
主机将很快慢下来,直至剩余带宽变为 0。
51
6、应付 DDOS攻击的策略
七、拒绝服务攻击
有几种方式可以查到这种攻击:
IDS的检测方法是:分析一系列的 UDP报文,寻找那些
针对不同目标端口,但来自于相同源端口的 UDP报文。
或者取 10个左右的 UDP报文分析那些来自于相同的 IP、
相同的目标 IP,相同的源端口,但不同的目标端口的报
文。这样可以逐一识别攻击的来源。
还有一种方法是寻找那些相同的源地址和相同的目标地
址的 ICMP Port Unreachable的信息。
由于 DDOS攻击的主要目的是消耗主机的带宽,所以很
难抵挡。
52
IP欺骗
定义:利用主机之间的正常信任关系发动的攻击。
信任关系:
在 Unix系统中,rlogin,rsh,rcp等远程调用命令的
信任基础是 IP地址,若地址验证通过,则无须
口令验证就能远程登录。
修改 $HOME/.rhosts文件内容,可建立两台机器之
间的信任关系。当 /etc/hosts.equiv中出现一个
,+” 或 $HOME/.rhosts中出现, ++” 时,表明
任意地址的主机无须口令可直接用 r命令登录此
主机。
53
IP欺骗过程
1)发现攻击目标 A和 B具有伙伴信任关系。
假设黑客想冒充 B去和 A对话。
2)要使目标 B瘫痪(如用拒绝服务攻击),避
免露馅
3) 采样 A发出的 TCP序列号,反复尝试猜测它
的初始序列号 ISN。 ISN为 32位计数器,无连
接时 9.32小时复位一次。预测 ISN考虑因素:
ISN每秒增加 128000;每次连接增加 64000; A
和 B之间的往返时间;
54
IP欺骗过程
4)将源地址伪装成 B机地址,发送带有 SYN标
志的数据段请求连接。
5)然后等待 A发送 SYN+ACK给瘫痪的 B,因为
这时黑客看不到这个包。
6)再次伪装成 B向 A发送 ACK,此时发送的数
据段带有预测目标机 A的 ISN+1。
7) 连接建立,发送命令。
55
IP欺骗示意图
IP欺骗的步骤 会话劫持示意图
56
IP欺骗的防止
? 抛弃基于地址的信任策略
删除,rhosts文件;清空 /etc/hosts.equip文件;
用 telnet,ssh取代 r类远程调用命令。
? 进行包过滤
只信任内部主机;利用路由器屏蔽掉所有外
部希望向内部发出的连接请求。
? 使用加密传输和验证的方法
? 使用随机化的初始序列号
使得 TCP序列号难以猜测。
计算机系统安全
第 10章
常用攻击手段
2
口令“入侵者”
什么是口令, 入侵者,
口令入侵者是指任何可以解开口令或屏蔽
口令保护的程序 。 一个口令入侵者并不一定
能够解开任何口令, 事实上, 多数破解程序
都做不到 。 但是, 可以使用仿真工具, 利用
与原口令程序相同的方法, 通过对比分析,
用不同的加密口令去匹配原口令 。
许多所谓的口令, 入侵者, 都使用, 蛮力, 。
四、口令入侵
3
口令“入侵者”
Windows 9x口令:
口令文件存储在 c:\windows下, 如果用户名为 test,则
口令文件是 test.pwl,该文件存储着加密后的口令 。
Unix系统:
口令存放于 /etc/passwd或 /etc/shadow中
破解密码的工具:
John the Ripper 简单; 字典;穷举模式
Windows系统,Pwdump,L0phtCrack
流光 IV,远程在线破解 字典 +扫描
4
特洛伊木马 (Trojans)
五、特洛伊木马
特洛伊木马是指黑客用来远程控制目标计算机
的特殊程序 。 凡是非法驻留在目标计算机里,
并执行预定的操作, 窃取目标的私有信息, 都
属于特洛伊木马 。
工作方式:多数为 C/S模式, 服务器端安装在目
标机里, 监听等待攻击者发出的指令;客户端
是用来控制目标机器的部分, 放在攻击者机器
上 。 木马, Passwd Sender”(口令邮差 )可以不需
要客户端 。
5
木马的伪装
? 冒充图象文件或游戏程序
? 捆绑程序欺骗
将木马程序与正常文件捆绑为一个程序
? 伪装成应用程序扩展组件
木马名字为 dll或 ocx类型文件,挂在一个有
名的软件中。
后两种方式的欺骗性更大。
6
木马的特点
隐蔽性强:
木马有很强的隐蔽性,在 Windows中,如果某个
程序出现异常,用正常的手段不能退出的时候,
采取的办法是按, Ctrl+ Alt+ Del”键,跳出一
个窗口,找到需要终止的程序,然后关闭它 。
早期的木马会在按, Ctrl+ Alt+ Del”显露出
来,现在大多数木马已经看不到了 。 所以只能
采用内存工具来看内存中是否存在木马 。
功能特殊:
7
五、特洛伊木马
潜伏能力强,表面上的木马被发现并删除以后,后备的
木马在一定的条件下会跳出来 。
Glacier(冰河 )有两个服务器程序, 挂在注册表的启动组
中的是 C:\Windows\System\Kernel32.exe,当电脑启动
时装入内存,这是表面上的木马 ;另一个是,\Windows
\System\Sysexplr.exe,也在注册表中,它修改了文本文件
的关联,当点击文本文件的时候,它就启动了,它会检查
Kernel32.exe是不是存在 。 当 Kernel32.exe被删除以后,
如果点击了文本文件,那么这个文本文件照样运行,而
Sysexplr.exe被启动了 。 Sysexplr.exe会再生成一个
Kernel32.exe。
8
? 木马的分类
? 远程访问型
? 密码发送型
? 键盘记录型
? 毁坏型:删除文件
? FTP型,打开目标机 21端口,上传、下载
? 木马发展趋势
? 与病毒结合,使之具有更强感染特性;
? 跨平台型;
? 模块化设计:组件;
? 即时通知
9
特洛伊木马 启动方式
五、特洛伊木马
自动启动:木马一般会存在三个地方,注册表, win.ini、
system.ini,因为电脑启动的时候, 需要装载这三个文
件 。 在 autoexec.bat,config.sys,启动组中易被发现 。
捆绑方式启动:木马 phAse 1.0版本和 NetBus 1.53版本
就可以以捆绑方式装到目标电脑上,它可以捆绑到启动程
序或一般常用程序上 。
捆绑方式是一种手动的安装方式 。 非捆绑方式的木马因
为会在注册表等位置留下痕迹,所以,很容易被发现,而捆
绑木马可以由黑客自己确定捆绑方式, 捆绑位置, 捆绑
程序等,位置的多变使木马有很强的隐蔽性 。
修改文件关联 。 如用木马取代 notepad.exe来打开 txt文件 。
10
木马服务器存放位置及文件名
五、特洛伊木马
木马的服务器程序文件一般位置是在
c:\windows 和 c:\windows\system 中,因为
windows的一些系统文件在这两个位置 。
木马的文件名总是尽量和 windows的系统文件
接近,比如木马 SubSeven 1.7版本的服务器文
件名是 c:\windows\KERNEL16.DL,而 windows
由一个系统文件是 c:\windows\KERNEL32.DLL,
删除 KERNEL32.DLL 会 让 机 器 瘫 痪 。 木马
SubSeven 1.5 版本服务器文件名是
c:\windows\window.exe,少一个 s
11
几种典型的木马
? BO(Back Orifice后门 ):由旧金山的黑客组
织 Cult of Dead Cow开发。对微软的讽刺。
组成,Boconfig.exe,Boserve.exe,Boclient,
Bogui.exe,freeze.exe压缩,Melt.exe解压。
功能:搜集信息,执行系统命令,重新设置
系统,重定向网络的 C/S的应用程序。
破坏作用:泄露目标机上的口令,磁盘信息,
文件信息,传输文件,修改注册表,删改
文件,捕捉屏幕信息,锁死机器。
12
几种典型的木马
BO的手工清除:
regedit ? HKEY_LOCAL_MACHINE\SoftWare
\Microsoft\Windows\CurrentVersion\Runservices
?删除键值为,,exe”的项目 ?退出 regedit, 删
除 Windows\System下的,,exe”?机器重启。
如果 BO服务器已经由 Boconfig.exe重新配置,则
BO服务器可能已不再是, 空格,exe”,并产生文件
WINDLL.DLL。
13
冰河的客户端界面
五、特洛伊木马
文件管理器,有关文件的操作
命令控制台,向目标计算机发送命令 。
14
冰河的主要功能
五、特洛伊木马
冰河是国产的远程监控软件, 可以运行在 Windows环境
下 。 功能可以与木马 BO2000相媲美 。
1,自动跟踪目标机屏幕变化, 同时可完全模拟键盘及
鼠标输入,即在同步被控端屏幕变化的同时, 监控端的
一切键盘及鼠标操作将反映在被控端屏幕 (局域网适用 );
2,记录各种口令信息:包括开机口令, 屏保口令, 各
种共享资源口令及绝大多数在对话框中出现过的口令信
息, 且 1.2以上的版本中允许用户对该功能自行扩充,
2.0以上版本还同时提供了击键记录功能;
15
五、特洛伊木马
3,获取系统信息:包括计算机名, 注册公司, 当前
用户, 系统路径, 操作系统版本, 当前显示分辨率,
物理及逻辑磁盘信息等多项系统数据;
4,限制系统功能:包括远程关机, 远程重启计算机,
锁定鼠标, 锁定系统热键及锁定注册表等多项功能限
制;
5,远程文件操作:包括创建, 上传, 下载, 复制,
删除文件或目录, 文件压缩, 快速浏览文本文件, 远
程打开文件 ( 提供了四中不同的打开方式 ——正常方
式, 最大化, 最小化和隐藏方式 ) 等多项文件操作功
能;
16
冰河的主要功能
五、特洛伊木马
6,注册表操作:包括对主键的浏览, 增删, 复制,
重命名和对键值的读写等所有注册表操作功能;
7,发送信息:以四种常用图标向被控端发送简短
信息;
8,点对点通讯:以聊天室形式同被控端进行在线
交谈 。
17
冰河的主要组成文件
五、特洛伊木马
冰河 2.2正式版共有 4个文件, 它们是:
G-client.exe 冰河客户端程序
G-server.exe 服务器端程序
Readme.txt 自述文件
Operate.ini 配置文件
18
冰河的主要功能,连接服务器
五、特洛伊木马
首先是连接目标服务器, 从菜单中选择 文件 ?添
加主机 。 填写内容,
a) 显示名称:显示在程序中的名称, 只用于方便
记忆 。
b) 主机地址:填入 IP地址或域名 。
c) 访问口令:配置服务器程序时输入的口令 。
d)监听端口:配置服务器程序是确定的端口号
19
冰河的主要命令
五、特洛伊木马
口令类命令
1) 系统信息及口令
可以获得包括系统信息 ( 计算机名, 用户名等 ),
开机口令, 缓存口令及其它口令在内的资料 。
2) 历史口令
可以获得目标机器从启动开始的历史口令 。
3) 击键记录
记录目标机器上的击键 。
20
五、特洛伊木马
控制类命令
1) 捕获屏幕,得到目标机器当前的屏幕图象 。
屏幕控制 。 冰河除了把目标机器的屏幕图象显示到你
的屏幕上之外, 你还可以把它看作一个真正的屏幕 。
如果屏幕上显示对方开着一个 IE窗口, 你就可以点击
它的关闭按钮, 那么它在目标机器上就真被关闭了 。
2) 发送消息
向目标计算机发送消息 。 目标计算机会弹出一个消息
框, 这个消息框的类型和内容都可以由你来设置
21
五、特洛伊木马
3)控制目标主机的进程,点击 查看进程 按钮,就可以在
按钮上方的列表框中看到目标机器上的所有进程 。 若要
终止某个进程, 先选中它, 再执行 结束进程 命令 。
4)窗口控制,对目标计算机上的程序窗口进行远程控制 。
22
五、特洛伊木马
5) 系统控制:远程关机, 重起计算机, 重新加载
冰河, 卸载冰河 。
6) 鼠标控制
随意锁定目标计算机上的鼠标, 使其动弹不得 。
在你玩够之后, 你也可以再解除锁定 。
7) 其它控制
23
五、特洛伊木马
网络类命令
1) 创建共享
在目标机器上创建新的共享 。 共享名称及共享路径 。
2) 删除共享
在目标机器上删除指定的共享 。
3) 网络信息:包括共享信息和连接信息 。
共享信息用来查看目标计算机上的共享资源 。 连接信
息用来显示目标计算机的网络连接状况:包括与其连
接的计算机名, 用户名, 通讯协议, 当前状态等 。
24
五、特洛伊木马
文件类命令
与文件管理器中的功能类似 。
1) 文本浏览 2) 文件查找
3) 文件压缩 4) 文件复制
5) 文件删除 6) 文件打开
7) 目录增删 8) 目录复制,
注册表读写
25
如何对付木马
五、特洛伊木马
1.使用杀毒软件。
2.提高防范意识,不打开陌生人信中的附件,不
随意下载软件。
3.仔细阅读 readme.txt。 许多人出于研究目的下
载了一些特洛伊木马程序的软件包,往往错误地
执行了服务器端程序
4,在删除木马之前,重要的一项工作是备份,需要
备份注册表,备份你认为是木马的文件 。
26
如何对付木马
1)端口扫描
2)查看连接,netstat –a 命令
上述两种方法对驱动程序 /动态链接木马无效。
3)检查注册表
4)查找木马文件:如 kernel32.exe,sysexplr.exe等
5)文件完整性检查:
开始 ?程序 ?附件 ?系统工具 ?系统信息 ?
工具 ?系统文件检查器。 如有损坏可从安装
盘还原。
27
1、嗅探器 Sniffer
六、网络监听
网络监听工具 ( 也称嗅探器 Sniffer) 是供管理员监视
网络的状态, 数据流动情况以及网络上传输的信息 。
网络监听可以在网上的任何一个位置实施, 如局域网
中的一台主机, 网关上或远程网的调制解调器之间等 。
Sniffer可以是硬件或软件, 用来接收在网络上传输的
信息 ( 硬件 Sniffer通常称为协议分析仪 ) 。 网络可以
是运行在各种协议之下的 ( 可以是其中几种协议的联
合 ) 。 放置 Sniffer的目的是使网络接口 ( 比如以太网
适配器 ) 处于广播状态 ( 或叫混杂模式 promiscuous
mode), 从而可截获网络上的内容 。
28
2、网络监听的原理
六、网络监听
广播:网络上所有的工作站都在倾听所有传输的信息 。
非广播状态:工作站仅仅倾听那些发给它自己的的信
息的状态 。
攻破网关, 路由器, 防火墙的情况极为少见, 安全管
理员安装一些网络监控设备, 运行专门的监听软件,
并防止任何非法访问 。 然而, 一个黑客可能潜入一台
不引人注意的计算机中, 悄悄地运行一个监听程序 。
Sniffer就是这样的硬件或软件, 能够 "听 "到在网上传
输的所有的信息 。
29
2、网络监听的原理
六、网络监听
协议分析仪通常运行在有路由器功能的主机上 。
当连接在同一条电缆或集线器上的主机被逻辑地分为
几个子网时, 如果一台主机处于监听模式下, 它还能
接收到发向与自己不在同一子网 。 sniffer只能捕获同
一个物理网段内的包, 就是说你和监听目标之间没有
路由 ( 交换 ) 或其它屏蔽广播包的设备, 才能接收到
传输的所有信息 。 因此, sniffer对拨号用户没用 。
网络监听常常要保存大量的信息, 并对收集的大量信
息进行整理, 因此, 正在进行监听的机器对用户的请
来响应很慢 。
30
3,Sniffer的危害与预防
六、网络监听
Sniffer 危害:
能截获口令或机密信息;
能攻击相邻的网络 。
Sniffer的预防:
使用加密传输敏感数据 。
使用安全拓扑结构 。
一个网段仅由互相信任的计算机组成 。 每台机器通
过硬连接线接到 Hub。 Hub再接到交换机上 。
31
4、检测 Sniffer的原理
? 反应时间
向可疑发送大量物理地址不存在的包,处于监
听模式的机器回应时间延迟。
? 观测 DNS
监听软件往往会尝试进行反向地址解析,查看
DNS上是否地址解析请求明显增多。
? 利用 Ping模式监测
混杂模式的主机对错误地址的 ICMP包会有回应。
? 利用 arp数据包监测
向局域网内的主机发送非广播式的 arp包来检测。
32
5、检测 Sniffer的方法
六、网络监听
方法一:
对于怀疑运行监听程序的机器, 用正确的 IP地址和
错误的物理地址去 ping,运行监听程序的机器会有
响应 。 正常的机器不接收错误的物理地址, 处于监
听状态的机器能接收 。
方法二:
同上发大量不存在的物理地址的包, 由于监听程序
将处理这些包, 将导致性能下降 。 通过比较发送前,
后机器性能加以判断 。
33
Sniffer工具
? Sniffit 可用于 Unix,Linux,NT
? NetXray 由 Cinco Networks公司开发
高级数据包查错工具 界面友好
? 防止 Sniffer的工具
AntiSniffer可监测同一网段内的机器,如
果返回正值,则表明该机处于混杂模式,
有可能已被安装 Sniffer。
34
1、什么是拒绝服务的攻击
七、拒绝服务攻击
拒绝服务的攻击是指一个用户占据了大量的
共享资源, 使系统没有剩余的资源给其他用
户可用的一种攻击方式 。
拒绝服务的攻击降低了资源的可用性, 这些
资源可以是处理器, 磁盘空间, CPU使用的
时间, 打印机, 调制解调器, 甚至是系统管
理员的时间, 攻击的结果是减少或失去服务 。
35
拒绝服务攻击方式
七、拒绝服务攻击
1)死亡之 ping( pingof death)
由于在早期的阶段, 路由器对包的最大尺寸都
有限制, 许多操作系统对 TCP/IP栈的实现在
ICMP包上都是规定 64KB,并且在对包的标题
头进行读取之后, 要根据该标题头里包含的信
息来为有效载荷生成缓冲区, 当产生畸形的,
声称自己的尺寸超过 ICMP上限的包也就是加
载的尺寸超过 64K上限时, 就会出现内存分配
错误, 导致 TCP/IP堆栈崩溃, 致使接受方宕机 。
36
拒绝服务攻击方式
七、拒绝服务攻击
2) SYNFlooding攻击 对 Windows NT攻击很有效
使用一个伪装的地址向目标计算机发送连接请求叫做 IP
欺骗技术 。 当目标计算机收到这样的请求后, 就会使
用一些资源来为新的连接提供服务, 接着回复请求一
个肯定答复 ( 叫做 SYN- ACK) 。 由于 SYN- ACK是
返回到一个伪装的地址, 没有任何响应 。 于是目标计
算机将继续设法发送 SYN- ACK。 一些系统都有缺省
的回复次数和超时时间, 只有回复一定的次量, 或者
超时时, 占用的资源才会释放 。 例,Windows NT3.5和
4 0中缺省设置为可重复发送 SYN- ACK答复 5次 。 要等
待 3+6+12+24+48+96=189秒之后, 才释放资源 。
37
SYN-Flooding攻击 示意图
38
拒绝服务攻击方式
七、拒绝服务攻击
3)Land攻击
在 Land攻击中, 一个特别打造的 SYN包它的
源地址和目标地址都被设置成某一个服务器
地址, 此举将导致接收服务器向它自己的地
址发送 SYN-ACK消息, 结果这个地址又发回
ACK消息并创建一个空连接, 每一个这样的
连接都将保留直到超时掉, 对 Land攻击反应
不同, 许多 UNIX实现将崩溃, NT变的极其
缓慢 ( 大约持续五分钟 ) 。
39
拒绝服务攻击方式
七、拒绝服务攻击
4)Smurf攻击
smurf攻击通过使用将回复地址设置成受害网
络的广播地址的 ICMP应答请求 ( Ping) 数据
包来淹没受害主机, 最终导致该网络的所有
主机都对此 ICMP应答请求作出答复, 导致网
络阻塞, 比 ping of death洪水的流量高出一或
两个数量级 。 更加复杂的 Smurf将源地址改为
第三方的受害者, 最终导致第三方崩溃 。
40
Smurf攻击示意图
41
拒绝服务攻击方式
七、拒绝服务攻击
5) Fraggle攻击
Fraggle攻击与 Smurf攻击类似, 但它使用的不
是 ICMP,而是 UDP Echo。
可以在防火墙上过滤掉 UDP应答消息来防范 。
42
拒绝服务攻击方式
七、拒绝服务攻击
6) 炸弹攻击
炸弹攻击的基本原理是利用工具软件, 集中
在一段时间内, 向目标机发送大量垃圾信息,
或是发送超出系统接收范围的信息, 使对方
出现负载过重, 网络堵塞等状况, 从而造成
目标的系统崩溃及拒绝服务 。 常见的炸弹攻
击有邮件炸弹, 聊天室炸弹等 。
防御:对邮件地址进行配置, 自动删除来自
同一主机的过量或重复的消息 。
43
2、拒绝服务攻击的类型
七、拒绝服务攻击
1) 破坏或者毁坏资源, 使得无人可以使用这
个资源 。 如:删除文件, 格式化磁盘或切断
电源 。
2) 有意或无意地过载一些系统服务或者消耗
尽资源 。 例如:填满一个磁盘分区, 让用户
和系统程序无法再生成新的文件 。 用户犯的
错误或者程序失控也可导致拒绝服务攻击,
例如, 在递归程序中, 本来递归条件是 x!=0
却写成了 x=0。
44
3、针对网络的拒绝服务攻击
七、拒绝服务攻击
1,服务过载
当大量的服务请求发向一台计算机中的服务守
护进程时, 就会发生服务过载 。
这些潮水般的请求, 使得计算机十分忙碌地处
理这些不断到来的服务请求, 以至于无法处理
常规的任务 。 同时, 许多新到来的请求被丢弃,
因为没有空间来存放这些请求 。 如果攻击的是
一个基于 TCP协议的服务, 那么这些请求的包
还会被重发, 结果更加重了网络的负担 。
45
3、针对网络的拒绝服务攻击
七、拒绝服务攻击
攻击者利用这种攻击来掩盖自己的痕迹, 阻
止对攻击者的记录和登录请求的系统记帐审
计 。
攻击者还可以利用这一段时间内服务器无法
响应网络请求的机会, 编写一个程序, 来回
答那些本来应该由服务器回答的请求 。
46
3、针对网络的拒绝服务攻击
七、拒绝服务攻击
2,"粘住 "攻击
可以使用 TCP的半连接耗尽资源 。 TCP连接通
过三次握手来建立一个连接与设置参数 。 如果
攻击者发出多个连接请求 。 初步建立了连接,
但又没有完成其后的连接步骤, 接收者便会保
留许多这种半连接, 占据着有限的资源 。
通常这些连接请求使用的是伪造的源地址表明
连接来自于一台不存在的主机或者一台无法访
问的主机 。
47
4、分布式拒绝服务攻击 DDOS
七、拒绝服务攻击
48
5、用工具软件实现 DDos攻击
七、拒绝服务攻击
DDOS攻击常用工具,trinoo,TFN,Stacheldraft等。
它们利用 TCP/IP协议漏洞,如允许碎片包、大数据包、
IP路由选择,TCP半连接、数据包 Flood等,使系统性能
降低甚至崩溃。
trinoo由三部分组成:
l,客户端
客户端可以是 telnet之类的常用连接软件,客户端的作
用是向主控端( master) 发送命令。它通过连接 master
的 27665端口,然后向 master发送对目标主机的攻击请
求。
49
七、拒绝服务攻击
2、主控端( master)
主控端侦听两个端口,其中 27665是接收攻击命令,这个
会话是需要密码的。缺省的密码是 "betaalmostdone"。
master启动的时候还会显示一个提示符,'?? ',等待输
入密码。密码为 "gOrave",另一个端口是 31355,等候分
布端的 UDP报文。
3、分布端( broadcast) ----攻击守护过程
分布端则是执行攻击的角色。分布端安装在攻击者已经
控制的机器上分布端编译前植入了主控端的 lP地址,分
布端与主控端用 UDP报文通信,发送到主控端的 31355端
口,其中包含 "* HELLO*"的字节数据。主控端把目标主
机的信息通过 27444UDP端口发送给分布端,分布端即发
起 '潮水 '( flood) 攻击。
50
5、用工具软件实现 DDos攻击
七、拒绝服务攻击
攻击的流向是这样的 '攻击者 --master---分布
端 ---目标主机。
从分布端向受害者目标主机发送的 DDos都是
UDP报文,每一个包含 4个空字符,这些报文
都从一个端口发出,但随机袭击目标主机上
的不同端口。目标主机对每一个报文回复一
个 ICMP Port Unreachable的信息,大量不同
主机发来的这些洪水般的报文源源不断目标
主机将很快慢下来,直至剩余带宽变为 0。
51
6、应付 DDOS攻击的策略
七、拒绝服务攻击
有几种方式可以查到这种攻击:
IDS的检测方法是:分析一系列的 UDP报文,寻找那些
针对不同目标端口,但来自于相同源端口的 UDP报文。
或者取 10个左右的 UDP报文分析那些来自于相同的 IP、
相同的目标 IP,相同的源端口,但不同的目标端口的报
文。这样可以逐一识别攻击的来源。
还有一种方法是寻找那些相同的源地址和相同的目标地
址的 ICMP Port Unreachable的信息。
由于 DDOS攻击的主要目的是消耗主机的带宽,所以很
难抵挡。
52
IP欺骗
定义:利用主机之间的正常信任关系发动的攻击。
信任关系:
在 Unix系统中,rlogin,rsh,rcp等远程调用命令的
信任基础是 IP地址,若地址验证通过,则无须
口令验证就能远程登录。
修改 $HOME/.rhosts文件内容,可建立两台机器之
间的信任关系。当 /etc/hosts.equiv中出现一个
,+” 或 $HOME/.rhosts中出现, ++” 时,表明
任意地址的主机无须口令可直接用 r命令登录此
主机。
53
IP欺骗过程
1)发现攻击目标 A和 B具有伙伴信任关系。
假设黑客想冒充 B去和 A对话。
2)要使目标 B瘫痪(如用拒绝服务攻击),避
免露馅
3) 采样 A发出的 TCP序列号,反复尝试猜测它
的初始序列号 ISN。 ISN为 32位计数器,无连
接时 9.32小时复位一次。预测 ISN考虑因素:
ISN每秒增加 128000;每次连接增加 64000; A
和 B之间的往返时间;
54
IP欺骗过程
4)将源地址伪装成 B机地址,发送带有 SYN标
志的数据段请求连接。
5)然后等待 A发送 SYN+ACK给瘫痪的 B,因为
这时黑客看不到这个包。
6)再次伪装成 B向 A发送 ACK,此时发送的数
据段带有预测目标机 A的 ISN+1。
7) 连接建立,发送命令。
55
IP欺骗示意图
IP欺骗的步骤 会话劫持示意图
56
IP欺骗的防止
? 抛弃基于地址的信任策略
删除,rhosts文件;清空 /etc/hosts.equip文件;
用 telnet,ssh取代 r类远程调用命令。
? 进行包过滤
只信任内部主机;利用路由器屏蔽掉所有外
部希望向内部发出的连接请求。
? 使用加密传输和验证的方法
? 使用随机化的初始序列号
使得 TCP序列号难以猜测。