秘境追踪解读日志让黑客无处遁逃

2020-11-13 05:10河南刘景云
网络安全和信息化 2020年11期
关键词:木马日志漏洞

■ 河南 刘景云

编者按:为了防止黑客入侵,我们通常会为系统打上各种补丁,安装各种安全软件,但是,百密必有一疏,一旦出现薄弱环节,黑客就会乘虚而入。如何发现系统安全配置上的不足之处,并及时堵上漏洞呢?其实通过对日志进行深入分析,就可以找到黑客的活动特点,有针对性的制定出更好的防御和反击策略。

认识和了解Windows 日志

日志对系统安全的重要性不言而喻。对于经验丰富的管理员来说,通过分析日志可以对系统的安全状态了如指掌。

点击“Windows+R”键,执行“eventvwr”命令,可以查看日志内容。不管哪个版本Windows,都至少可以看到应用程序日志、安全性日志和系统日志三类日志信息。

在默认情况下,日志记录的内容并不全面,一些非常重要的安全性监视项目并没有激活。这样虽然可以节省系统资源,但对安全性不利。运行“gpedit.msc”程序,在组策略编辑器窗口左侧选择“计算机配置”→“Windows设置”→“安全设置”→“本地策略”→“审核策略”项,在右侧窗口中可以对多种审核策略进行配置。

很多服务器使用的都是msSQL Server 数据库,黑客在采用SQL 注入过程中,必然会涉及到SQL Server 的函数或存储过程,这就会在数据库的日志文件中留下痕迹信息。在默认情况下,msSQL Server 日志文件保存在“C:Program FilesMicrosoft SQL ServerMSSQLLOG”目录中。为了保证安全,需要会在服务器上安装杀毒软件或者防火墙软件。这些安全软件同样有自己的日志记录功能。如果在服务器上安装了Serv-U 等服务软件,也会产生对应的日志文件。通过对这些日志文件的分析判读,也可以发现黑客的踪迹。

分析日志,应对黑客的扫描踩点

在实际工作中,需要针对黑客的具体攻击行为,对日志进行有效的分析,来提高系统的安全性。

例如,当某台服务器安装有IIS 组件、msSQL Server数据库、公司官网或论坛等网站。当被黑客盯上后,黑客会对其进行彻底扫描,来发现其中开启了哪些端口。

例如,管理员在事件查看器窗口左侧选择“安全性”项,在右侧窗口可发现可疑的审核日志。如果在详细信息窗口中的“来源”栏中显示“MSFTPSVC”字样,表示其来自于FTP 服务模块。在“描述”栏中显示登录失败信息,连接者使用了未知的用户名和错误的密码,而且显示器使用的FTP 账户名为“root”。根据这些信息,不难看出黑客使用了某些FTP破解工具对IIS 中的FTP 服务进行检测,每次测试一个账户和密码,因为是不停的测试,每次破译都会在日志中留下一条记录。

由此看出,为FTP 服务器设置复杂的密码,可以大大增加黑客破解的难度。打开“C:WINDOWSsystem32LogFiles”目录,在其中可以找到和FTP相关的日志文件,可以查看到以下一些内容:

从中可以看出,黑客利用了字典对FTP 服务器进行账户和密码的猜测,如果密码设置的比较简单,黑客就很容易突破防线。在默认情况下,扫描工具还会对目标主机进行IIS 漏洞检测,这些检测都会在IIS 日志中留下痕迹。

对于老练的黑客来说,会利用最新漏洞对服务器进行扫描。例如,黑客可能会使用针对某个新漏洞的专用扫描器,对服务器进行扫描检测。根据实际的测试,这些扫描器并不会在系统日志中留下什么可用的线索。所以为了系统的安全,必须为其打上各种补丁。

溢出攻击对日志的影响

黑客对目标进行全面扫描后,接下来就会发起实际的攻击动作了。例如,黑客发现目标机上存在一个可以溢出的漏洞,就会毫不犹豫发起进攻。

对于危害性比较大的漏洞来说,黑客甚至可以使用多个不同的服务(例如IIS服务、SMTP 服务、SMB 服务等)来执行溢出操作。在事件查看器左侧选择“系统日志”项,可以发现由此产生的错误日志信息。例如,相关服务的进程遇到了错误,系统将试图恢复;系统内存出现不足的问题,要求用户检查虚拟内存是否消耗完等。

从具体的实例进行分析,可以得出这样的结论,当黑客针对某个系统漏洞进行攻击操作后,如果对应的服务出错,就会被系统日志完整记录下来。但是这样显示的方式和内容并不直观,所提供的信息量也比较有限。甚至有些漏洞攻击并不被记录。

因此,完全依赖系统日志功能,是不足以对付漏洞攻击行为的。为了弥补这一不足,可以使用带有主动防御功能的杀毒软件。

遭遇SQL 注入攻击,在日志中查找线索

很多网站采用了msSQL Server 数据库,黑客在入侵此类网站时,往往会使用注入的方式对网站进行渗透。对日志进行分析,不难发现其踪迹。为了便于分析,可以使用UltraEdit32 这款强悍的编辑软件,打开IIS 日志文件,来寻找有用的线索。

例如,在UltraEdit32 主界面中点击“Ctrl+F”组合键,在搜索窗口中输入“1=1”“and 1=1” “and 1=2” “' and'1'='1”及“'and '%25'='#25”等内容,搜索与其关联的信息。因为在执行SQL 注入操作时,黑客往往会在特定的网址后面添加测试语句,里面就包含上述内容。在搜索窗口中勾选“列出包含字符串的行”项,可以让搜索更具效率。

执行搜索操作后,Ultra Edit32 很快就在日志文件中找到了很多信息,为了便于观察,在工具栏上点击“全部书签”按钮,让搜索到的数据高亮显示。对这些日志行进行逐一分析,可以很容易的发现疑点。

黑客除了借助“Master..XP_CMDSHELL”等存储进程的权限来执行各种命令外,常见的入侵手法还包括借助于数据库差异备份操作,上传ASP 木马得到WebShell 控制接口。使用SQL Server 提供的日志记录功能,可以查看与其相关的事件。在SQL Server 企业管理器中依次打开“管理”→“SQL Server 日志”项,可以查看日志信息。

注意,上述对日志的检测分析,是基于未编码的明文格式,如果黑客使用了比较强悍的入侵扫描工具,对Web服务器进行入侵时,在日志中会看到与之相关的内容全部处于编码状态,这给分析工作带来了繁琐。

其实,使用UltraEdit32这款工具,可以轻易将其破解,使用UltraEdit32 打开IIS 日志文件,在其窗口底部点击解码按钮,就可以对其进行解码,并还原其本来面目了。

细心观察,让ASP 木马露出破绽

实好多网站都提供了论坛版块,而论坛版块几乎都是利用现成的模板包,只是对其显示内容进行修改而已。在这些现成的论坛程序中不免存在各种漏洞。当然,论坛程序中也提供了日志记录功能,查看这些日志,就会发现黑客上传的可疑文件。

例如,像“Dbpath=…/UploadFile/ 具体日期/具体文件名称.txt&backpath=../shell.asp”等日志内容。黑客为了逃避检测,也会设法清除这些日志内容。但是,有些日志数据受时间限制是不能随意清除的。对于管理员来说,最好养成每天都查阅日志的习惯。

在很多的入侵案例中,都可以看到黑客利用各种漏洞上传ASP、PHP 等木马,来获得WebShell 接口,进而执行查阅敏感信息,搜寻重要文件,非法提权等操作。那么,这些木马的活动是否在日志中也留下踪迹了吗?答案是肯定的。例如,在IIS日志中如果出现了“Get/shell.asp%23=Executr(Se ssion(%22%23%22))&pageN ame=MsDataBase&theAct=qu ery&sqlStr=具体的数据库路径编码”之类的内容,说明黑客利用一句话木马连接上了后台数据库。而类似于“POST/shell.asp PageNam e=MsdateBase&theAct=quer y&sqlStr=后台数据库路径编码”的内容,说明其执行了特定的SQL 语句,但是没有记录具体的内容。而看到“POST/shell.asp %23=Exe cute(Session(%22%23%22))&pageName=FsoFIleExplo rer&theAct=upload&thePa th=具体Web 路径+cmd.com&overWrite=false 80 -服务器IP”之类的内容,说明黑客上传了CMD.exe 程序(当然,也可以是其它程序)。然后黑客就可以执行各种命令了。

在日志中可以看到类似于“POST/shell.asp %23=Execute(Session(%22%23%2 2))&pageName=WscmdRun”的内容,说明黑客已经在执行所需的命令的,例如提升权限之类的,但是日志中并没有记录具体的命令内容。

注意,不同的ASP 木马使用的关键字(例如Path、info等)是不同的,如果管理员对ASP 木马比较了解,根据使用关键字信息就可以判断其出处。现在ASP、PHP 等木马已经成了过街老鼠,是安全软件重点打击对象。一旦黑客上传了木马,如果被杀毒软件认出就会被清除。黑客自然不甘心失败,还会上传免杀型木马,来避开杀软的监控。而且黑客习惯于向网站的同一个路径中上传木马。所以在查阅安全软件的日志时,如果发现了拦截这些木马的信息,就应该根据提示进行对应的目录中,查看是否有漏网之鱼,并及时将其清除。

针锋相对,铲除黑客留下的后门

黑客为了便于长期控制肉机,往往会在其中留下后门。其常用的手法包括添加一个账户到管理员组中,或者克隆一个账户来避开用户的检测;安装一个免杀型的后门程序,不过这会在系统路径(或者别的目录)中留下木马文件,同时会开启新的端口或者安装替换某个服务。

最隐蔽的招数是安装RootKit 类型的病毒木马,将相关文件,端口和服务彻底隐藏起来。

如果黑客的账户没有隐藏,那么执行“net user”命令,可以很容易将其检测出来。对于克隆账户,可以使用LP_Check 工具来检测。

在LP_Check 主窗口中列出所有存在的账户,如果在列表中对应账户的“Result”列中显示为“Shadow Admini strator”项,就表示该账户被克隆了。同时在窗口底部的“Result”栏中显示存在的克隆账户的数量。想删除克隆账户,必须拥有SYSTEM账户权限。

使用“PsExec”工具,可以获得拥有SYSTEM 帐户权限。可将“Psexec.exe”复制到系统文件夹中,之后在CMD窗口中执行命令“psexec -i-d -s %windir% egedit.exe”,在注册表编辑器中展开“HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsersNames”分支,在其下可以看到所有的账户信息,在克隆账户名称的右键菜单上点击“删除”按钮,即可将其从系统中彻底删除。

其实,即使黑客将Guest账户克隆成管理员账户,当其使用该账户登录终端服务时,在事件查看器中的安全性日志中也会记录下这一行为。在日志列表中选择查找到与之关联的登录项目,在其详细信息窗口中可以查看到“目标用户名”为Guest,在“源网络地址”和“源端口”中显示黑客主机的IP 和端口。

即使黑客为了逃避检测,将安全性日志清空,依然会留下一条日志信息,显示审核日志已经被清除。该记录黑客是无法清理的。当发现Guest 账户登录后,而服务器根本没有使用过该账户,或者已经将其禁用,那么就说明黑客将Guest 账户克隆成管理员账户了。可以恢复Guest 账户的本来面目,或者干脆将其删除。

如果黑客安装了后门,就必然会在系统中留下木马文件,一般来说,黑客常常在系统路径下存放木马文件。

因此,可以在CMD 窗口中执行“dir c:windowssys tem32 > c:sysfile1.txt:”以及“net start > c:server1.txt”命令,将系统路径下的文件信息存放到“sysfile1.txt”文件,并将系统服务信息存到“server 1.txt”文件中。

当怀疑系统中存在木马时,执行“dir c:windowssystem32 > c:sysfile2.txt:”和“net start > c:server2.txt” 命令,可以获得当前的系统文件信息和服务信息。之后执行“fc sysfile1.txt sysfile2.t xt”和“fc server1.txt ser ver2.txt”命令,来检测系统文件和服务的变动信息。如果发现可疑的新文件或者服务,就要提高警惕了。将其找出来分析,确认是木马文件后,可以进入Windows PE环境,将相关的木马文件彻底删除。

当然,对付使用RootKit技术深度隐身的病毒木马,仅仅依靠“dir”和“fc”命令是远远不够的。因为这种基于内核级别的恶意程序可以轻松隐藏文件,端口或者服务等对象。

当然,对于此类恶意程序当然不能束手无策,利用合适的工具,同样可以让其现出原形。例如针对隐藏的服务,可以使用Knlsc 这款小工具,让其彻底暴露出来。

保护日志,禁止黑客破坏入侵现场

当黑客入侵之后,必然会使用各种黑客工具对日志进行删除,来掩盖其踪迹。因此,对日志进行保护就能显得非常重要了。

在默认情况下,打开“%systemroot%system32con fig”文件夹,其中后缀为“.evt”的文件就是日志文件。这些文件受到系统严格的保护,无法直接删除。但若拥有足够的权限,完全可以清空对应日志的记录信息。

因此,如果想保护系统日志,最直接的办法就是更改其存放位置。

打开注册表编辑器,展开“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlog”分支,其中可以看到与所有日志项目关联的子健。选择所需的日志子健名,在右侧窗口中双击“file”键值名,可以修改该日志文件的存储位置。

如果系统中安装了IIS组件,还涉及到Web 日志文件的搬迁问题。其方法是在Internet 信息服务管理器中选择目标站点,在属性窗口中的“网站”面板中勾选“启用日志记录”项,点击“属性”按钮,在常规属性面板中点击“浏览”按钮,更改Web 日志存放路径。

经过上述操作,虽然修改了日志存放位置,但只要访问者拥有足够的权限,仍然可以轻松的清除日志信息。我们必须通过Windows 文件保护机制来捍卫日志安全。当然,前提是日志文件必须存储在NTFS 格式分区中。

选择新的日志存放文件夹,在属性窗口中打开“安全”面板,点击“删除”,清除除 了“Users” 和“SYSTEM”之外的所有账户。如果有些账户不能删除,可以点击“高级”按钮,在弹出窗口中的“权限”面板中取消从父项继承那些可以应用到自对象的权限项目,来清除所有的账户。之后选择“Users”组,在“允许”栏中只勾选“读取”项,让其只读取日志。选择“SYSTEM”账户,在“允许”栏中勾选除了“完全控制”和“修改”之外的所有权限。之后点击“确定”保存配置。当以后进入事件查看器窗口,试图删除日志信息时,系统就会弹出“清除事件日志失败,拒绝访问”的提示。即使利用系统漏洞渗透进来,取得了权限很大的CMDshell,试图清理日志毁灭证据,也同样会遭到系统的拦截。

当然,对于杀毒软件、防火墙、数据库等日志文件,同样可以采取调整其存储路径,设置管理权限等方式。对于管理员来说,每天认真地查阅日志信息,就可以及时发现黑客的入侵踪迹。

处于安全考虑,对日志进行备份,同样不可忽略。除了使用各种备份软件外,利用微软提供的“dumpel.exe”工具,可以快速有效的备份日志。该工具在ResourceKit工具箱中。例如,在CMD 窗口中执行“dumpel -l sys tem -f owesystem.log”“dumpel -l application-f oweapplication.log”“dumpel -l secury -f owe security.log”命令,即可备份本机的系统、应用程序及安全日志信息。

猜你喜欢
木马日志漏洞
漏洞
小木马
一名老党员的工作日志
骑木马
扶贫日志
小木马
基于selenium的SQL注入漏洞检测方法
雅皮的心情日志
雅皮的心情日志
漏洞在哪儿