应急响应-网页篡改-技术操作只指南

初步判断

  • 网页篡改事件区别于其他安全事件地明显特点是:打开网页后会看到明显异常。
业务系统某部分出现异常字词
  • 网页被篡改后,在业务系统某部分网页可能出现异常字词,例如,出现赌博、色情、某些违法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 地址的操作记录,可判断入侵方法,修复漏洞。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/842949.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle创建用户时提示ORA-65096:公用用户名或角色名无效

Oracle创建用户时提示“ORA-65096:公用用户名或角色名无效” 如下图所示: 解决方法:在新增用户名前面加上C##或者c##就可以解决无效问题,具体什么原因还不清楚,需要再研究一下。

一机实现All in one,NAS如何玩转虚拟机!

常言道,中年男人玩具有三宝 充电器、路由器、NAS 你问我NAS的魔力在哪里? 一机实现All in one洒洒水啦 那NAS又如何玩转虚拟机呢? 跟我来 0基础也能轻松get! NAS如何玩转虚拟机 铁威马NAS的VirtualBox的简单易用,可虚拟的系统包括Win…

通杀漏洞!华为、TP_Link、360、小米等多款主流路由器沦陷

近日,清华大学计算机系团队发现多款主流路由器固件中 NAT 映射处理存在的安全漏洞,可被攻击者利用构造发起 TCP劫持攻击,劫持 Wi-Fi 下的 TCP 流量。 近78%的路由器存在漏洞! 实验对30家厂商的67款主流路由器进行了测试&#xf…

python核心编程(二)

python面向对象 一、基本理论二、 面向对象在python中实践2.1 如何去定义类2.2 通过类创建对象2.3 属性相关2.4 方法相关 三、python对象的生命周期,以及周期方法3.1 概念3.2 监听对象的生命周期 四、面向对象的三大特性4.1 封装4.2 继承4.2.1 概念4.2.1 目的4.2.2 分类4.2.3 t…

cgicc开发(文件上传)

//cgicc文件上传封装 void UploadSoftware() {// 初始化CGIC环境Cgicc cgi;// 获取上传的文件file_iterator fileIter cgi.getFile("button_browse"); //from表单中,输入为文件属性(typefile)的name属性值if (fileIter cgi.getFiles().end()){ #if (DEBUG true)co…

软件设计师中级 重点 笔记

文章目录 下午题目网络DNS域名解析分类:域名协议简介网络设备 算法软件工程实体联系图(E-R图) 其它 下午题目 数据流图补充原则 22年下半年真题 更早-真题大全 答题技巧 网络 DNS域名解析分类: 递归查询的顺序:1.本…

如何在 JavaScript 中验证电子邮件地址

在开发Web应用程序的过程中,验证用户输入的电子邮件地址是一个常见需求。尽管看似简单,但要准确地验证电子邮件地址并非易事。本文将探讨如何使用正则表达式在JavaScript中进行电子邮件地址的验证,同时介绍一些最佳实践与具体代码实例。 使用正则表达式进行验证 正则表达式…

电脑重要文件如何加密保护?教你两种方法

加密是保护电脑重要文件的常见方法,可以有效避免文件数据泄露。那么,电脑重要文件该如何加密保护呢?下面小编就来教你两种方法,帮助你解决文件安全问题。 超级加密3000 超级加密3000是一款专业的电脑数据加密软件,可以…

流量被劫持?不怕,轻松Get 防“窃”技巧!

流量劫持是一种恶意行为,攻击者会在用户访问网站时,将其流量重定向到第三方站点上,导致用户访问的不是原始目标站点。这种行为不仅会影响网站的品牌形象,还会导致用户流失和信息泄露等严重后果。本文将探讨网站如何应对流量劫持。…

SurfaceFinger layer创建过程

SurfaceFinger layer创建过程 引言 本篇博客重点分析app创建Surface时候,SurfaceFlinger是如何构建对应的Layer的主要工作有那些! 这里参考的Android源码是Android 13 aosp! app端创建Surface 其核心流程可以分为如下接部分: app使用w,h,fo…

window.location.search取不到值

window.location.search window.location.search没有值的原因: URL中使用了 hash (指URL中带有#符号),导致URL后面携带的参数被location.hash截取走了,你再使用window.location.search得到的就是空值 打印 window.location 其实…

收银系统源码--零售连锁店铺如何选择适合自己的收银系统?

如果你现在还认为小便利店只要简单的收款,只有大型的连锁便利店才需要收银软件和管理软件,那你就错了,连锁品牌的便利店是必须要用到专业的收银软件,但是小微型的便利店更应该要用专门的软件, 在各行各业逐步革新互联网…

ORCLE删除数据库文件

在实际操作中很少会去删除数据库文件,但是凡事都有例外,由于一些特殊原因,例如存储方式变化、磁盘空间不够等,需要调整和删除一些无效的数据库文件,本文介绍一下实践出来的一种删除数据库文件的操作方式。 删除前请对数…

Linux系统之touch命令的基本使用

Linux系统之touch命令的基本使用 一、touch命令介绍1. touch命令简介2. touch命令作用 二、touch命令帮助1. touch命令的帮助信息2. touch命令的选项解释 三、touch命令的基本使用1. 查看touch工具版本2. 创建空文件3.查看空文件属性4. 修改文件时间戳5. 文件不存在时不创建 四…

【C#】递归移动拷贝目录

当我们需要移动目录时,不能的简单的Directory.Move,这个方法不能支持递归迁移目录 需要我们进行递归进行迁移 void Main() {string sourcePath "D:\费用报销";string destinationPath "D:\文档\费用报销";// 确保源路径存在if (!D…

概率分布函数与误差函数的关系

正态函数(高斯分布) 对其求[b,x]区间的积分 标准误差函数 以下两个方程相等(a,b取值任意) 两个函数重合 可知正态函数 f(t) 在[b,x]的区间上积分等于 引用desmos计算器:Desmos | Lets learn together.

2024年,企业薪酬预算怎么做?

新的一年已经开始,许多企业的HR和财务部门正面临着薪酬预算的问题。预算数额过高,老板不会批准;而预算水平过低,则会引起员工不满。因此,薪酬预算是一项棘手的任务。然而,薪酬预算对企业的人力资源管理至关…

5.命令行提示符

一、打开终端(有以下几种方式) 1.在搜索框输入 terminal 2.命令 (1)ctrlaltt打开新的终端 (2)ctrlshiftt:在已经打开终端的基础内,新打开一个同路径的终端。 (3&#xf…

使用 Go 实现 HelloWorld 程序,并分析其结构

在学习任何新的编程语言时,编写一个 “Hello, World” 程序通常是最初的入门步骤。这不仅是一个传统,也是一种快速了解语言基本语法和运行机制的有效方法。对于 Go 语言,这个过程不仅可以帮助新手快速入门,还提供了一个窗口&#…

一文读懂什么是PaaS平台

如今,数字化概念广为流传,数字化转型的重要性也不言而喻。在转型过程中,企业不仅需要高效地管理业务流程,还需要不断创新和适应市场变化。在这样的背景下,PaaS平台应运而生,成为了企业实现创新、提升效率的…