[推荐]Web服务攻击痕迹检测
热 荐 ★★★★★
Web服务攻击痕迹检测
"/etc/passwd" 文件
这是系统的密码文件,一般是shadow过的,并且不允许看到加密的口令,不过对攻击者来说,可以知道那些是有效的用户,以及系统的绝对路径,站点名称等信息,由于通常被shadow过的,所以对攻击者,通常会查看/etc/shadow 文件
"/etc/master.passwd"
这个文件是BSD系统的密码文件,包含有加密过的密码,这个文件对root帐号仅仅是只读的,而一些不熟练的攻击者会打开他试图读取里面的内容.,如果web站点是以root权限运行的,那么对攻击者来说,就能够读取里面的内容,对系统管理员很多问题也将接踵而来
"/etc/shadow"
包含有加密过的系统口令,对root帐号同样只读,和/et/master.passwd差不多
"/etc/motd"
当用户登陆进unix系统中出现的信息,就在这个"Message of the Day" 文件中 ,它提供重要的系统信息和管理员对用户的一些设置,那些是希望用户看到的,那些不是,还含有系统的版本信息,攻击者通常查看此文件,了解是什么系统在运行,对攻击者来说,下一步是搜索这种类型的系统的exploit,进一步获得系统特权
"/etc/hosts"
该文件提供ip地址和网络信息,攻击者可以了解更多的系统中的网络设置
"/usr/local/apache/conf/httpd.conf"
这是个Apache web服务器的配置文件,攻击者可以了解诸如cgi,ssi是否可访问等信息
"/etc/inetd.conf"
这是inetd服务的配置文件,攻击者可以了解远程机器上的那些服务启动,是否用了wrapper进行访问控制,如果发现wrapper 运行着,攻击者下一步会检查"/etc/hosts.allow" 和 "/etc/hosts.deny",文件,并可能会更改里面的一些设置,获得特权
".htpasswd, .htaccess, and .htgroup"
这些文件通常在web站点用于对用户身份进行认证,攻击者会查看这些文件,并获得用户名和密码,密码文件.htpasswd被加密过,通过一些简单的破解程序进行解密,使攻击者访问站点中被保护的区域(通常用户用和用户名相同的密码,以至攻击者可以以其他帐号进行访问)
"access_log and error_log"
这些是apache服务器的日志记录文件,攻击者常会查看这些文件,看那些请求被记录,那些和其他请求不同的地方
通常,攻击者会修改这些日志文件,比如他自身的地址信息,攻击者通过80端口突破你的系统,而你的系统又没有进行备份的工作,也没有其他记录程序记录系统状况,这将使入侵检测工作变的很困难
"[drive-letter]:winntrepairsam._ or [drive-letter]:winntrepairsam"
Windows NT系统中的密码文件,如果远程命令不可以执行,通常攻击者会请求这些文件,然后通过"l0pht crack"之类的密码破解工具进行破解,如果攻击者试图攻击administrator的密码文件,如果成功那么远程机器将被攻击者得到控制权
溢出 分析
我不会在这篇文章中说过多的关于溢出的话题,我将举列说明那些现象和痕迹值得注意和特别关注的地方,缓冲攻击常被攻击者通过编码转换和其他途径来达到不易发现
下面是个简单的列子
Example: http://host/cgi-bin/helloworld?type=AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AA
这个列子展示了攻击者对某个应用程序发送很多的A字符,来测试程序的缓冲溢出,缓冲溢出可以获得远程主机的命令执行权限,如果是具有setuid和属主为root的程序,通过溢出,可以得到整个系统的访问权限,如果不是setuid之类的程序,那么溢出仅仅是得到运行该web站点的用户权限
这里并不能讲述所有的情况,不过你应该有定时的检查你的日志文件,如果那一天突然发现很多的请求,而平时的请求不多,那么说明你正遭受到溢出的攻击,当然也可能是一种新的网络蠕虫的攻击
编码转换
以上提及的所有攻击请求,攻击者通常知晓IDS系统常会机械的检查这些请求,通常是攻击者会用编码转换工具将所请求的内容转化成16进制的格式,导致IDS会忽略这些请求,我们熟知的CGI漏洞扫描工具Whisker就是个很好的列子。
如果你在查看日志的时候发现大量的16进制和不常见的一些字符,那么可能攻击者尝试用一些方式对你的系统进行攻击。
一种快速发现的方法是,将你的日志文件中的那些16进制的请求,拷贝到你的浏览器中,通过浏览器可以转化成正确的请求,并显示出来请求的内容,如果你不敢冒这个危险,简单的man ASCII,可以提供给你正确的编码。
结论
这篇文章不可能覆盖所有的80端口的攻击,但是以上已经列举了大部分普遍的攻击方式,同时告诉你如何检查你的日志文件,和怎样加如一些IDS的规则,写她的目的在于给web系统管理员应该关注什么提供一个好的思路,同时,我也希望这篇文章可以帮助给web程序的开发者写出更好的web程序。上一页 [1] [2] [3]
文章录入:cainiaowang 责任编辑:cainiaowang