域内渗透

本文详细介绍了域内渗透的相关知识,包括文件查找、域控制器端口、LDAP、本地认证流程、ADSIEDitor、组策略、域内信息搜集、哈希传递等。重点讲解了LDAP的基本概念、使用工具如dsquery、dsget、AdFind、ldifde和csvde进行信息查询,以及获取域用户SID和域控权限的方法,如ms14-068漏洞利用和黄金、白银票据的生成与导入。
摘要由CSDN通过智能技术生成


欢迎扫码关注微信公众号
回复关键字【资料】获取各种学习资料

在这里插入图片描述

文件查找

使用for循环查找文件

参考:

https://blog.csdn.net/qq_29647709/article/details/81474552

命令:

for /r 目录名 %i in (匹配模式1,匹配模式2) do @echo %i 	

比如在当前目录及其子目录下查看所有的txt文件:

for /r . %i in (*.txt) do @echo %i

如果结果太多,可以使用>>输出到文件

for /r C:\windows %i in (*target) do @echo %i >> 1.txt 

注意在搜索目标前面加上通配符星号,不然会出现错误*

域相关知识

域控制器需要开启的端口

[外链图片转存中…(img-6VZJY82z-1597374357643)]

NTDS.DIT

C:\windows\NTDS\ntds.dit

名词解释:

NTDS stands for NT Directory Services
The DIT stands for Directory Information Tree. 

Ntds.dit文件位于DC,该文件中包含所有被该DC控制的主机的名称、配置以及数据表名称信息

官方文档中对AD中几个重要文件的介绍:

https://blogs.msdn.microsoft.com/servergeeks/2014/10/14/active-directory-files-and-their-functions/

如何获得域控的NTDS.dit文件

http://www.4hou.com/technology/10573.html

LDAP

轻量目录访问协议

在AD中使用LDAP名称路径来表示对象在AD数据库中的位置

关于LDAP的一些重要的基本概念

https://ldap.com/basic-ldap-concepts/
  • Directory Servers
    • 目录服务器存储数据的数据库并非关系型数据库,而是树状的
  • Entries
    • 一个LDAP的entry就代表一个实体的信息的集合,每一个entry由三个重要成分组成:
      • distinguished name
      • collection of attributes
      • collection of object classes
    • 下面对这三个重要成分进行详细说明
  • ** DN --> distinguished name** and RDN --> Relative distinguished name
    • 用于在DIT(directory information tree)中唯一标识一个entry的位置
      • DN之于LDAP就相当于路径之于文件系统
    • DN由0个或多个RDN组成,每个RDN由0个或者多个(通常是1个)属性-值对组成,比如:uid=john.doe如果RDN有多个键值对就按下面的表示方式:givenName=John+sn=Doe,使用+进行分割
    • 特殊的DN由0个RDN构成,这种DN表示一个特殊的entry,叫做root DSE,参考文档https://ldap.com/dit-and-the-ldap-root-dse/,该DN提供关于directory Server的内容和容量信息
    • 对于由多个RDN构成的DN,比如:uid=john.doe,ou=People,dc=example,dc=com,它有4RDN,每个RDN都代表一个层级,使用降序排列,越靠后的距离root最近,比如上面的uid=john.doe,ou=People,dc=example,dc=com,它的父一级DN应该是ou=People,dc=example,dc=com
  • Attributes
    • attribute拥有entry的数据,每个Attributes都有类型,0个或多个Attributes选项以及一个包含了值的集合构成实际的数据
    • 所有的Attributes类型都有一个OIDobject identifier
  • Object Class
    • 用于表示attribute的类型,每一个entry也有一个object class,用来表明它表示该entry是关于什么的信息(人、组、设备、服务等)

本地认证流程:

winlogon.exe -> 接收用户输入 -> lsass.exe -> (认证)

NTLM 认证过程:

  1. 客户端向服务器发送用户信息(例:用户名 user)请求
  2. 服务端接受请求,生成 16 位随机数 Challenge,用 user 对应的 NTLM Hash 加密 Challenge,生成 Challenge1,然后将 Challenge 发给客户端
  3. 客户端接收 Challenge,用 user 对应的 NTLM Hash 加密 Challenge 生成 Response 发给服务器端
  4. 服务端对比接收的 Response 和 Challenge1 相同,则认证成功

由上述过程可知认证过程中,只涉及到本地的用户名(user)和对应的 NTLM Hash,因此如果在知道用户名和对应的 NTLM Hash 而不知道明文密码时,也能完成 NTML 认证,即哈希传递

哈希传递的工具:

Smbmap、CrackMapExec(没安成)、Mimikatz 、MSF

这些工具的使用参见#哈希传递

ADSI编辑器

参考文档:

在该编辑器中,可以看到四项

[外链图片转存中…(img-KlRX5DsQ-1597374357645)]

RootDSE、默认命名上下文(就是当前电脑登录的域)、Configuration、Schema

RootDSE

https://docs.microsoft.com/zh-cn/windows/desktop/ADSchema/rootdse

其中RootDSE被定义成目录服务器的目录数据树的rootRootDSE不属于任何命名空间,它只是用来提供Directory Server相关的信息,它的属性值都是用于表示目录服务器相关信息的

组策略

https://blog.csdn.net/kamroselee/article/details/793592
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值