应急响应练习2

news2024/11/19 1:50:05

目录

1. 请提交攻击者的ip与系统版本

2. 攻击者通过某个组件漏洞获得服务器权限,请提交该组件的名称

3. 请提交攻击者首次攻击成功的时间

4. 请提交攻击者上传的webshell文件绝对路径

5. 请提交攻击者使用的webshell管理工具

6. 攻击者进一步留下的免杀的webshell在网站中,请提交该shell的原文内容

7. 攻击者修改了某文件,导致webshell删除后,攻击者仍然拥有服务器权限,请提交该文件的绝对路径

8. 请提交网站服务连接数据库使用的数据库账号和密码

9. 请提交攻击者在数据库中留下的信息,格式为:flag{...}

10. 请分析攻击者的入侵行为与过程


练习环境:  Linux localhost 3.10.0-1160.el7.x86_64

1. 请提交攻击者的ip与系统版本

到文件根目录看到有www目录

查看www的web日志

www/wwwlogs/172.16.24.128-access_log

(如果实在是找不到web日志就通过find查找find -name '*access*log*' -type f)

cat ./172.16.24.128-access_log

单独筛选出POST数据

cat www/wwwlogs/172.16.24.128-access_log | grep POST

这里能看到172.16.24.1这个ip多次访问tt1.php这个文件,很可疑

单独查找tt1.php

cat www/wwwlogs/172.16.24.128-access_log | grep tt1.php

这里能看到黑客执行了phpinfo()获取了网站配置信息

黑客ip:172.16.24.1

系统:Windows NT 10.0; Win64; x64

2. 攻击者通过某个组件漏洞获得服务器权限,请提交该组件的名称

这里先略过,先把web日志分析完再来做

这里先去看用户配置文件passwd里的ront用户

cat etc/passwd | grep 0:0

这里发现除了root用户还有一个www用户和msf用户有root权限

查看所有用户登录时间

没什么收获

这里去看home目录下的用户

这里有www用户的目录

查看www用户的历史命令记录

这里   .bash_history是隐藏文件

这里发现www用户执行过cve-2021-3156漏洞的python文件

似乎是系统漏洞

还执行过 ./suggester.sh来进行信息搜集

因为比赛的时候是没有网的所以这里不去搜索这个文件是哪个组件的漏洞

现在去查系统日志文件

/var/log/message 内核消息及各种应用程序的公共日志信息,包括启动、I/O错误、 网络错误、

/var/log/cron Crond周期性计划任务产生的时间信息

/var/log/dmesg 弓|导过程中的各种时间信息

/var/log/ maillog 进入或发出系统的电子邮件活动

/var/log/lastlog 每个用户最近的登录事件

/var/log/secure 用户认证相关的安全事件信息

/var/log/wtmp 每个用户登录注销及系统启动和停机事件

/var/log/btmp 失败的、错误的登录尝试及验证事件

这里先看secure文件

当看到www用户时发现用户进行了提权,  使用的是sudo组件的漏洞

组件:  sudo

3. 请提交攻击者首次攻击成功的时间

继续分析

这里能明显看到,黑客上传成功后门以后先是访问了一下是否存在,后续便通过工具连接

首次攻击成功实践:[04/Oct/2023:22:30:18 +0800]

4. 请提交攻击者上传的webshell文件绝对路径

全局搜索tt1.php

find / -name 'tt1.php' -type f

文件绝对路径:/www/wwwroot/172.16.24.128/wp-content/plugins/wp-file-manager/lib/files/tt1.php

5. 请提交攻击者使用的webshell管理工具

从后门文件来看看不出是使用的那种webshell管理工具

那么只能从webshell管理的流量上下手

继续分析web日志

数据包流量特征:

中国菜刀:

1,请求包中:ua头为百度,火狐
2,请求体中存在eavl,base64等特征字符
3,请求体中传递的payload为base64编码

蚂蚁宝剑:
使用普通的一句话都存在以下特征:
每个请求体都存在@ini_set(“display_errors”, “0”);@set_time_limit(0)开头。并且后面存在base64等字符
响应包的结果返回格式为:随机数    响应内容   随机数

冰蝎2.0

第一阶段请求中返回包状态码为200,返回内容必定是16位的密钥

请求包存在:Accept: text/html, image/gif, image/jpeg, ; q=.2, /; q=.2

冰蝎3.0

请求包中content-length 为5740或5720(可能会根据Java版本而改变)
每一个请求头中存在
Pragma: no-cache,Cache-Control: no-cache
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/*;q=0.8,application/signed-exchange;v=b3;q=0.9

哥斯拉

所有请求中Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8

从整体来看像是菜刀

shell管理工具:菜刀

到这里以后回到第二步

6. 攻击者进一步留下的免杀的webshell在网站中,请提交该shell的原文内容

这里我还是老样子全局搜索所有可能为后门的文件

cat `find / -name '*.php' -type f` | grep eval

这里我一般会找三个后门文件后缀 asp  jsp  php,最常见的就是php所以首先查找

第二筛选内容也是后门文件的特征assert  eval  system之类的函数

当看到这里时找到免杀后门文件

这里的后门文件先用a接受json加密后的命令,再用data接受解密后的,再输出执行后的data

通过内容特征找这个文件

find / -name '*.php' -type f | xargs grep 'cdp'

后门免杀文件路径:/www/wwwroot/172.16.24.128/wp-admin/user/passthru.php

7. 攻击者修改了某文件,导致webshell删除后,攻击者仍然拥有服务器权限,请提交该文件的绝对路径

到这里主要需要分析的就是自启动项目还有就是恶意文件了

先看网络有没有外联其他ip

查看进程ps -aux

这里发现了反弹shell

继续查看此进程详情

这里并没有任何信息,  猜测是写在开机自启动或者定时任务里的命令

查看定时任务列表

没有定时任务,  手动去查

cat /etc/init.d/rc.local        cat /etc/rc.local       ls -alt /etc/init.d
查看init.d文件夹下的所有文件的详细信息

并没有什么有用信息

查看定时任务

发现反弹shell代码

路径:  /etc/crontab

8. 请提交网站服务连接数据库使用的数据库账号和密码

这里去找网站的配置文件,  配置文件里有账号密码

找不到的话可以搜索www目录下的config文件

账号:   sql172_16_24_12

密码:   sqlpass

9. 请提交攻击者在数据库中留下的信息,格式为:flag{...}

登录mysql

使用在配置文件看到的数据库

查表

查数据

flag{th1s_ls_fl99999g1}

10. 请分析攻击者的入侵行为与过程

  1. 通过web端漏洞上传后门文件
  2. 再通过后门文件上传免杀webshell
  3. 通过系统漏洞提权
  4. 为了保持权限在定时文件中加入反弹shell

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

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

相关文章

数据结构—数组栈的实现

前言:各位小伙伴们我们前面已经学习了带头双向循环链表,数据结构中还有一些特殊的线性表,如栈和队列,那么我们今天就来实现数组栈。 目录: 一、 栈的概念 二、 栈的实现 三、 代码测试 栈的概念: 栈的概念…

互联网医院牌照|互联网医院牌照办理小知识

随着互联网技术的快速发展,互联网医院牌照已经成为医疗行业的一个重要资质,我们致力于为您提供最优质的服务,帮助您的公司或产品顺利获得此牌照。 一、产品特性描述 1、专业性:我们的团队由经验丰富的顾问组成,对互联…

Redis 连接不上 WRONGPASS invalid username-password pair

1.我的RedisDesktopManager 可以连接 但是 Springboot远程使用Redis就是连不上 2.我的密码是 abc123.. 多了英文的 ..符号 在Springboot过不了,所以Redis密码尽量字母数字,不要其他符号

洛谷P1923 【深基9.例4】求第 k 小的数(java)

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.StreamTokenizer; import java.util.Arrays; import java.util.Scanner; //输入n个数字ai,输出这些数字的第k小的数。最小的数是第0小。 public cla…

IP-guard WebServer 命令执行漏洞复现

简介 IP-guard是一款终端安全管理软件,旨在帮助企业保护终端设备安全、数据安全、管理网络使用和简化IT系统管理。在旧版本申请审批的文件预览功能用到了一个开源的插件 flexpaper,使用的这个插件版本存在远程命令执行漏洞,攻击者可利用该漏…

SAP 60策略测试简介

前面我们已经测试了10.11.20.40.50.52策略的测试,下面我们会测试一下60的策略,我们把60策略和50的策略进行一个比较,先看下后台的配置上面有什么不一样的地方。 首先是50策略 我们看到60策略里面很多地方都显示有计划物料,所以我…

链表相关部分OJ题

💓作者简介👏:在校大二迷茫大学生 💖个人主页🎉:小李很执着 💗系列专栏:Leetcode经典题 每日分享:人总是在离开一个地方后开始原谅它❣️❣️❣️———————————…

基于php+thinphp+vue的教材管理系统

运行环境 开发语言:PHP 数据库:MYSQL数据库 应用服务:apache服务器 使用框架:ThinkPHPvue 开发工具:VScode/Dreamweaver/PhpStorm等均可 项目简介 教材管理系统,主要的模块包括首页、个人中心、学生管理、老师管理、教材征订管理、教师教材退订管理、…

基于RK3568新零售智能售货柜解决方案

I 方案简介 新零售智能售货柜解决方案: 无人零售除了无人货架外,自动售货机仍是亮点。但仍有很多人认为自动售货机已经过时,不会成为新零售领域的新星。 随着手机支付、人脸支付不断普及,智能售卖不断的推陈出新,无人…

【赠书第5期】AI时代项目经理成长之道:ChatGPT让项目经理插上翅膀

文章目录 前言 1 ChatGPT为项目经理带来便利 2 提供自动化的通知和提醒 3 提供数据分析和可视化 4 结论 5 推荐图书 6 粉丝福利 前言 在现代商业环境中,项目经理需要具备高度的灵活性和响应能力。而现在,随着技术的不断提升和新工具的涌现&#…

使用百度语音识别技术实现文字转语音的Java应用

探讨如何使用百度语音识别技术将文字转换为语音的Java应用。百度语音识别技术是一种强大的语音识别服务,可以将输入的文字转换为自然流畅的语音输出。我们将使用Java编程语言来实现这个应用,并提供相应的源代码。 首先,我们需要准备一些前提…

适用于WPF的设计模式

适用于WPF的设计模式 讨论“XAML能不能写逻辑代码”这个问题。我发现这是个有歧义的问题。这个问题可以有两种意思: XAML能不能用来写逻辑代码? XAML文件里能不能包含逻辑代码? 对于第一种意思——XAML是一种声明性语言,就是用来…

开发企业微信群机器人,实现定时提醒

大家好,我是鱼皮,今天分享一个用程序解决生活工作问题的真实案例。 说来惭愧,事情是这样的,在我们公司,每天都要轮流安排一名员工(当然也包括我)去楼层中间一个很牛的饮水机那里接水。但由于大…

JDK更换版本不生效问题

JDK版本更换 问题: 当本地电脑拥有多个版本jdk时, 切换jdk版本不生效 解决方案: 1.查看环境变量(高版本的jdk安装时自动注入环境变量) 2.将Path里面的jdk的bin配置上移到最上面 3.查看jdk版本, java -version 启动项目,显示如下使用了jdk17

“第六十七天”

各位,昨天查找子串的方法想起来了,就是那个KMP算法......自己理解都有点困难,还看看能不能想一下,确实很困难啊。 不要忘了toupper函数和tolower函数不是直接改变字符的大小写,而是返回对应的大小写的值,需…

设计模式—结构型模式之代理模式

设计模式—结构型模式之代理模式 代理模式(Proxy Pattern) ,给某一个对象提供一个代理,并由代理对象控制对原对象的引用,对象结构型模式。 静态代理 比如我们有一个直播平台,提供了直播功能,但是如果不进行美颜,可能就比较冷清…

activiti7审批驳回,控制变量无法覆盖,导致无限循环驳回,流程无法结束

项目开发过程中使用工作流,因此考虑使用activiti7做完工作流引擎。项目开发过程中,发现流程驳回时,再次执行流程,控制变量无法覆盖,导致无限循环驳回,流程无法结束。流程图如下图所示: 驳回控制…

2023年数维杯国际大学生数学建模挑战赛

当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2022年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。 cs数模团队在数维杯前为大家提供了许多资料的内容呀&#xff0…

kubernetes--Pod进阶

目录 一、资源限制: 1. 资源限制的两种规范: 2. Pod 和 容器 的资源请求和限制: 3. CPU 资源单位: 4. 内存资源单位 : 5. 资源限制示例: 二、健康检查:探针(Probe) 1. 探…

深入理解强化学习——马尔可夫决策过程:马尔可夫过程和马尔科夫链

分类目录:《深入理解强化学习》总目录 马尔可夫过程是一组具有马尔可夫性质的随机变量序列 S 1 , S 2 , ⋯ , S t S_1, S_2, \cdots, S_t S1​,S2​,⋯,St​,其中下一个时刻的状态 S t 1 S_{t1} St1​只取决于当前状态 S t S_t St​ 。我们设状态的历史…