IIS日志分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、通过IIS日志检测入侵攻击
1、认识IIS日志IIS日志默认存放在System32\LogFiles目录下,使用W3C扩展格式。
下面我们通过一条日志记录来认识它的格式2005-01-0316:44:57218.17.90.60GET/Default.aspx-80
-218.17.90.60Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT +5.2;+.NET+CLR+1.1.4322)20000
2005-01-0316:44:57:是表示记录的时间;
218.17.90.60:表示主机的IP地址;
GET:表示获取网页的方法/Default.aspx:表示浏览的网页的名称,如果此外的内容不是你网站网页的名称,那就表示可能有人在用注入式攻击对你的网站进行测试。
如:“/msadc/..蜡..蜡..蜡../winnt/system32/cmd.exe/c+dir”这段格式的文字出现在浏览的网页后面就表示有攻击者尝试能否进入到你的系统目录下。
-80:表示服务器的端口。
-218.17.90.60:表示客户机的IP地址。
如果在某一时间或不同时间都有大量的同一IP对网站的连接那你就要注意了。
Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.2;+.NE T+CLR+1.1.4322):表示用户的浏览器的版本操作系统的版本信息
200:表示浏览成功,如果此处为304表示重定向。
如果此处为404则表示客户端错误未找到网页,如果服务器没有问题但出
现大量的404错误也表示可能有人在用注入式攻击对你的网站
进行测试。
2、检测IIS日志的方法明白了IIS日志的格式,就可以去寻找攻击者的行踪了。
但是人工检查每一条数据几乎是不可能的,所以我们可以利用Windows本身提供了一个命令findstr。
下面以寻找05年1月1日日志中包含CMD字段为例演示一下它的用法。
IIS日志路径已设为D\w3c Cmd提示符下输入:findstr"cmd"d\w3c\ex050101.log回车。
怎么同一个IP出现了很多,那你可要注意了!下面是我写的几个敏感字符,仅供参考,你可以根据自己系统、网页定制自己的敏感字符,当然如果你根据这些字符作一个批处理命令就更方便了。
cmd、'、\\、..、;、and、webconfig、global、
如果你感觉findstr功能不够直观强大,你可以AutoScanIISLogFilesV1.4工具。
它使用图形化界面一次可以检测多个文件。
下载地址:
/Software/View-Software-1585.html
如果你感觉这些IIS日志中的信息记录还不够多,那么你可以做一个隐藏网页,凡是登陆到网站上都会先定向到该网页,然后你可以在该网页中添加代码,获取用户的IP、操作系统、计算机名等信息。
并将其输入到数据库中,这样即使一个攻击者使用动态的IP只要他不换系统,即使删除了IIS日志,你也可以把他找出来。
三、通过查看安全日志检测是否有成功的入侵如果你你启用了登陆事件、策略更改、账户登陆、系统事件的成功失败的审核,那么任何成功的入侵都将在安全日志中留下痕迹
推荐的作法:
1、建议每天最少检查一次安全日志。
推荐重点检查的ID事件529:登录失败,试图使用未知用户名或带有错误密码的已知用户名进行登录。
528:用户成功登录到计算机上。
539:登录失败:登录帐号在登录尝试时被锁定。
此事件表明有人发动密码攻击但未成功,因而导致账户锁定
682:用户重新连接到一个已经断开连接的终端服务器会话上。
终端服务攻击683:用户在没有注销的情况下与终端服务器会话断开连接。
终端服务攻击
624:一个用户帐号被创建。
625:更改了用户账户类型626:启用了用户账户629:禁用了用户账户630:删除了用户账户以上5个事件可能是一个攻击者试图通过禁用或删除发动攻击时
使用的账户来掩盖他们的踪迹。
577:用户试图执行受到权限保护的系统服务操作。
578:在已经处于打开状态的受保护对象句柄上使用权限。
577、578事件中详细信息中特权说明SeTcbPrivilege特权:此事件可以表明一个用户通过充当操作系统的一部分来试图提升安全权限,如一个
用户试图将其账户添加到管理员组就会使用此特权SeSystemTimePrivilege特权:更改系统时间。
此事件可表明有一个用户尝试更改系统时间SeRemoteShutDownPrivilege:从远程系统强制关闭SeloadDriverPrivilege:加载或卸载驱动程序SeSecurityPrivilege:管理审计和安全日志。
在清除事件日志或向安全日志写入有关特权使用的事件是发生SeShutDownPrivilege:关闭系统SeTakeOwnershipPrivilege:取得文件或其他对象的所有权.此事件可表明有一个攻击者正在通过取得一个对象的所有权来尝试绕过当前的安全设置517:日志事件被清除或修改。
此事件可以表明一个攻击者企图通过修改或删除日志文件来掩盖他们的踪迹612:更改了审计策略。
此事件可以表明一个攻击者企图通过修改审计策略来掩盖他们的踪迹如为了掩盖删除日志文件的踪迹他可能先关闭系统事件的审核。
2、通过筛选器来查看重要性事件方法:点击事件查看器窗口中的查看菜单,点击筛选,点击筛选器,定义自己的筛选选项,确定即可。
3、在查看完成之后备份事件方法:点击事件查看器窗口中的操作菜单,点击导出列表,选择保存路径和文件名,如果保存类型选择了“文本文件(制表符分隔)”,将会保存为文本文件。
如果保存类型选择了“文本文件(逗号分隔)”,将会保存为Excel 文件。
当然也可以选择另存日志文件。
如果感觉这样保存麻烦
也可以使用微软的resourceKit工具箱中的dumpel.exe配合计划任务可以实现定期备份系统日志。
4、删除检查过的日志文件,日志文件越少越容易发现问题。
5、配合系统日志程序日志检测可疑内容
6、使用EventCombMT工具EventCombMT是一个功能强大的多线程工具,它可同时分析许多服务器中的事件日志,为包含在搜索条件中的每一台服务器生成一个单独的执行线程。
利用它你可以定义要搜索的单个事件ID或多个事件ID,用空格分格定义一个要搜索的事件ID范围。
如:528>ID<540 将搜索限定为特定的事件日志。
如:只搜索安全日志将搜索限定为特定的事件消息。
如:成功审计将搜索限制为特定的事件源。
搜索事件说明内的特定文本。
定义特定的时间间隔以便从当前日期和时间向后扫描注:要使用该工具您需要安装
WindowsServer2003ResourceKitTools.安装完成后在命令提示符
下输入EventCombMT即可下载地址:
/downloads/details.aspx?FamilyID=
9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en
四、通过端口检测入侵攻击
端口是攻击者最喜欢的进入的大门,所以我们要养成查看端
口的习惯
1、通过netstat命令。
CMD提示符下netstat-ano:检测当前开放的端口,并显示使用该端口程序的PID。
netstat-n:检测当前活动的连接如果通过以上命令发现有不明的端口开放了,不是中了木马就是开放新的服务。
处理方法:打开任务管理器,在查看菜单下选择列,勾选PID,点击确定。
然后根据开放端口使用的PID在任务管理器中查找使用该端口的程序文件名。
在任务管理器杀掉该进程。
如果任务管理器提示杀不掉,可以使用ntsd 命令,格式如下:c:\>ntsd-cq-pPID。
如果使用该PID的进程不是单独的程序文件而是调用的Svchost或lsass(现在有很多木马可以做到这一点)。
那么需要你有很志业的知识才能查找到。
我的经验是下面的几种方法配合使用
在服务中查找使用Svchost或lsass的可疑服务。
在命令提示符下输入tasklist/svc可以查看进程相关联的PID和服务。
利用Windows优化大师中的进程管理去查找Svchost或lsass中可疑的.dll。
检查System32下最新文件:在命令提示符sytem32路径下输入dir/od 利用hijackthis工具可以查出系统启动的程序名和dll文件.下载地址:/soft/3992.htm 发现可疑的dll后如果不知道是否为病毒文件去Google吧
2、使用ActivePort软件ActivePort软件安装后用的是图形化界面,它可以显示所有开放的端口,当前活动的端口,并可以将端口、进程、程序名路径相关联。
并且可以利用它来中断某个活动的连接
五、通过进程监控可疑程序如果发现不正常的进程,及时杀掉,如果在任务管理器中无法杀掉可以去查找可疑的服务,将服务关闭后再杀,当然也可以在提示符下利用ntsd命令。
格式为:ntsd-cq-pPID
六、利用Svcmon.exe(serviceMonitoringTool)监视已安装的服务
这个工具可以用来监视本地或者是远程计算机服务的状态改变,当它发现一个服务开始或者是停止的时候,这个工具将会通过发e-mail或者是ExchangeServer来通知你知道。
要想使用这个工具需要安装ResourceKit。
但是去MS的网站
/downloads/details.aspx?FamilyID=
9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en下载的ResourceKit安装后没有找到这个工具,其实还有很多工具这个ResourceKit没有。
可能这是一个简单的ResourceKit包。
后来又安装了2003 光盘上的SupportTools也没找到它。
我使用了2000的ResourceKit安装光盘,安装后,在2003上一样可以使用。
不过我用了后发现系统会不稳定,所以最好找2003的ResourceKit安装光盘。
这个工具由两部分组成,Svcmon.exe在你安装好ResourceKit后,默认的位于
C:\ProgramFiles\ResourceKit 文件夹下,你要将其拷贝
到%SystemRoot%\System32下,然后在命令提示符下输入
Smconfig将打开配置向导。
是图形界面,注意在ExchangeRecipients那里添如你要提醒的用户的Email。
其他的按照指示做就可以了。
如果发现有不正常的服务可以使用ResourceKit中的Instsrv.exe移除服务使用格式:instsrvservicenameRemove
七、检测System32下的系统文件在安装好系统后和安装新的软件后对System32文件夹做备份,然后用COMP命令定期检查该文件的内容查找可疑的文件夹或文件。
COMP命令的使用格式为:命令提示符下COMPdata1data2/L/C data1指定要比较的第一个文件的位置和名称。
data2指定要比较的第二个文件的位置和名称。
/L显示不同的行数。
/C比较文件时不分ASCII字母的大小写。
注:MS的WinDiff工具可以图形化比较两个文件
八、利用Drivers.exe来监视已安装的驱动程序现在有的攻击者将木马添加到驱动程序中,我们可以通过MS提供的Drivers 工具来进行检测。
在运行此工具的计算机上,此工具会显示安装的所有设备驱动程序。
该工具的输出包括一些信息,其中有驱动程序的文件名、磁盘上驱动程序的大小,以及链接该驱动程序的日期。
链接日期可识别任何新安装的驱动程序。
如果某个更新的驱动程序不是最近安装的,可能表示这是一个被替换的驱动程序。
注:Drivers.exe工具在MS的的网站下载的
WindowsServer2003ResourceKitTools中也没有这个工具我是使用的2000的。
九、检查本地用户和组这个想来不用说太多,大家都知道的了,需要注意的一点是,如果使用命令行的netuser来查看,将无法查看到隐藏的用户(即用户名后加了$的),所以最好使用管理单元来查看所有用户。
十、检查网页文件,特别是有与数据库连接的文件的日期,现在有的攻击者入侵后会在网页代码中留下后门,所以如果日期发了变化,那就要注意查看了。
十一、附Server2003EnterpriseEdition安装IIS和SQL2000后默认启动的服务、进程、端口1、已启动的服务AutomaticUpdate、COM+EventSystem、ComputerBrowser、CryptographicServices、DHCPClient、DistributedfileSystem、DistributedlinkTracking、Distributedtransaction、DNSClient、ErrorReporting、Eventlog、HelpAndSupports、IPSECServices、LogicalDiskManager、NetworkLocation、plugandplay、PrintSpooler、RemoteProcedureCall、RemoteRegistry、SecondaryLogon、SecurityAccounts、Server、SystemEventNetification、TaskScheduler、TCP/IPNetBIOS、TerminalServices、WindowsInstaller、WindowsManagementInstrumentation、WindowsTime、WirelessConfig、Workstation。
以下为安装IIS(只有WEB服务)后新加的启动的服务AddService、Com+systemapplication、HttpSSL、IISAdminService、networkconnections、protectedstorage、shellhardware、wordwideweb。
以下为安装SQL2000后新增加的已启动的服务MicrosoftSearch、NTLMSecurity、MSSQLServer
2、已启动的进程ctfmon:admin、wpabaln:admin、explorer:admin、wmiprvse、dfssvc、msdtc:networkservice、sploolsv、lsass、conime:admin、services、
svchost:7个其中localservice2个、networkservice1个、winlogon、csrss、smss、
system、systemidleprocess。
共计:22个进程,其中admin、networkservice、localservice表示用户名未注明的为System用户以下为安装IIS后新增加的进程wpabaln:admin、inetinfo、以下为安装SQL后新增加的进程mssearch、sqlmangr、wowexecadmin、sqlservr
3、已开启的端口TCP:135、445、1025、1026、139 udp:445、500、1027、4500、123
以下为安装IIS后新增加的端口tcp:80、8759注意8759这个端口是第一次安装后自动选择的一个端口,所以每台机会不同以下为安装SQL后新增加的端口
tcp:1433 udp:68、1434
如果启用防火墙后将开启以下端口TCP:3001、3002、3003 UDP:3004、3005。