文章目录

  一、网页篡改简介

  网页篡改:即攻击者故意篡改网络上传送的报文,通常以入侵系统并篡改数据、劫持网络连接或插入数据等形式进行。

  网页篡改事件区别于其他安全事件的明显特点是:打开网页后会看到明显异常。

  1、网页篡改的类型:

  明显式和隐藏式两种:

  明显式网页篡改:攻击者为炫耀自己的技术技巧,或表明自己的观点实施的网页篡改;

  隐藏式网页篡改:是在网页中植入色情、诈骗等非法信息链接,再通过灰色、黑色产业链牟取非法经济利益。攻击者为了篡改网页,一般需要提前找到并利用网站漏洞,在网页中植入后门,并最终获取网站的控制权。

  2、网页篡改方法:

  文件操作类方法和内容修改类方法:

  文件操作类方法:攻击者用自己的Web网页文件在没有授权的情况下替换Web服务器上的网页,或在Web服务器上创建未授权的网页;

  内容修改类方法:对Web服务器上的网页内容进行增、删、改等非授权操作。攻击者直接将网站主页修改,显示为炫耀式的图片。

  3、网页篡改的原因:

  1、攻击者获取经济利益经济利益一直是攻击者攻击的主要动机之一,购买攻陷站点来批量篡改页面,实现非法站点推广,从而获得巨大的经济利益。

  2、攻击者向被篡改站点网页嵌入浏览器挖矿脚本或在网站中加JavaScript代码,用户通过浏览器访问这些站点时, 脚本会在后台执行,并占用大量资源,出现计算机运行变慢、卡顿,CPU利用率飙升的情况,进而使用户计算机沦为挖矿的‘肉鸡”,且用户很难察觉。

  3、攻击者展现能力,损坏他人形象

  4、通过网页篡改,实现后续其他攻击:如网页挂马、水坑攻击、网络钓鱼等。

  二、网页篡改检测技术 1、外挂轮询技术

  用一个网页读取和检测程序,以轮询方式读出要监控的网页,与真实网页比较,来判断网页内容的完整性,对被篡改的网页进行报警和恢复。

  2、核心内嵌技术

  将篡改检测模块内嵌在Web服务器软件中,它在每个网页流出时都进行完整性检查,对于篡改网页进行实时访问阻断,并及时报警和恢复。

  3、事件触发技术

  使用操作系统的文件系统或驱动程序接口,在网页文件被修改时进行合法性检查,对于非法操

  作进行报警和恢复。

  三、网页篡改应急响应方法

  点击查看Windows入侵排查

  点击查看Linux入侵排查

  1、发生网页篡改

  网页篡改事件区别于其他安全事件的明显特点是:打开网页后会看到明显异常。

  1、业务系统某部分网页出现异常字词

  网页被篡改后,在业务系统某部分网页可能出现异常字词,例如,出现赌博、色情、某些违法App推广内容等。

  2、网站出现异常图片、标语等

  网页被篡改后,一般会在网站首页等明显位置出现异常图片、标语等。

  2、隔离被感染的服务器/主机 2.1、针对被篡改的网页

  1、篡改内容较少:先将相关网页进行下线处理,其他网页正常运行,然后对篡改内容进行删除恢复;

  2、篡改的内容较多:建议先对整个网站进行下线处理,同时挂出网站维护的公告,使用网站定期备份的数据进行恢复。

  3、有备份数据:无论篡改内容是多是少,都可进行网站覆盖恢复操作(覆盖前对被篡改网站文件进行备份,以备后续使用),避免有未发现的篡改数据。

  4、没有定时备份:下线处理后,在旧数据的基础上,手动进行修改、完善。

  2.2、针对未被篡改的网页

  进行隔离操作,隔离方法如下:

  1、物理隔离的方法主要为断网或断电,关闭服务器/主机的无线网络、蓝牙连接,禁用网卡,并拔掉服务器/主机上的所有外部存储设备等;

  2、对访问网络资源的权限进行严格的认证和控制。常用的操作方法是加策略和修改登录密码。

  隔离被感染的服务器/主机的目的:

  1、防止木马通过网络继续感染其他服务器/主机;

  2、防止攻击者通过已经感染的服务器/主机继续操控其他设备。

  3、排查业务系统

  隔离被感染服务器/主机后,应对局域网内的其他机器进行排查,检查核心业务系统是否受到影响,生产线是否受到影响,并检查备份系统是否植入后门。在完成以上基本操作后,为了避免造成更大的损失,应第一时间对篡改网页时间、篡改方法、入侵路径种类等问题进行排查。

   网页被恶意篡改是需要相应权限才能执行的,而获取权限主要有三种方法:

    1、通过非法途径购买已经泄露的相应权限的服务器账号;
    2、使用恶意程序进行暴力破坏,从而修改网页;
    3、入侵网站服务器,进而获取操作权限。

  应对网页篡改事件进行的系统排查如下:

  3.1、异常端口、进程排查

  初步预判为网页篡改攻击后,为了防止恶意程序定时控制和检测网页内容,需要及时发现并停止可疑进程。

  1、检查端口连接情况,判断是否有远程连接、可疑连接。

  2、查看可疑的进程及其子进程。重点关注没有签名验证信息的进程,没有描述信息的进程,进程的属主、路径是否合法,以及CPU或内存资源长期占用过高的进程。

  Windows:

  使用netstat -ano命令,可查看目前的网络连接,检查是否存在可疑IP地址、端口、网络连接状态。

  当通过网络连接命令定位到可疑进程后,可使用tasklist 命令或在任务管理器窗口查看进程信息,确认是否为恶意进程。

  Linux:

  使用netstat命令,可分析可疑端口、可疑IP地址、可疑PID及程序进程;之后使用ps命令,可查看进程,结合使用这两个命令可定位可疑进程信息。

  3.2、可疑文件排查

  发现可疑进程后,通过进程查询恶意程序。多数的网页篡改是利用漏洞上传Webshell文件获取

  权限的,因此也可以使用D盾工具进行扫描。若发现Webshell文件,则可以继续对Webshell进

  行排查。

  Windows:

   1、各个盘下的temp/tmp目录,查看临时文件下是够存在异常文件;

    2、回收站、浏览器下载目录、浏览器历史记录,cookie信息等,查看是否存在可以信息;
    3、运行-->recent        
    查看Recent文件。Recent文件存储了最近运行文件的快捷方式;
    4、运行-->%SystemRoot%\Prefetch\            
    查看预读取文件夹。存放系统已访问过的文件的预读取信息;
    5、运行-->%SystemRoot%\appcompat\Programs\
    查看Amcache.hve文件,该文件可查询应用程序保存路径、上次执行时间、SHA1值。

  Linux:

  3.3、可疑账号排查

  攻击者为了实现长期对网站的控制,多数会获取账号或建立账号。因此,我们可以对网站服务

  器账号进行重点查看,查看服务器是否有弱密码;远程管理端口是否对公网开放,从而防止攻击者获取密码,控制原有系统账号;查看服务器是否存在新增、隐藏账号。

  1、Windows

  使用net users命令,可查看系统用户情况;

  打开计算机管理-->本地用户和组中可查找可疑用户及隐藏用户(用户名以$结尾的为隐藏用户);

  有时攻击者也会克隆正常的用户名来隐蔽自己,通过注册表方法查找克隆用户;

  通过专门的工具查找克隆用户,如使用LP_Check工具进行排查。

  2、Linux:

   1、cat /etc/passwd :可查看所有用户信息。

    2、awk -F: '{if($3==0) print $1}' /etc/passwd    :可查看具有root权限的账户。
    3、cat /etc/passwd | grep -E "/bin/bash$"    :可查看能够登录的账户。

  3.4、确认篡改时间

  为了方便后续的日志分析,此时需要确认网页篡改的具体时间。可以查看被篡改服务器的日志文件access.log,确认文件篡改大致时间。

  3.5、日志排查

  系统日志:

  1、Winodws系统

  在Windows系统中,日志文件包括:系统日志、安全性日志及应用程序日志,其位置如下。也可通过运行-->eventvwr.msc打开事件查看器。

   在Windows 2000专业版/Windows XP/Windows Server 2003系统中:

    系统日志的位置为:
    C:\WINDOWS\System32\config\SysEvent.evt
    安全性日志的位置为:
    C:\WINDOWS\System32\config\SecEvent.evt
    应用程序日志的位置为:
    C:\WINNT\System32\config\AppEvent.evt
    在Windows Vista/Windows7/Windows8/Windows10/Windows Server2008及以上版本系统中:
    系统日志的位置为:
    %SystemRoot%\System32\Winevt\Logs\System.evtx
    安全性日志的位置为:
    %SystemRoot%\System32\Winevt\Logs\Security.evtx
    应用程序日志的位置为:
    %SystemRoot%\System32\Winevt\Logs\Application.evtx

  1.系统日志:查看是否有异常操作,如创建任务计划、关机、重启等。

  2.安全性日志:查看各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、账号管理、策略变更、系统事件等。

  3.应用程序日志:查看由应用程序或系统程序记录的事件.

  2、Linux系统

  Linux系统拥有非常灵活和强大的日志功能,可以保存用户几乎所有的操作记录,并可以从中检索出需要的信息,主要查看的日志如下:

   (1) /var/log/messages: 查看是否有异常操作,如sudo、su等命令执行。

    (2) /var/log/secure: 查看是否有异常登录行为。
    (3) last: 查看最近登录行为。
    (4) lastb: 查看是否有错误登录行为。
    (5) /var/log/audit: 查看是否有敏感命令的操作。
    (6) /var/spool/mail: 查看是否有异常的邮件发送历史。
    (7) bash history: 查看是否有异常的命令执行记录。

  Web日志:

  Web日志记录了Web服务器接收处理请求及运行错误等各种原始信息。通过Web日志可以清楚

  知晓用户的IP地址、何时使用的操作系统、使用什么浏览器访问了网站的哪个页面、是否访问成功等。通过对Web日志进行安全分析,可以还原攻击场景。

  1、Windows系统

  1.查找IIS日志, 常见的IIS日志存放在目录C: \inetpub\logs\LogFiles下(如果未找到,可通过IIS配置查看日志存放位置)。

  2.查找与文件篡改时间相关的日志,查看是否存在异常文件访问。

  3.若存在异常文件访问,则确认该文件是正常文件还是后门文件。

  2、Linux系统

  1.查找Apache和Tomcat日志, 常见存放位置如下。

   Apache日志位置: /var/log/httpd/ access_ log。

    Tomcat日志位置: /var/log/ tomcat/access log。

  2.通过使用cat命令,可查找与文件篡改时间相关的日志,查看是否存在异常文件访问。

  3.若存在异常文件访问,则确认该文件是正常文件还是后门文件。

  数据库日志:

  1、MySQL 数据库日志

  1.使用show variables like "log_ %';命令,可查看是否启用日志。

  2.使用show variables like 'general_log_file';命令,可查看日志位置。

  3.通过之前获得的时间节点,在query_log中查找相关信息。

  2、Oracle数据库日志

  1.若数据表中有Update时间字段,则可以作为参考;若没有,则需要排查数据日志来确定内容何时被修改。

  2.使用select * from v$logfile;命令,可查询日志路径。

  3.使用select * from v$sql 命令,可查询之前使用过的SQL。

  3.6、网络流量排查

  通过流量监控系统,筛选出问题时间线内所有该主机的访问记录,提取IP地址,在系统日志、Web日志和数据库日志中查找该IP地址的所有操作。

  4、恢复数据和业务

  1、使用专业的木马查杀工具进行全盘查杀,备份并删除全部后门;

  2、通过排查可疑IP的操作记录,判断入侵方法,修复漏洞;

  3、如存在暗链,删除暗链;

  4、有数据备份,还原备份数据直接恢复业务;没有数据备份,将网页篡改事件爆发前后被更改过的文件一并进行检查。

  四、网页篡改防御方法

  1、将服务器安全补丁升级到最新版;

  2、封闭未使用但已经开放的网络服务端口及未使用的服务;

  3、使用复杂的管理员密码;

  4、设置合适的网站权限:网站权限设置包括为网站目录文件和每个网站创建一个专属的访问用户的权限。网站目录文件权限设置原则是:仅分配只写权限的目录文件,其他均为只读权限。

  5、防止ARP欺骗的发生,安装ARP防火墙,并手动绑定网关MAC地址等;

  6、部署安全设备;

  7、定期对系统进行渗透测试,保证系统安全性。

最后修改:2024 年 07 月 26 日
如果觉得我的文章对你有用,请随意赞赏