内网渗透 --- 之杀软工具探测

目录

内网杀软探测与应对实战方案

一、总体思路

二、探测阶段——杀软工具与手法

2.1 进程与服务检测

2.2 注册表与文件系统检测

2.3 Nmap 与 NSE 脚本扫描

三、处理阶段——探测到杀软后的应对措施

3.1 分析评估

3.2 应对策略

四、判断与验证——注入 webshell 后如何使用 tasklist/svc 检查

4.1 使用 tasklist/svc 命令

4.2 使用 svc 命令查看服务状态

4.3 实际工作场景示例

五、总结


内网杀软探测与应对实战方案

一、总体思路

  1. 信息收集与杀软探测

    • 对内网主机进行全面扫描,确认是否安装杀毒软件(AV)、端点检测工具(EDR)等安全产品。
    • 利用多种工具(如 WMIC、tasklist、注册表查询、Nmap NSE 脚本等)收集目标主机上运行的进程、服务和软件信息,从而判断是否存在杀软及其版本、运行状态。
  2. 分析与应对

    • 根据检测结果,评估杀软对后续操作(如上传工具、执行提权、反弹 shell 等)的干扰风险。
    • 制定绕过方案:采用内存执行、代码混淆、反射 DLL 注入等技术,降低在磁盘生成可疑文件的风险,并尝试绕过杀软扫描。
  3. 后续操作与判断

    • 在注入 webshell 后,利用 tasklist 和 svc 命令检查目标主机上运行的进程与服务,判断杀软是否仍在运行或是否对后续操作产生影响。
    • 根据检测到的杀软服务(例如 Windows Defender 的 MsMpEng.exe、第三方杀软进程如 McAfeeSvc.exe、AVP.exe 等),决定后续是否需要进一步绕过或禁用部分安全功能(在合法测试中模拟情景)。

二、探测阶段——杀软工具与手法

2.1 进程与服务检测

  • 使用 tasklist 命令:
    在获得初步反弹 shell 后,执行:

    tasklist /svc
    

    该命令会列出所有进程及其对应的服务。观察输出中是否有杀软常见进程,例如:

    • Windows Defender:MsMpEng.exe
    • McAfee:McAfeeSvc.exe、McUICnt.exe
    • Kaspersky:AVP.exe
    • Symantec:SymDaemon.exe
    • Trend Micro:TmCCSrv.exe
  • 使用 WMIC 查询:
    通过 WMIC 获取安装的软件列表:

    wmic product get name,version | findstr /I "Defender McAfee Kaspersky Symantec"
    

    或通过远程方式查询目标机器的信息:

    wmic /node:"<目标IP>" product where "name like '%Defender%'" get name,version
    

2.2 注册表与文件系统检测

  • 注册表查询:
    利用 reg query 命令查询常见杀软的安装信息:

    reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s | findstr /I "Defender McAfee Kaspersky"
    

    同时检查 64 位系统下的 WOW6432Node 分支。

  • 文件查找:
    检查常见杀软安装目录下是否存在特定文件。例如 Windows Defender 的配置文件、McAfee 的更新日志文件等。

2.3 Nmap 与 NSE 脚本扫描

  • 利用 Nmap:
    使用带有杀软特定 NSE 脚本的 Nmap 扫描,可以识别一些常见杀毒软件对外开放的管理接口或更新服务。例如:
    nmap -sV --script http-title,ssl-cert -p 80,443 <目标IP>
    
    部分 NSE 脚本可能会返回关于安全产品的 Banner 信息。

三、处理阶段——探测到杀软后的应对措施

3.1 分析评估

  • 确定杀软类型与版本:
    根据 tasklist、WMIC、注册表等信息,确定目标主机上运行的杀软产品及其版本、实时保护状态。
  • 评估干扰风险:
    判断杀软是否启用了实时监控、文件扫描、行为检测等机制。如果杀软检测严格,上传文件、执行新程序、反弹 shell 等操作可能被拦截或清除。

3.2 应对策略

  • 内存执行技术:

    • 尽量使用内存中执行的方法,如 PowerShell 反弹 shell、反射式 DLL 注入等,避免在磁盘上生成可疑文件。
    • 例如利用 PowerShell Base64 编码命令执行:
      powershell -EncodedCommand <Base64字符串>
      
  • 代码混淆与加密:

    • 对上传的 Payload 进行代码混淆,或利用自定义解密器在内存中解密并执行,降低 AV 签名检测风险。
  • 调整执行时机与间隔:

    • 避免在杀软高负载或实时扫描期间执行高风险操作,适当延时执行。
  • 禁用/绕过策略(在合法测试场景中):

    • 在获取更高权限后,如果目标环境允许测试,可以尝试临时停止杀软服务:
      net stop "Windows Defender Service"
      
      但此操作需谨慎使用,因会留下明显痕迹。

四、判断与验证——注入 webshell 后如何使用 tasklist/svc 检查

4.1 使用 tasklist/svc 命令

  • 执行命令:
    在已注入 webshell 后,执行以下命令检查目标主机的进程列表和服务关联:
    tasklist /svc
    
  • 判断依据:
    • 查看杀软进程: 如发现 MsMpEng.exe(Windows Defender)、AVP.exe(Kaspersky)、McAfeeSvc.exe 等是否正在运行。
    • 观察服务状态: 确认杀软相关服务是否处于启动状态,以及是否对新上传的可疑文件进行扫描。
    • 对比时间戳与 CPU 占用: 如果刚刚执行了文件上传或反弹 shell命令,观察这些进程是否突然出现异常的 CPU 占用或日志记录,可能表明杀软干预了操作。

4.2 使用 svc 命令查看服务状态

  • 查看服务:
    通过 Windows 的 svc 命令或 SC 命令,可以列出当前正在运行的服务:
    sc query type= service state= all | findstr /I "Defender McAfee Kaspersky"
    
    • 通过该命令判断目标主机杀软服务的运行状态(如 RUNNING、STOPPED 等)。

4.3 实际工作场景示例

案例描述:
在一次内网渗透测试中,测试人员通过注入 webshell 进入目标主机后,首先执行 tasklist /svc 命令,发现系统中运行着 “MsMpEng.exe” 和 “DefenderUpdateService” 服务,表明 Windows Defender 正在启用实时保护。
为避免操作被杀软干扰,测试人员进一步采用 PowerShell 内存执行技术上传了混淆后的反弹 shell Payload,并利用 Base64 编码命令执行,从而成功在内存中执行 Payload。
同时,利用 sc query 命令确认 Windows Defender 服务状态为 RUNNING,但由于内存中执行的方式未在磁盘留下文件,成功规避了杀软的文件扫描。
随后,测试人员通过对比任务列表和服务状态,判断目标主机杀软对当前操作的干扰较小,从而继续进行后续的提权和横向移动。

4.4 判断进程是否为杀软工具

  • 想要这个本地化部署判断杀毒软件得工具,私聊我。

五、总结

  1. 探测阶段:

    • 通过 tasklist、WMIC、注册表查询、Nmap NSE 脚本等手段,全面识别目标内网主机上安装的杀软及其运行状态。
  2. 处理阶段:

    • 根据检测结果,评估杀软对后续上传、反弹 shell、提权操作的影响。
    • 采用内存执行、代码混淆、延时执行等策略来绕过杀软检测,并在合法测试范围内(或在红队演练中)视情况暂时禁用部分服务。
  3. 判断验证:

    • 在注入 webshell 后,通过 tasklist /svc 和 sc query 命令检查关键杀软进程和服务的状态,判断是否存在干扰,并确认操作是否成功执行。

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

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

相关文章

(2025亲测可用)Chatbox多端一键配置Claude/GPT/DeepSeek-网页端配置

1. 资源准备 API Key&#xff1a;此项配置填写在一步API官网创建API令牌&#xff0c;一键直达API令牌创建页面创建API令牌步骤请参考API Key的获取和使用API Host&#xff1a;此项配置填写https://yibuapi.com/v1查看支持的模型请参考这篇教程模型在线查询 2. ChatBox网页版配…

【Pandas】pandas DataFrame keys

Pandas2.2 DataFrame Indexing, iteration 方法描述DataFrame.head([n])用于返回 DataFrame 的前几行DataFrame.at快速访问和修改 DataFrame 中单个值的方法DataFrame.iat快速访问和修改 DataFrame 中单个值的方法DataFrame.loc用于基于标签&#xff08;行标签和列标签&#…

Redis存储“大数据对象”的常用策略及StackOverflowError错误解决方案

Hi&#xff0c;大家好&#xff0c;我是灰小猿&#xff01; 在一些功能的开发中&#xff0c;我们一般会有一些场景需要将得到的数据先暂时的存储起来&#xff0c;以便后面的接口或业务使用&#xff0c;这种场景我们一般常用的场景就是将数据暂时存储在缓存中&#xff0c;之后再…

【Python】读取xyz坐标文件输出csv文件

Python读取xyz坐标文件输出csv文件 import sys import numpy as np import pandas as pd from tqdm import tqdm import cv2 import argparsedef read_xyz(file_path):with open(file_path, "r") as f: # 打开文件data f.readlines() # 读取文件datas []for …

leetcode 139. Word Break

这道题用动态规划解决。 class Solution { public:bool wordBreak(string s, vector<string>& wordDict) {unordered_set<string> wordSet;for(string& word:wordDict){wordSet.insert(word);}int s_len s.size();//s的下标从1开始起算&#xff0c;dp[j]…

驱动开发硬核特训 · Day 11(下篇):从 virtio_blk 看虚拟总线驱动模型的真实落地

&#x1f50d; B站相应的视屏教程&#xff1a; &#x1f4cc; 内核&#xff1a;博文视频 - 总线驱动模型实战全解析 敬请关注&#xff0c;记得标为原始粉丝。 &#x1f527; 在上篇中&#xff0c;我们已经从理论视角分析了“虚拟总线驱动模型”在 Linux 驱动体系中的独特定位。…

音视频转换器 AV 接口静电保护方案

方案简介 音视频转换器是将音视频&#xff08;AV&#xff09;信号转换成其他格式或信号类型的设备或软件。 它能够实现大多数视频、音频以及图像格式之间的转换&#xff0c;包括但不限于 RMVB、AVI、 MP4、MOV 等常见格式&#xff0c;同时也支持将不同采样率、位深度、声道数…

AI agents系列之全从零开始构建

在我们上一篇博客文章中&#xff0c;我们全面介绍了智能代理&#xff0c;讨论了它们的特性、组成部分、演变过程、面临的挑战以及未来的可能性。 这篇文章&#xff0c;咱们就来聊聊怎么用 Python 从零开始构建一个智能代理。这个智能代理能够根据用户输入做出决策&#xff0c;…

【Python爬虫】详细工作流程以及组成部分

目录 一、Python爬虫的详细工作流程 确定起始网页 发送 HTTP 请求 解析 HTML 处理数据 跟踪链接 递归抓取 存储数据 二、Python爬虫的组成部分 请求模块 解析模块 数据处理模块 存储模块 调度模块 反爬虫处理模块 一、Python爬虫的详细工作流程 在进行网络爬虫工…

Kotlin 集合过滤全指南:all、any、filter 及高级用法

在 Kotlin 中&#xff0c;集合过滤是数据处理的核心操作之一。无论是简单的条件筛选&#xff0c;还是复杂的多条件组合&#xff0c;Kotlin 都提供了丰富的 API。本文将详细介绍 filter、all、any、none 等操作符的用法&#xff0c;并展示如何在实际开发中灵活运用它们。 1. 基础…

爬虫:一文掌握 curl-cffi 的详细使用(支持 TLS/JA3 指纹仿真的 cURL 库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、curl-cffi 概述1.1 curl-cffi介绍1.2 主要特性1.3 适用场景1.4 使用 curl-cffi 的注意事项1.5 与 requests 和 pycurl 对比1.6 curl-cffi 的安装二、基本使用2.1 同步请求2.2 异步请求三、高级功能3.1 模拟浏览器指…

AllData数据中台升级发布 | 支持K8S数据平台2.0版本

&#x1f525;&#x1f525; AllData大数据产品是可定义数据中台&#xff0c;以数据平台为底座&#xff0c;以数据中台为桥梁&#xff0c;以机器学习平台为中层框架&#xff0c;以大模型应用为上游产品&#xff0c;提供全链路数字化解决方案。 ✨杭州奥零数据科技官网&#xf…

dnf install openssl失败的原因和解决办法

网上有很多编译OpenSSL源码(3.x版本)为RPM包的文章&#xff0c;这些文章在安装RPM包时都是执行rpm -ivh openssl-xxx.rpm --nodeps --force 这个命令能在缺少依赖包的情况下能强行执行安装 其实根据Centos的文档&#xff0c;安装RPM包一般是执行yum install或dnf install。后者…

从入门到进阶:React 图片轮播 Carousel 的奇妙世界!

全文目录&#xff1a; 开篇语&#x1f590; 前言✨ 目录&#x1f3af; 什么是图片轮播组件&#xff1f;&#x1f528; 初识 React 中的轮播实现示例代码分析 &#x1f4e6; 基于第三方库快速实现轮播示例&#xff1a;用 react-slick优势局限性 &#x1f6e0;️ 自己动手实现一个…

2025第十六届蓝桥杯PythonB组部分题解

一、攻击次数 题目描述 小蓝操控三个英雄攻击敌人&#xff0c;敌人初始血量2025&#xff1a; 第一个英雄每回合固定攻击5点第二个英雄奇数回合攻击15点&#xff0c;偶数回合攻击2点第三个英雄根据回合数除以3的余数攻击&#xff1a;余1攻2点&#xff0c;余2攻10点&#xff0…

新手宝塔部署thinkphp一步到位

目录 一、下载对应配置 二、加载数据库 三、添加FTP​ 四、上传项目到宝塔​ 五、添加站点​ 六、配置伪静态 七、其他配置 开启监控 八、常见错误 一、打开宝塔页面&#xff0c;下载对应配置。 二、加载数据库 从本地导入数据库文件 三、添加FTP 四、上传项目到宝塔…

2025年,HarmonyOS认证学习及考试

HarmonyOS应用开发者认证考试 基础认证 通过系统化的课程学习&#xff0c;熟练掌握 DevEco Studio&#xff0c;ArkTS&#xff0c;ArkUI&#xff0c;预览器&#xff0c;模拟器&#xff0c;SDK 等 HarmonyOS 应用开发的关键概念&#xff0c;具备基础的应用开发能力。 高级认证…

3-1 Git分布式版本控制特性探讨

Git 的分布式版本控制特性是其核心优势之一,它使 Git 在版本管理方面具有高度的灵活性、可靠性和高效性。以下从多个方面来理解这一特性: 分布式存储 在 Git 中,每个开发者的本地机器上都拥有完整的版本库,包含了项目的所有历史记录和元数据。这与集中式版本控制系统(如…

flutter 桌面应用之右键菜单

​在 Flutter 桌面应用开发中&#xff0c;context_menu 和 contextual_menu 是两款常用的右键菜单插件&#xff0c;各有特色。以下是对它们的对比分析&#xff1a;​ context_menu 集成方式&#xff1a;​通过 ContextMenuArea 组件包裹目标组件&#xff0c;定义菜单项。​掘金…

Tips:用proxy解决前后端分离项目中的跨域问题

在前后端分离项目中&#xff0c;"跨域问题"是浏览器基于同源策略&#xff08;Same-Origin Policy&#xff09;对跨域请求的安全限制。当你的前端&#xff08;如运行在 http://localhost:3000 &#xff09;和后端&#xff08;如运行在 http://localhost:8080 &#…