Web应急响应

2024年护网将至,最近我将分享一些红蓝对抗的一些技巧,应急响应、信息收集相关的知识概念以及相关技巧。

目录

1. 黑客攻击流程

2. webshell流量特征

1.1.菜刀特征

1.2.冰蝎3.0 :

1.3.冰蝎2.0:

1.4.冰蝎3.11流量特征

1.5.蚁剑:

1.6.哥斯拉:

1.7.哥斯拉4.0.1中JAVA_AES_BASE64特征流量特征:

3. 内存马

4. 检测Webshell方法

5. web查杀最佳实践

6. Webshell防范最强准则


1. 黑客攻击流程

信息探测=>准入/xss点=>获取数据=>破解密码=>登陆后台上传webshell=>提权控制服务器=>渗透内网

网站被植入webshell该怎么办

小码:手动输入的命令

大码:功能比较多

当起web服务时候,不管是什么尽量用较低的权限去启动或者下载,这样黑客在拿到webshell时候,用户权限的等级较低,可以给应急一定的响应事件。

//通过webshell连接数据库
<?php
$servername = "localhost";
$username = "username";
$password = "password";
//创建连接
Sconn = new mysali($servername,$username,$password)
//检测连接
if ($conn->connect_error) {
die("连接失败:“$conn->connect_error);
}
echo"连接成功";
?>

文件包含并执行,什么文件格式都可以,包括txt,下面含有phpinfo();也会运行。

<?php include 'shell.png'?>

如果上传文件,那么是以POST进行传参,日志上看不见上传了什么文件。

2. webshell流量特征

常见webshell管理工具交互流量特征都有哪些?


1、菜⼑特征:PHP 类 WebShell流量中eval函数用于执行传递的攻击 payload,流量参数z0、z1、z2
2、冰蝎3.0:默认内置 16 个 user-agent,content-type为application/octet-stream
3、蚁剑:PHP 类 WebShell流量最中明显的特征为 @ini_set ("display_errors","0");

1.1.菜刀特征


默认的webshell中链接密码都是caidao,ua头为百度爬虫、请求体中存在eavl,base64等特征字符
响应包中包含X@Y、php的webshel中流量参数z0、z1、z2

1.2.冰蝎3.0


默认内置 16 个 user-agent,content-type为application/octet-stream** 
请求包中content-length 为5740或5720(可能会根据Java版本而改变)
**每一个请求头中存在Pragma: no-cache,Cache-Control: no-cache**

1.3.冰蝎2.0:


建立连接后 所有请求 **Cookie的格式都为: Cookie: PHPSESSID=; path=/;**
静态分析:
各种语言的webshell中都会存在**16位数的连接密码**,默认变量为key

1.4.冰蝎3.11流量特征

1、header头顺序是颠倒的
2、发送包是base64,返回包是字节数组,所以会乱码
3、如果冰蝎密码不对,会出现两个连接,第一个是post 第二个是get 

1. content-type为application/octet-stream ,请求包中content-length 为5740或5720(可能会根据Java版本而改变),
每一个请求头中存在Pragma: no-cache,Cache-Control: no-cache
2.异常User-Agent---- 出现WOW64等
3. 频繁访问默认的路径/conn.jsp

1.5.蚁剑:

PHP 类 WebShell流量最中明显的特征为 @ini_set ("display_errors","0");
同时会带有base64编码解码等字符特征, **每个请求体都存在@ini_set(“display_errors”, “0”);
@set_time_limit(0)开头**。并且存在base64等字符,响应包的结果返回格式为 随机数 结果 随机数

1.6.哥斯拉:

不修改User-Agent,User-Agent会类似于Java/1.8.0_121(具体什么版本取决于JDK环境版本)
在请求包的Cookie中有一个非常致命的特征,最后的分号
标准的HTTP请求中最后一个Cookie的值是不应该出现;的

1.6.1.请求包的特征:

1. “pass=”起始
2. 请求包较长 响应包为0
3. 一个tcp包里面有三个http

1.6.2.响应包特征:

整个响应包的结构体征为:md5前十六位+base64+md5后十六位

1.7.哥斯拉4.0.1中JAVA_AES_BASE64特征流量特征:

host头
密码和base64字符串是密码=base64字符串的形式
发送包是密码=bae64字符串的形式,返回包是类base64字符串的格式
1. 对称加密算法:JAVA_AES_BASE64是哥斯拉4.0.1使用的对称加密算法;
因此可以根据哥斯拉4.0.1的流量中是否包含JAVA_AES_BASE64来判断是否为哥斯拉4.0.1攻击流量
2. 长度固定:哥斯拉4.0.1使用JAVA_AES_BASE64算法对数据进行加密后,加密后数据的长度是固定的
因此,可以根据攻击流量的长度是否固定来判断是否为哥斯拉4.0.1攻击流量
3. 常见数据前缀:哥斯拉4.0.1加密的数据在明文数据前会添加特定的前缀;
因此,可以根据攻击流量中是否包含常见的数据前缀来判断是否为哥斯拉4.0.1攻击流量。

3. 内存马

判断是通过什么方法注入的内存马,可以先查看web日志是否有可疑的web访问日志
如果是filter或者listener类型就会有**大量url请求路径相同参数不同的,或者页面不存在但是返回200的**,
查看是否有类似哥斯拉、冰蝎相同的url请求,哥斯拉和冰蝎的内存马注入流量特征与普通webshell的流量特征基本吻合
通过查找**返回200的url路径对比web目录下是否真实存在文件,如不存在大概率为内存马**
如在web日志中并未发现异常,可以排查是否为中间件漏洞导致代码执行注入内存马,
排查中间件的error.log日志查看是否有可疑的报错,根据注入时间和方法根据-
业务使用的组件排查是否可能存在java代码执行漏洞以及是否存在过webshell,排查框架漏洞,反序列化漏洞。

java内存马类型:

filter listener servlet websocket javaagent

4. 检测Webshell方法

webshell是有名字的。

webshell是会在日志里留下痕迹的。

webshell是有属性的

webshell是一种脚本功能的展现

web扫描/爬虫/google hack检测

基于web日志的检测

基于文件属性的检测

基于文件内容的检测(关键字段,例如eval)

4.1. 通过文件名检索webshell

通常情况下hacker会起混淆的文件名,或者和业务名称相关的文件名字
baidu_search.php
asdasdasdasdasd.php
cxhsajhdaksfasg.php

4.2.通过日志来检测webshell

1.部分webshell会将操作的目标参数放置在url参数中

例如:www.nxxiake.com/shell.php?x=whoami

2.日志若可记录refere字段,可以搜索referer字段为空的链接,因为大多数webshell无上级链接,入侵者会直接访问webshell文件

操作思路:搜索文件名、命令、write、exec等参数

搜索referer字段为空的日志条目

通过文件属性检测webshell

1.文件创立日期

2.文件最后修改日期

3.文件目录结构以及md5值

4.特殊目录中的特殊文件

5. web查杀最佳实践

1.目录结构md5校验

2.特征码扫描

3.页面title页面关键字

4.流量,人工识别

6. Webshell防范最强准则

可写的目录不可执行

可执行的目录不可写

权限 用户 tty

chroot(让攻击者以为进入到了根目录)

相关拓展参考链接:

网站被植入Webshell的解决方案-腾讯云开发者社区-腾讯云

webshell网络安全应急响应

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

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

相关文章

LeetCode-56. 合并区间【数组 排序】

LeetCode-56. 合并区间【数组 排序】 题目描述&#xff1a;解题思路一&#xff1a;排序&#xff1f;怎么排&#xff1f;当然是排各个区间的左边界&#xff0c;然后判断下一个边界的左边界与结果数组里面的右边界是否重叠。解题思路二&#xff1a;优化解题思路三&#xff1a;0 题…

MongoDB Atlas维护指南:常见类型、注意事项与窗口设置

为了给Atlas用户更好的产品体验&#xff0c;MongoDB产品团队会进行定期维护。 本文将会介绍&#xff1a; 常见维护项目种类及频率&#xff0c;注意事项维护期间的影响及建议维护窗口设置说明维护告警设置和邮件通知范例 维护窗口常见项目 定期SSL证书轮换软件升级&#xff…

基于单片机16位智能抢答器设计

**单片机设计介绍&#xff0c;基于单片机16位智能抢答器设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机16位智能抢答器设计是一个结合了单片机技术、显示技术、按键输入技术以及声音提示技术的综合性项目。其设计…

【QT】setContextMenuPolicy()函数用法

在Qt中&#xff0c;setContextMenuPolicy() 是一个相当通用的方法&#xff0c;几乎所有的继承自 QWidget 或其派生类的图形用户界面控件都可以使用该方法来设置它们的上下文菜单策略。这意味着&#xff0c;包括但不限于以下常见的Qt GUI控件都能使用 setContextMenuPolicy() 来…

ssm 科研奖励申报管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 ssm 科研奖励申报管理系统是一套完善的信息系统&#xff0c;结合springMVC框架完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用…

Python数据分析与可视化笔记 七 Numpy ndarray

多维数组对象ndarray&#xff0c;常用属性如下所示 import numpy as nparr np.array([[1,2,3],[4,5,6]]) print(arr.shape) #ndarray各维度的长度 print(arr.ndim) #ndarray的维度 print(arr.size) #ndarray中元素的个数&#xff0c;相当于各维度长度的乘积 print(arr.dtyp…

iOS问题记录 - App Store审核新政策:隐私清单 SDK签名(持续更新)

文章目录 前言开发环境问题描述问题分析1. 隐私清单 & SDK签名1.1. 隐私清单 - 数据使用声明1.2. 隐私清单 - 所用API原因描述1.3. SDK签名 2. 即将发布的第三方SDK要求 解决方案最后 前言 前段时间用Flutter开发的iOS App提交了新版本&#xff0c;结果刚过两分钟就收到了…

智慧公厕四大核心能力,赋能城市公共厕所智能化升级

公共厕所是城市基础设施中不可或缺的一部分&#xff0c;但由于传统的公共厕所在建设与规划上&#xff0c;存在一定的局限性&#xff0c;导致环境卫生差、管理难度大、使用体验不佳等问题&#xff0c;给市民带来了很多不便。而智慧公厕作为城市智能化建设的重要组成部分&#xf…

【Linux多线程】生产者消费者模型

【Linux多线程】生产者消费者模型 目录 【Linux多线程】生产者消费者模型生产者消费者模型为何要使用生产者消费者模型生产者消费者的三种关系生产者消费者模型优点基于BlockingQueue的生产者消费者模型C queue模拟阻塞队列的生产消费模型 伪唤醒情况&#xff08;多生产多消费的…

RUST使用crates.io上的依赖完整教程

1.打开crates.io 2.搜索要使用的依赖,如rand 点击包名,进入包详情页面: 添加依赖方法有两种 1.使用cargo命令 2.直接修改Cargo.toml 使用cargo命令操作如下: 在工程目录执行如下命令: cargo add rand 执行完成后如自动向Cargo.toml中添加依赖如下: 手动修改Cargo.toml是…

STM32使用USART发送数据包指令点亮板载LED灯

电路连接&#xff1a; 连接显示屏模块&#xff0c;显示屏的SCL在B10&#xff0c;SDA在B11。 程序目的&#xff1a; 发送LED_ON指令打开板载LED灯&#xff0c;发送LED_OFF关闭板载LED灯&#xff0c;与上一个博客不同&#xff0c;这个实际上是实现串口收发文本数据包。 …

前端学习<二>CSS基础——14-CSS3属性详解:Web字体

前言 开发人员可以为自已的网页指定特殊的字体&#xff08;将指定字体提前下载到站点中&#xff09;&#xff0c;无需考虑用户电脑上是否安装了此特殊字体。从此&#xff0c;把特殊字体处理成图片的方式便成为了过去。 支持程度比较好&#xff0c;甚至 IE 低版本的浏览器也能…

【手册】——mq延迟队列

目录 一、背景介绍二、思路&方案三、过程1.项目为啥用延迟队列&#xff1f;2.项目为啥用三方延迟队列&#xff1f;3.项目中为啥用rabbitmq延迟队列&#xff1f;4.rabbitmq延迟队列的安装5.rabbitmq的延迟队列配置方式5.1.exchange配置5.2.queues配置5.3.exchange和queues的…

企业招聘,应用MBTI来做人才测评招聘测评

每年的校招季都是企业争抢优秀应届毕业生人才的忙碌季。只有精准识人用人&#xff0c;才能不断为企业注入新鲜活力和青春智慧。但是随着毕业生数量越来越多&#xff0c;企业如何在招聘中精准发现自己最需要的人才&#xff0c;成为摆在人力资源部门的大难题。人才测评是各企业都…

【蓝桥杯】矩阵快速幂

一.快速幂概述 1.引例 1&#xff09;题目描述&#xff1a; 求A^B的最后三位数表示的整数&#xff0c;A^B表示&#xff1a;A的B次方。 2&#xff09;思路&#xff1a; 一般的思路是&#xff1a;求出A的B次幂&#xff0c;再取结果的最后三位数。但是由于计算机能够表示的数字…

机器学习周报第35期

目录 一、文献阅读&#xff1a;You Only Look Once: Unified, Real-Time Object Detection1.1 摘要1.2 背景1.3 论文模型1.4 网络设计1.5 YOLO的局限性1.6 实现代码 target 7*7*30 值域为0-1 一、文献阅读&#xff1a;You Only Look Once: Unified, Real-Time Object Detection…

Redis入门到实战-第二十二弹

Redis入门到实战 Redis高可用Sentinel官网地址Redis概述虚拟机配置在主从复制环境的基础上添加Sentinel更新计划 Redis高可用Sentinel 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https://redis.io/Redis概述 Redis是一…

效率工具RunFlow完全手册之基础篇

RunFlow是我们开发的一款全新的效率工具&#xff0c;本文作为RunFlow操作手册和功能演示的基础篇&#xff0c;想了解我们有哪些新特性可以阅读我们的这篇文章&#xff0c;这里就不过多赘述了&#xff0c;我们直接开始。 关键字 关键字是我们的一个核心概念&#xff0c;一个功…

【WEEK5】 【DAY4】数据库操作【中文版】

2024.3.28 Thursday 目录 2.数据库操作2.1.数据库2.1.1.新建数据库&#xff08;右键的方法&#xff09;2.1.2.查询&#xff1a;点击“查询”->“新建查询表”即可输入所需要的语句&#xff0c;点击“运行”&#xff0c;如&#xff1a; 2.2.结构化查询语句分类2.3.数据库操作…

Mac 版 IDEA 中配置 GitLab

一、安装Git 在mac终端输入Git检测指令&#xff0c;可以通过git命令查看Git是否安装过&#xff0c;如果没有则会弹出安装按钮&#xff0c;如果安装过则会输出如下信息。 WMBdeMacBook-Pro:~ WENBO$ git usage: git [--version] [--help] [-C <path>] [-c namevalue][--…