当前位置:文档之家› 网络犯罪侦察技术10

网络犯罪侦察技术10


linying@
5
10.2 弱点挖掘的基本过程
目标网络系统弱点挖掘的基本过程
linying@
6
10.3 常用的弱点挖掘原理与方法
一、软件弱点 这类弱点是网络攻击中利用的最多的。 这类弱点是网络攻击中利用的最多的。网络 上有很多探测此类弱点的扫描器和相应的攻击程 序和软件。 序和软件。 1.操作系统弱点 . 操作系统作为管理计算机资源的系统程序, 操作系统作为管理计算机资源的系统程序, 是整个网络系统安全的基础。 是整个网络系统安全的基础。没有操作系统的安 也就不可能有数据库, 全,也就不可能有数据库,网络和其他软件的安 全。
linying@ 13
获取信息的最简单方法
通过以上信息,我们可以判定 通过以上信息 我们可以判定 1)该网站后台使用 数据库。 )该网站后台使用Access数据库。 数据库 2)存在 )存在/iisHelp/common/500-100.asp这个 文件, 这个 文件, 并且这个程序有错误。 并且这个程序有错误。
网络犯罪侦察技术
林英.信息安全 林英 信息安全
linying@1源自第十章 弱点挖掘与检测技术
Outline 弱点挖掘概述 弱点挖掘的基本过程 常用的弱点挖掘原理与方法 弱点数据库
linying@
2
10.1 弱点挖掘概述
网络系统中弱点的存在是网络攻击成功的必 要条件之一。 要条件之一。网络攻击主要利用了系统提供的 网络服务中的脆弱性。 网络服务中的脆弱性。内部网络攻击人员作案 利用了系统内部服务及其配置上的弱点; 利用了系统内部服务及其配置上的弱点;而拒 绝服务攻击主要是利用资源有限性的特点, 绝服务攻击主要是利用资源有限性的特点,或 者是利用服务处理中的弱点,使该服务崩溃。 者是利用服务处理中的弱点,使该服务崩溃。 目前已知的网络攻击方法就有数百种之多, 目前已知的网络攻击方法就有数百种之多, 比如利用系统的缓冲区漏洞取得系统控制权或 进行拒绝服务攻击和蠕虫病毒攻击, 进行拒绝服务攻击和蠕虫病毒攻击,对网络进 行嗅探监听以获取各种账号和密码, 行嗅探监听以获取各种账号和密码,口令破解 攻击, 地址欺骗等 地址欺骗等。 攻击,IP地址欺骗等。大部分的攻击在正式开 始之前,都要先进行网络系统弱点的探测。 始之前,都要先进行网络系统弱点的探测。
linying@ 3
一般地, 一般地,一次成功的网络攻击行为由以下 几个步骤构成:攻击者身份隐藏, 几个步骤构成:攻击者身份隐藏,目标系统信 息收集,网络系统弱点探测, 息收集,网络系统弱点探测,利用弱点实施攻 成功后开辟后门和日志清除。 击,成功后开辟后门和日志清除。在这个过程 中,目标系统信息收集和网络系统弱点探测往 往是同时进行的,可以借助已有的工具, 往是同时进行的,可以借助已有的工具,但有 时更需要根据已有信息进行分析和弱点挖掘。 时更需要根据已有信息进行分析和弱点挖掘。
linying@
4
保护计算机网络系统免遭安全危害的重点 也就在于:检测网络中存在的隐患, 也就在于:检测网络中存在的隐患,然后设法 消除隐患或限制隐患产生的环境条件。反之, 消除隐患或限制隐患产生的环境条件。反之, 网络攻击成功就是尽快地发现目标系统中的弱 发现得越早,攻击成功的概率就越大。 点,发现得越早,攻击成功的概率就越大。网 络攻击者通常不断地运行弱点检测程序, 络攻击者通常不断地运行弱点检测程序,及时 发现目标系统中可能存在的弱点, 发现目标系统中可能存在的弱点,进而实施相 应的网络攻击。 应的网络攻击。网络安全管理员也想抢先发现 系统中的弱点,以便消除弱点。 系统中的弱点,以便消除弱点。
linying@ 19
一个有安全漏洞的CGI程序实例
#define BAD “/;[]<>&\t” char *query() { char *user_data,*cp; user_data = getenv(“QUERY_STRING”); for (cp = user_data ; *(cp+=strcspn(cp,BAD));) *cp=‘_’; return user_data; } //strcspn统计 中从头开始直到第一个“来自 中的字符” 统计s1中从头开始直到第一个 中的字符” 统计 中从头开始直到第一个“来自s2中的字符 出现的长度 //strspn统计 中从头开始直到第一个“不来自 中的字符”出 统计s1中从头开始直到第一个 中的字符” 统计 中从头开始直到第一个“不来自s2中的字符 现的长度
12
获取信息的最简单方法
如果访问某网站出现如下错误: 如果访问某网站出现如下错误: Microsoft VBScript 编译错误 错 误’800a03f6 缺少’ 缺少’End’ /iisHelp/common/500- 100.asp,行242 行 Microsoft OLE DB Provider for ODBC Drivers 错误’80004005’ 错误’ [Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询 /bbs/article.asp 行14
linying@
14
获取信息的最简单方法
Internet上有些站点信息查询服务器,例如: 上有些站点信息查询服务器,例如: 上有些站点信息查询服务器 输入网址可以显示出网站构建信息
linying@
15
(3)默认的用户名和口令或使用简单的口令 ) 这可能导致攻击者通过使用口令猜解软件 轻易地获得系统的一般访问权, 轻易地获得系统的一般访问权,为其获取系统 最高权限提供基础。 最高权限提供基础。 (4)隐蔽通道,特洛伊木马 )隐蔽通道, 这些可能是厂商或其他攻击者留下的后门。 这些可能是厂商或其他攻击者留下的后门。
(1)www服务弱点 ) 服务弱点 www服务是网络中使用最多的服务之一。许 服务是网络中使用最多的服务之一。 服务是网络中使用最多的服务之一 多电子商务网站,网络银行, 多电子商务网站,网络银行,政府机关和企业网 站都提供该服务。 站都提供该服务。 非安全的CGI程序和使用 程序和使用ASP,PHP等编程 非安全的 程序和使用 , 等编程 语言造成的漏洞。许多攻击者喜欢利用CGI漏洞 语言造成的漏洞。许多攻击者喜欢利用 漏洞 进行攻击,既简单又可以达到攻击目的。 进行攻击,既简单又可以达到攻击目的。攻击者 可以利用CGI程序的漏洞获取系统中的用户名列 可以利用 程序的漏洞获取系统中的用户名列 取得系统信息或访问权, 表,取得系统信息或访问权,还可以进行拒绝范 服务攻击。 服务攻击。www服务用户的弱口令也对整个系统 服务用户的弱口令也对整个系统 的安全构成了威胁。 的安全构成了威胁。
linying@
20
上面这个程序只能检查变量QUERY_STRING 上面这个程序只能检查变量 已知的威胁字符, 已知的威胁字符,但是无法检测未知的威胁字符 因而存在安全隐患。 串,因而存在安全隐患。 下面给出安全的CGI程序代码 程序代码, 下面给出安全的CGI程序代码,在程序中事 先指明无威胁字符,其他字符则一律过滤掉。 先指明无威胁字符,其他字符则一律过滤掉。
9
运行了编译好的exploit程序,出现了#提示符 程序,出现了 提示符 运行了编译好的 程序 表明已经取得root权限。本例中通过系统的一个 权限。 ,表明已经取得 权限 默认账号和口令,取得了系统的一般访问权, 默认账号和口令,取得了系统的一般访问权,然后 通过编译运行一个缓冲区溢出攻击程序获得了系统 最高权限即root权限。 权限。 最高权限即 权限 对此类漏洞, 对此类漏洞,可以经常浏览一些公布缓冲区溢 出漏洞的网站,及时下载补丁。 出漏洞的网站,及时下载补丁。此外还要对系统进 行不断升级, 行不断升级,因为高版本的操作系统在安全性上往 往要优于低版本, 往要优于低版本,版本较高其漏洞和相应的攻击程 序也相对较少。 序也相对较少。
linying@
8
现举一攻击实例: 现举一攻击实例:
Microsoft Windows 2000 [Version 5.00.2195] (C) 版权所有 1985-2000 Microsoft Corp. C:\>telnet 202.xxx.xxx.144 SunOS 5.8 login: sybase Password: sybase No directory! Logging in with home=/ Last login: Wed May 12 08:31:07 from 218.2.xxx.xxx Sun Microsystems Inc. SunOS 5.8 Generic Patch October 2001 $ cd /tmp $ touch exploit.c $ vi exploit.c …… $ gcc exploit.c –o exploit $ ./exploit linying@ #
linying@
21
#define OK “abcdefghjiklmnopqrstuvwxyz\ABCDEFGHI JKLMNOPQRSTUVWXYZ\1234567890_-.@”; char *query() { char *user_data,*cp; user_data=getenv(“QUERY_STRING”); for (cp=user_data;*(cp+=strspn(cp,OK));) *cp=‘_’; return user_data; }
linying@
16
对上述弱点,要加强口令安全, 对上述弱点,要加强口令安全,建立安全 策略, 策略,不要轻易地泄露操作系统的版本信息和 其他重要的系统信息, 其他重要的系统信息,可以用虚假信息来迷惑 攻击者, 攻击者,定期或不定期地检查系统是否存在木 马或异常。 马或异常。
linying@
linying@ 10
(2)轻易泄露操作系统信息 ) 在上例中, 在上例中,攻击者即使没有得到一个合法 账号,通过使用telnet命令,仍可以知道操作 命令, 账号,通过使用 命令 系统的版本为SunOS 5.8,那么他就可以查找 系统的版本为 , 该版本操作系统的漏洞库, 该版本操作系统的漏洞库,并寻找相应的远程 攻击程序。 攻击程序。
相关主题