应急响应练习2
目录
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. 请分析攻击者的入侵行为与过程
- 通过web端漏洞上传后门文件
- 再通过后门文件上传免杀webshell
- 通过系统漏洞提权
- 为了保持权限在定时文件中加入反弹shell
相关文章:

应急响应练习2
目录 1. 请提交攻击者的ip与系统版本 2. 攻击者通过某个组件漏洞获得服务器权限,请提交该组件的名称 3. 请提交攻击者首次攻击成功的时间 4. 请提交攻击者上传的webshell文件绝对路径 5. 请提交攻击者使用的webshell管理工具 6. 攻击者进一步留下的免杀的webs…...
JS算法练习 11.13
leetcode 2625 扁平化嵌套数组 请你编写一个函数,它接收一个 多维数组 arr 和它的深度 n ,并返回该数组的 扁平化 后的结果。 多维数组 是一种包含整数或其他 多维数组 的递归数据结构。 数组 扁平化 是对数组的一种操作,定义是将原数组部…...
js升序排序
function sortByKey(array, key) {return array.sort(function(a, b) {var x Number(a[key]);var y Number(b[key]);return x < y ? -1 : x > y ? 1 : 0; //或者 return x-y});}...

2023亚太杯数学建模C题思路
文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料5 最后 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 2023年第十三…...

【ArcGIS Pro微课1000例】0030:ArcGIS Pro中自带晕渲地貌工具的妙用
在ArcGIS中,制作地貌晕渲效果通常的做法是先制作山体阴影效果,然后叠加在DEM的下面,再改变DEM的透明度来实现。而在ArcGIS Pro中自带了效果显著的晕渲地貌工具。 文章目录 一、晕渲地貌工具1. 符号系统2. 栅格函数二、山体阴影效果1. 工具箱2. 栅格函数打开ArcGIS Pro3.0,加…...

【原创】java+swing+mysql办公用品管理系统设计与实现
摘要: 办公用品管理系统是一个设计和实现办公用品库存和使用管理的信息系统。此系统可以提高办公用品的利用率,减少浪费,使办公用品管理更加高效、规范、便捷。本文主要介绍使用javaswingmysql技术去开发实现一个办公用品管理系统。 功能分…...
sqlalchemy查询数据为空,查询范围对应的数据在数据库真实存在
记录一个开发过程遇到的小bug,构造些伪数据还原并解释。 """ 场景:传参触发了查询条件,数据库中是存在传参对应范围的数据,但是通过查询条件得到的查询结果为空 """ 入参场景一: start_time = "2023-11-13" end_time = "202…...

Code Former安装及使用
Code Former是南洋理工大学和商汤科技联合研究中心联合开发一款AI人脸修复算法,通过该算法,可以对已经模糊的图片进行人脸修复,找回斑驳的记忆 由于网上对于Code Former的封装,全都是要花钱,或者需要其他什么曲折的方式…...
SpringMVC--@RequestMapping注解
RequestMapping注解 RequestMapping注解的功能RequestMapping注解的位置RequestMapping注解的属性1、value属性2、method属性3、params属性(了解) 补充RequestParamRequestHeaderRequestBody RequestBody获取json格式的请求参数 ResponseBodyRestControl…...

ARM寄存器及功能介绍/R0-R15寄存器
1、ARM 寄存器组介绍 ARM 处理器一般共有 37 个寄存器,其中包括: (1) 31 个通用寄存器,包括 PC(程序计数器)在内,都是 32 位的寄存器。 (2) 6 个状态寄存器…...

js删除json数据中指定元素
delete 删除数组方法: function removeJSONRows() {var tab {"dataRows": [{"id": 1,"name": "使用部门"},{"id": 2,"name": "车辆走行路线"},{"id": 3,"name": &quo…...

广州华锐互动:VR刑侦现场执法实训助力警察全面提升警务能力
随着科技的不断发展,虚拟现实(VR)技术在多个领域开始得到广泛应用,其中包括公安执法培训。VR刑侦现场执法实训系统是一种采用虚拟现实技术,为公安执法人员提供模拟真实环境的培训工具。通过这种平台,公安人…...
多线程 浏览器渲染引擎 图形用户界面(GUI,Graphical User Interface)应用程序
目录 多线程浏览器渲染引擎图形用户界面(GUI,Graphical User Interface)应用程序 👍 点赞,你的认可是我创作的动力! ⭐️ 收藏,你的青睐是我努力的方向! ✏️ 评论,你的…...

echarts饼图label显示不全原因?
echarts饼图label显示不全原因? 标签数量过多:当饼图的扇形数量较多时,为了保证图形的清晰性,ECharts 可能不会显示所有的标签,而是选择显示部分标签或者不显示标签。标签过长:如果标签的文字过长…...

暖手宝上架亚马逊美国站UL499报告测试标准要求
暖手宝是运用物理及化学原理研制的自动取暖保健用品。该产品以其自动生热,有趣,实用等新颖独特的优势,深受欢迎——暖手宝具有自动取暖,理疗保健等多种功能。只要插上电源等上10分钟左右就能发热,最后一种是通过锂电池…...

2023数据结构期中测验-2023秋-计算机+未来网络专业
这里写目录标题 选择题函数题6-1 求链式表的表长6-2 逆序数据建立链表6-3 删除单链表偶数节点6-4 求二叉树高度6-5 先序输出叶结点 选择题 2-1 下述程序段的时间复杂度为( ) for(i0; i<n-1; i)for(j0; j<n-1-i…...
解锁内存之谜:从C到Python、Java和Go的内存管理对比
前言 在编程世界中,内存是宝贵的资源,而管理它却是一个复杂的挑战。不同的编程语言以其独特的方式处理内存分配和释放。从C语言的显式malloc和free到Python、Java和Go的自动内存管理,每种语言都有其独特之处。本文将深入探讨各种编程语言中的…...
Redirect:301和302不同场景选择问题
redirect场景,一般来说,会有大量用户在收藏夹里放着你的官网主页。但是用户收藏的url未必会跟着官网url的变动一起自动更新 这个官网主页因为一些其他的原因,需要迁服务器或者换ip等等。所以在换之前要搞一个redirect,把访问引流…...

ChromeDriver谷歌浏览器驱动下载安装与使用最新版118/119/120
ChromeDriver谷歌浏览器驱动下载安装与使用最新版118/119/120 1. 确定Chrome版本 我们首先确定自己的Chrome版本 Chrome设置->关于Chrome 可以看到,当前chrome是最新版本:119.0.6045.124(正式版本) (64 位&#…...

研究生做实验找不到数据集咋办?
做实验找不到数据集咋办?这是很多研究者和开发者都会遇到的问题。数据集是实验的基础,没有合适的数据集,就无法验证模型的性能和效果。那么,有没有什么方法可以快速地找到我们需要的数据集呢?本文将介绍4个常用的数据集搜索平台,希望能够帮助大家解决这个难题。下面以室内…...

docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...