已近年终,城里的白领、乡下的阿姨都开始开始忙年货,在网上有那么一群人也开始忙活起来,为他们的年终奖金而“奋斗”,那就是职业“黑客”,他们窃取数据为自己谋一个温饱或者寻找更大的幸福,乃至奔驰、宝马。在这样的环境下,我管理的服务器收到大量的日志。注入拦截日志,批量扫描拦截日志,敏感文件拦截日志等等呈几何式增长,IIS的日志不断刷新着记录,100m,200m,1G,2G......有些网站仅日志一项都拿去了他们自身数据10倍乃至100倍的容量,当然这个日志主要与网络流量有关。
      作为一个服务器维护者,我的工作就是检查日志。今天我想和大家分享的不是上面的任何一个日志,而是系统的管理日志。在windows 2003系统中,在“开始”菜单“运行”中输入“eventvwr”就可以打开事件查看器,不过一般我们是打开计算机管理,他包含了这个时间查看器,方便管理,在运行中输入“compmgmt.msc”或者右击我的电脑选择“管理”就可以打开计算机管理。事件查看器 一般可以查看四类日志,他们分别是“应用程序”,“internet explorer”,“安全性”和“系统”。如图
追踪黑客留下的踪迹_服务器

对于“登陆/注销”来说我们重点关注 “应用程序”和“系统”这2类,“登陆/注销”这种行为一般发生在系统用户和数据库用户,下面以一个例子来具体说明。
比如,我以administrator身份登陆3389端口的远程终端,那么日志记录一般为4条,同时发生。
这个审核是默认开启的,如果想修改可以在运行中输入gpedit.msc打开组策略,在计算机配置-windows设置-安全设置-本地策略-审核策略,即可看到对系统登陆时间的审核。

追踪黑客留下的踪迹_的_02

此类日志保存在“安全性”这一类中
 

追踪黑客留下的踪迹_服务器_03 程序代码
事件类型:    审核成功
事件来源:    Security
事件种类:    帐户登录
事件 ID:    680
日期:        2010-2-4
事件:        20:52:37
用户:        TAGggg-DDD3333\administrator
计算机:    TAGggg-DDD3333
描述:
尝试登录的用户:     MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
登录帐户:      administrator
源工作站:     TAGggg-DDD3333
错误代码:     0x0



这个日志是记录尝试登陆的用户,比如你在登陆窗口测试用户名和密码的话,这里都会记载下载,如果你发现有不是系统用户的记录,那么肯定是有人在猜你的用户名了
 

追踪黑客留下的踪迹_服务器_03 程序代码
事件类型:    审核成功
事件来源:    Security
事件种类:    登录/注销
事件 ID:    552
日期:        2010-2-4
事件:        20:52:37
用户:        NT AUTHORITY\SYSTEM
计算机:    TAGggg-DDD3333
描述:
使用明确凭据的登录尝试:
登录的用户:
     用户名:    TAGggg-DDD3333$
     域:        WORKGROUP
     登录 ID:        (0x0,0x3E7)
     登录 GUID:    -
凭据被使用的用户:
     目标用户名:    administrator
     目标域:    TAGggg-DDD3333
     目标登录 GUID: -
目标服务器名称:    localhost
目标服务器信息:    localhost
调用方进程 ID:    3224
源网络地址:    142.97.167.96
源端口:    53637


如果登陆成功,那么将在这里记载,如果被人拿到了3389的账号和密码,那么这里将记载ip和方式,很明显这里是使用凭据登陆的。
 

追踪黑客留下的踪迹_服务器_03 程序代码
事件类型:    审核成功
事件来源:    Security
事件种类:    登录/注销
事件 ID:    528
日期:        2010-2-4
事件:        20:52:37
用户:        TAGggg-DDD3333\administrator
计算机:    TAGggg-DDD3333
描述:
登录成功:
     用户名:     administrator
     域:         TAGggg-DDD3333
     登录 ID:         (0x0,0x3B5BA)
     登录类型:     10
     登录进程:     User32  
     身份验证数据包:     Negotiate
     工作站名:    TAGggg-DDD3333
     登录 GUID:    -
     调用方用户名:    TAGggg-DDD3333$
     调用方域:    WORKGROUP
     调用方登录 ID:    (0x0,0x3E7)
     调用方进程 ID: 3224
     传递服务: -
     源网络地址:    142.97.167.96
     源端口:    53637



这条日志最为重要,他有3个地方说明了登陆方式是远程连接登陆桌面的,第一个地方是登录方式为10,这种方式是远程交互(RemoteInteractive),说明是通过终端服务、远程桌面或远程协助登陆的;第二个地方就是:登录进程:     User32  ,说明是调用了user32.exe进程来登陆的。 第三个地址我们在关注一下调用方进程ID,打开任务管理器,可以看到3224的进程是winlogen.exe,这3点都说明了这个日志是远程连接日志
追踪黑客留下的踪迹_的_06

 

追踪黑客留下的踪迹_服务器_03 程序代码
事件类型:    审核成功
事件来源:    Security
事件种类:    登录/注销
事件 ID:    576
日期:        2010-2-4
事件:        20:52:37
用户:        TAGggg-DDD3333\administrator
计算机:    TAGggg-DDD3333
描述:
指派给新登录的特殊权限:
     用户名:    
     域:        
     登录 ID:        (0x0,0x3B5BA)
     特权:    SeSecurityPrivilege
            SeBackupPrivilege
            SeRestorePrivilege
            SeTakeOwnershipPrivilege
            SeDebugPrivilege
            SeSystemEnvironmentPrivilege
            SeLoadDriverPrivilege
            SeImpersonatePrivilege



这个日志是说明给予登陆用户的权限。

好了,上面就是远程登陆的日志了。下面介绍关于mssql的登陆日志。我将mssql的登陆日志分为3类:普通用户登陆,SA登陆和系统用户登陆。
需要开启sql server和windows身份验证,审核全部。点击mssql实例,右击属性,在“安全性”选项卡中选择即可

追踪黑客留下的踪迹_服务器_08

我们重点关注SA和系统用户的登陆。
mssql的系统用户的登陆日志也保存在“安全性”这类日志中,它的日志和远程登陆相似,主要区别在第三个日志,比如
 

追踪黑客留下的踪迹_服务器_03 程序代码
事件类型:    审核成功
事件来源:    Security
事件种类:    登录/注销
事件 ID:    528
日期:        2010-2-4
事件:        21:50:34
用户:        TAGggg-DDD3333\administrator
计算机:    TAGggg-DDD3333
描述:
登录成功:
     用户名:     administrator
     域:         TAGggg-DDD3333
     登录 ID:         (0x0,0x48EF44)
     登录类型:     5
     登录进程:     Advapi  
     身份验证数据包:     Negotiate
     工作站名:    TAGggg-DDD3333
     登录 GUID:    -
     调用方用户名:    TAGggg-DDD3333$
     调用方域:    WORKGROUP
     调用方登录 ID:    (0x0,0x3E7)
     调用方进程 ID: 444
     传递服务: -
     源网络地址:    -
     源端口:    -



可以看到这个日志的源网络地址和源端口为空。登录类型为5,了解过windows登陆类型的知道这是以服务的方式来登陆的,登录进程为Advapi ,是因mssql调用了LogonUser(管理员)(API call to LogonUser)”,从而产生了登录事件,调用方进程ID为444即serverices.exe的进程,在看到这个日志的最开始你可能会以为被入侵了,其实不然,当然每个情况不一样,要具体分析,因为像黑洞的远程登陆日志应当也是这样,他也是采用服务来登陆系统。我上面的这个mssql日志比较特殊,因为我是调用administrator来启动mssql的,而不是system,所以第一眼看到这个日志感觉可能中招了的想法是正确的,请仔细勘察。

MSSQL的用户登陆日志都保存在“应用程序”中,普通网站所用数据库用户的登陆,一般为
 

追踪黑客留下的踪迹_服务器_03 程序代码
事件类型:    信息
事件来源:    MSSQLSERVER
事件种类:    (4)
事件 ID:    17055
日期:        2010-2-4
事件:        21:41:06
用户:        N/A
计算机:    TAGggg-DDD3333
描述:
18454:
用户 'dbxxxxx' 登录成功。连接: 非信任。




在系统用登陆mssql是在这里也会有记载
 

追踪黑客留下的踪迹_服务器_03 程序代码
事件类型:    信息
事件来源:    MSSQLSERVER
事件种类:    (4)
事件 ID:    17055
日期:        2010-2-4
事件:        21:42:37
用户:        TAGggg-DDD3333\administrator
计算机:    TAGggg-DDD3333
描述:
18453:
用户 TAGggg-DDD3333\administrator' 登录成功。连接: 信任。
 



可能同时还伴随会产生这样一个日志
 

追踪黑客留下的踪迹_服务器_03 程序代码
描述:
8128:
使用 'xplog70.dll' 版本 '2000.80.2039' 来执行扩展存储过程 'xp_msver'。




一个返回有关服务器的实际内部版本号的信息以及服务器环境的有关信息的扩展存储

下面说SA的日志。
sa登陆成功日志:
 

追踪黑客留下的踪迹_服务器_03 程序代码
事件类型:    信息
事件来源:    MSSQLSERVER
事件种类:    (4)
事件 ID:    17055
日期:        2010-2-4
事件:        21:02:21
用户:        N/A
计算机:    TAGggg-DDD3333
描述:
18454:
用户 'sa' 登录成功。连接: 非信任。





如果看到这样的日志那么你的小心了,SA密码已经被人拿去了。
如果执行游览文件功能,那么会产生这样的日志
 

追踪黑客留下的踪迹_服务器_03 程序代码
事件类型:    信息
事件来源:    MSSQLSERVER
事件种类:    (2)
事件 ID:    17055
日期:        2010-2-4
事件:        21:02:45
用户:        N/A
计算机:    TAGggg-DDD3333
描述:
8128:
使用 'xpstar.dll' 版本 '2000.80.2039' 来执行扩展存储过程 'xp_dirtree'。



可爱的dirtree
而产生这一日志的效果如图

追踪黑客留下的踪迹_服务器_15


已经全在掌控之中了,产生这个效果的原因是没有给SA降权。这些怎么解决以后再说了。好了,这篇小文就到这里了。


相当实用的文章,作者:daokers

文章如转载,请注明转载自【网管小王的独立博客】:http://www.5iadmin.com/