初步判断
- 网页篡改事件区别于其他安全事件地明显特点是:打开网页后会看到明显异常。
业务系统某部分出现异常字词
- 网页被篡改后,在业务系统某部分网页可能出现异常字词,例如,出现赌博、色情、某些违法APP推广内容等。2019年4月,某网站遭遇网页篡改,首页产生大量带有赌博宣传地黑链,如图所示。
网站出现异常图片、标语等
- 网页被篡改后,一般会在网站首页等明显位置出现异常图片、标语等。例如,政治攻击者为了宣泄不满,在网页上添加反动标语来进行宣示;还有一些攻击者为了炫耀技术,留下"Hack by 某某"字眼或相关标语,如图所示。
系统排查
- 网页被恶意篡改是需要相应权限才能执行的,而获取权限主要有三种方法:一是通过非法途径购买已经泄露的相应的服务器账号;二是使用恶意程序进行暴力破解,从而修改网页;三是入侵网站服务器,进而获取操作权限。应对网页篡改事件进行的系统排查如下。
异常端口、进程排查
- 初步预判为网页篡改攻击后,为了防止恶意程序定时控制和检测网页内容,需要及时发现并停止可疑进程,具体步骤如下。
- 检测端口连接情况,判断是否有远程连接、可疑连接。
- 查看可疑的进程及其子进程。重点关注没有签名验证信息的进程,没有描述信息的进程,进程的属主、路径是否合法,以及CPU或内存资源长期占用过高的进程。
可疑文件排查
- 发现可疑进程后,通过进程查询恶意程序。多数的网页篡改是利用漏洞上传Webshell文件获取权限的,因此也可以使用D盾工具进行扫描。若发现Webshell文件、则可以继续对webshell进行排查。
确认篡改时间
- 为了方便后续的日志分析,此时需要确认网页篡改的具体时间。可以查看被篡改服务器的日志文件access.log,确认文件篡改大概时间。如图所示,可知最后修改时间为2019年10月21日5时51分27秒,因此网页篡改时间在这个时间之前。
日志排查
系统日志
windows
- 系统
-
- 查看是否有异常操作,如创建任务计划、关机、重启等。
- 安全
-
- 查看各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、账号管理、策略变更、系统事件等。安全也是调查取证中最常用的日志。
Linux系统
- Linux系统拥有非常灵活和强大的日志功能,可以保存用户几乎所有的操作记录,并可以从中检索出需要的信息,主要查看的日志如下。
-
- /var/log/messages:查看是否有异常操作,如sudo、su等命令执行
- /var/log/secure:查看是否有异常登录行为
- last:查看最近登录行为
- lastb:查看是否有错误登录行为
- /var/log/audit:查看是否有铭感命令的操作
- /var/spool/mail:查看是否有异常的邮件发送历史
- .bash_history:查看是否有异常的命令执行记录
Web日志
- Web日志记录了Web服务器接收处理请求及运行错误等各种原始信息。通过Web日志可以清楚知晓用户的IP地址、何时使用的操作系统、使用什么浏览器访问了网站的那个页面、是否访问成功等。通过对Web日志进行安全分析、可以还原攻击场景,如图所示。
Windows系统
- 查看IIS日志、常见的IIS日志存放在目录"C:\inetpub\logs\LogFiles"下(如果未找到,可通过 IIS 配置查看日志存放位置)。
- 查看与文件篡改时间相关的日志,查看是否存在异常文件访问。
- 若存在异常文件访问,则确认该文件是正常文件还是后门文件。
Linux系统
- 查找Apache和Tomcat日志,常见存放位置如下:
-
- Apache 日志位置:/var/log/httpd/access_log。
- Tomcat 日志位置:/var/log/tomcat/access_log。
- 通过使用【cat】命令,可查找与文件篡改时间相关的日志,查看是否存在异常文件访问。
- 若存在异常文件访问,则确认该文件是正常文件还是后门文件
数据库日志
Mysql数据库日志
- 使用【show variables like 'log_%';】命令,可查看是否启用日志。
- 使用【show variables like 'general_log_file';】命令,可查看日志位置。
- 通过之前获得的时间节点,在 query_log 中查找相关信息。
Oracle数据库日志
- 若数据表中有 Update 时间字段,则可以作为参考;若没有,则需要排查数据日志来确定内容何时被修改
- 使用【select * from v$logfile;】命令,可查询日志路径。
- 使用【select * from v$sql】命令,可查询之前使用过的 SQL
网络流量排查
- 通过流量监控系统,筛选出问题时间线内所有该主机的访问记录,提前IP地址,在系统日志、Web日志和数据库日志中查找该IP地址的所有操作
清除加固
- 对被篡改网页进行下线处理。根据网页被篡改的内容及影响程度,有针对性地进行处置,如果影响程度不大,篡改内容不多,那么可先将相关网页进行下线处理,其他网页正常运行,然后对篡改内容进行删除恢复;如果篡改网页带来的影响较大,被篡改的内容较多,那么建议先对整个网站进行下线处理,同时挂出网站维护的公告。
- 如果被篡改的内容较少,那么可以手动进行修改恢复;如果被篡改的内容较多,那么建议使用网站定期备份的数据进行恢复。当然,如果网站有较新的备份数据,那么无论篡改内容是多是少,推荐进行网站覆盖恢复操作(覆盖前对被篡改网站文件进行备份,以备后续使用),避免有未发现的篡改数据。
- 如果网站没有定时备份,那么就只能在一些旧的数据的基础上,手动进行修改、完善。因此,对网站进行每日异地备份,是必不可少的。
- 备份和删除全部发现的后门,完成止损。
- 通过在 access.log 中搜索可疑 IP 地址的操作记录,可判断入侵方法,修复漏洞。