H0e4a0r1t的小屋

域渗透常用命令

字数统计: 1.5k阅读时长: 5 min
2019/11/11 Share

1. 域渗透常用指令

以下所有指令均为在域成员主机上执行的结果:

得到域控制器的IP:dsquery server ==》 ping 主机名获取域控IP

1.png

得到域控制器主机名:net group “domain controllers” /domain,注意通过该指令得到的机器名后面会多一个$符号

2.png

查询域管理用户:net group “domain admins” /domain

3.png

查看域用户:net user /domain

4.png

这里有一个特殊用户叫做krbtgt,该用户是用于Kerberos身份验证的帐户,获得了该用户的hash,就可以伪造票据进行票据传递攻击了,此外,还有以下几个常用指令:

查询当前登陆域:net config workstation

5.png

查询域密码策略:net accounts /domain

6.png

查看补丁信息:wmic qfe

查看操作系统类型:wmic os

总结:常用域渗透命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
* net use
* net view
* tasklist /v
* ipconfig /all
* net group /domain 获得所有域用户组列表
* net group “domain admins” /domain 获得域管理员列表
* net group “enterprise admins” /domain 获得企业管理员列表
* net localgroup administrators /domain 获取域内置administrators组用户(enterprise admins、domain admins)
* net group “domain controllers” /domain 获得域控制器列表
* net group “domain computers” /domain 获得所有域成员计算机列表
* net user /domain 获得所有域用户列表
* net user someuser /domain 获得指定账户someuser的详细信息
* net accounts /domain 获得域密码策略设置,密码长短,错误锁定等信息
* nltest /domain_trusts 获取域信任信息
* 查询域内计算机:net view /domain:XX
* 查询域控制器:net time /domain
* 查询所有域控制器:dsquery server
例:dsquery server -domain super.com | dsget server -dnsname -site
(搜索域内所有域控制器并显示他们的DNS主机名和站点名称)
* 查询域内计算机:dsquery computer
例:dsquery computer domainroot -name admin* -limit 10
(搜索域内名称以”admin”开头的10台机器)
* 查询域用户:dsquery user
例:dsquery user domainroot -name admin* -limit 10
(搜索域内以”admin” 开头的10个用户)
* 查询域内联系人:dsquery contact
例:dsquery contact domainroot -name admin* -limit 10
(搜索域内以admin开头的10个联系人)
* 查询域内子网:dsquery subnet
* 查询域内用户组:dsquery group
例:dsquery group dc=super,dc=com |more
* 搜索在DC=SUPER,DC=COM 域中的所有组
* 查询域内组织单位:dsquery ou
* 查询域内站点: dsquery site
例:dsquery site -o rdn (搜索域中所有站点的名称)
注:-limit 参数不指定查询数量,则默认显示前100条结果

2. SPN扫描

不同于常规的tcp/udp端口扫描,由于spn本质就是正常的Kerberos请求,所以扫描是非常隐蔽,日前针对此类扫描的检测暂时也比较少。

大部分win系统默认已自带spn探测工具即:setspn.exe

此操作无需管理权限

域内机器执行,可完整查出当前域内所有spn

1
setspn -T target.com -Q */* q

3. 定位域控

查询dns解析记录

若当前主机的dns为域内dns,可通过查询dns解析记录定位域控。

1
nslookup -type=all _ldap._tcp.dc._msdcs.h0e4a0r1t.com

7.png

SPN扫描

在SPN扫描结果中可以通过CN=OWA2013,OU=Domain Controllers,DC=rootkit,DC=org来进行域控的定位。

net group

1
net group "domain controllers" /domain

8.png

端口识别

扫描内网中同时开放389和53端口的机器。

1
2
3
4
5
6
7
端口:389
服务:LDAP、ILS
说明:轻型目录访问协议和NetMeeting Internet Locator Server共用这一端口。

端口:53
服务:Domain Name Server(DNS)
说明:53端口为DNS(Domain Name Server,域名服务器)服务器所开放,主要用于域名解析,DNS服务在NT系统中使用的最为广泛。通过DNS服务器可以实现域名与IP地址之间的转换,只要记住域名就可以快速访问网站。

域内关键组

比如在拿到域控后可以通过重点关注关键部门人员的机器来得到更多的信息。

1566980640086

以上图为例,我们可以重点关注和监控运维部的用户机器,通常他们的机器上存在大量内网网络拓扑和网络构架信息或者是一些重要的密码本。

AdFind

真的是难找,连官网都下了 :)

下载地址:https://github.com/h0e4a0r1t/ADFind/blob/master/AdFind.zip

常用命令如下:

列出域控制器名称:

1
AdFind -sc dclist

查询当前域中在线的计算机:

1
AdFind -sc computers_active

查询当前域中在线的计算机(只显示名称和操作系统):

1
AdFind -sc computers_active name operatingSystem

查询当前域中所有计算机:

1
AdFind -f "objectcategory=computer"

查询当前域中所有计算机(只显示名称和操作系统):

1
AdFind -f "objectcategory=computer" name operatingSystem

查询域内所有用户:

1
AdFind -users name

查询所有GPO:

1
AdFind -sc gpodmp

域渗透流程

  1. ipconfig /all 查看计算机名、IP地址、子网掩码、DNS服务器以及域的名字
  2. net user /domain 获取域中所有的用户名单
  3. net view /domain 查看内网中有多少个域
  4. net group “domain admins” /domain 获取域管理员列表
  5. net user 域用户 /domain 获取指定域用户的详细信息
  6. net view 列出域内计算机列表,刺探内网机器分布情况
  7. nbtstat -a 域用户 || ping 域用户 获取域用户对应的IP地址
  8. 上一步可探测出DNS服务器,若要证明DNS服务和域控是否为同一台机器,ping 域用户.local
  9. arp -a 查看内网有哪些机器通讯

骚技巧

  1. net time /domain 查看域控服务器时间,写入计划任务执行木马

  2. 普通域用户以管理员用户权限运行指定程序:runas /noprofile /user:h0e4a0r1t.com\administrator cmd(第一次运行需要输入密码,所以前提是知道域控的用户密码)(可以往没有权限的目录中写木马)

    RUNAS 用法: RUNAS [ [/noprofile | /profile][/env] [/savecred | /netonly] ] /user: program

未完待续……

CATALOG
  1. 1. 1. 域渗透常用指令
  2. 2. 总结:常用域渗透命令
  3. 3. 2. SPN扫描
  4. 4. 3. 定位域控
    1. 4.1. 查询dns解析记录
    2. 4.2. SPN扫描
    3. 4.3. net group
    4. 4.4. 端口识别
  5. 5. 域内关键组
  6. 6. AdFind
  7. 7. 域渗透流程
  • 未完待续……