域环境信息采集与利用

课程目标

  1. 掌握域内常用命令
  2. 掌握域内信息收集的方法思路
    当进入内网后,我们首先需要对当前环境进行判断,要考虑如下两个问题:1.我是谁?(确定当前机器的角色)2.位于何处?(当前机器所处的环境)
    为了解决这些问题,及以进一步扩大战果,我们需要进行信息收集。

教材内容

win 7 可以通过文件资源管理使用命令访问服务器 win server R2 2008

image-20241104142836766

image-20241104142850931

image-20241104142905854

使用指令访问远程主机文件资源

net use \\192.168.230.132 /user:ymq P-0p-0P-0p-0

命令分解:

  • net use: 这是一个 Windows 命令,用于管理网络连接(映射网络驱动器、断开连接等)。
  • \\192.168.230.132: 这是目标计算机的 IP 地址或主机名。表示你要连接到这台计算机上的共享资源。
  • /user:ymq: 指定连接时使用的用户名。这里指定了用户名为 ymq
  • P-0p-0P-0p-0: 这是连接时使用的密码。

功能:

这条命令的作用是连接到 IP 地址为 192.168.230.132 的计算机上的共享资源。假设这台计算机上有一个共享文件夹或其他共享资源,你可以通过这个命令来访问它。连接成功后,你可以在“我的电脑”或“资源管理器”中看到这个共享资源,就像访问本地磁盘一样。

注意:

  • 连接成功后,你可以像访问本地文件夹一样访问远程共享资源。
  • 如果你只想临时连接,可以使用 net use * /delete 来断开连接。
  • 如果连接失败,可能是由于网络问题、目标计算机未共享资源、用户名或密码错误等原因。

这条命令通常用于在局域网内共享文件,方便用户访问其他计算机上的文件和文件夹。

image-20241104210705633

image-20241104210636804

一、域内常用命令
  • 判断当前所在域。

      ipconfig /all  # 查看网卡配置信息,本机IP段,所在域
    

    image-20230224163521699

      net config workstation  # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
    

    image-20230224163725708

  • 查看当前存在几个域。

      net view /domain
    

    image-20230224165341973

  • 查看域时间。

      net time /domain
    

    image-20230224163830284

  • 管理域用户的相关操作(需要管理员权限)。

      net user 用户名 密码 /add /domain    # 添加域用户  
      net group "domain admins" 用户名 /add /domain  # 将该用户添加至管理员组中
    
二、信息收集
2.1 本机信息
2.1.1 当前用户信息
whoami /fqdn # 查看当前用户的 FQDN (可分辨名称)
whoami /priv # 查看当前用户拥有的安全特权
whoami /user #显示当前用户的信息以及安全标识符 (SID)。
whoami /all #显示当前用户名、属于的组以及安全标识符(SID) 和当前用户访问令牌的特权

image-20230227214017821

域中常见的用户身份(用户组):

  • Domain Admins :域管理员,拥有对域内的其他成员完全控制的权限。
  • Domain Controllers :域控制器
  • Domain Users : 域用户
  • Domain Computers :域内机器
  • Domain Guests : 域内来宾用户组,低权限
2.1.2 用户列表信息
net user             # 查看本机用户
net user /domain    # 查看域内用户

image-20230227113922252

2.1.3 主机信息收集

通过主机信息判断拿到权限的主机是普通计算器,还是服务器。我们可以通过主机的计算机名称、计算机上的文件和端口开放情况来进行判别。

  • 若主机上有 “C:\inetpub ”,说明其可能安装有 iis 服务,是一台 Web 服务器。
  • 通过开放的端口进行确认,使用命令 netstat 查看主机网络连接状态,若本机监听80、443端口,则可能为Web服务器;若监听53端口,则可能为DNS服务器。
  • 通过主机的计算机名称、计算机描述等信息,例如 dc.woniuxy.com,说明此计算机可能为该域的 DC。
2.1.4 进程列表信息

查看进程列表信息,我们可以知道机器上运行者什么程序软件,有无杀毒软件、安全防护软件、VPN、FTP等服务或软件。方便后续利用,如免杀木马制作、提权等。

  • 使用系统命令 tasklist。

    image-20230227121523643

  • 或使用第三方软件,如 D 盾。

2.1.5 系统信息

收集系统信息,如系统版本、补丁信息等。

  • 使用系统命令 systeminfo 。

    image-20230227121833727

  • 使用 wmic 命令查看全部补丁信息。

      wmic qfe list full
    

    image-20230227122043937

2.2 域信息收集

我们在域中一般收集域用户信息,域控制器信息,域用户登录日志信息,域内所有用户名、全名和备注等信息,域内工作组信息,域管理员账号信息,域内网段划分信息与域内组织单位信息等。

而我们进入一个域环境,刚开始大概率获取的是域内普通用户权限,所以在前期要收集的信息多以域控的地址、域用户或者系统等信息为主。我们可以使用Windows 系统自带的命令收集域基础信息,以下列举一些信息收集的方法。

2.2.1 查找当前域

确定当前环境存在几个域,域的大致结构。常用命令如下:

net view /domain  # 查看当前存在几个域 
net view /domain:域名称 #查看当前域中的所有计算机

image-20230227152215037

2.2.2 查找域控
  1. 通过查看 logonserver 信息找到域控制器。

     set logonserver # 查看客户端登陆到哪台域控制器,简写为 set log
    

    image-20230227180619603

  2. 通过查找 srv 记录,找到域控。

    SRV 记录是域名系统 (DNS) 资源记录。 它用于标识托管特定服务的计算机。 SRV 资源记录用于查找 Active Directory 的域控制器。 常用 nslookup 命令来进行查询,如下:

     nslookup -type=SRV _ldap._tcp.woniuxy.com  # 查找域控制器的轻型目录访问协议 (LDAP) SRV 记录
    

    image-20230227185815572

  3. 使用 nltest 命令查询工作站与域控间的信任关系。

     nltest /dclist:woniuxy.com # 查找dc列表
    

    image-20230227190004164

2.2.3 查找域管理员

在域中若能获取域管理员的权限则可以对域内的其他成员完全控制,不过首先我们找到域管理员用户。我们可以使用 “net group” 命令查找域中的域管理员组成员,如下:

net group "domain admin"  /domain # 查找域中的域管理员组成员

image-20230227191127785

2.3 主机发现

通过主机发现了解当前网络中设备的分布情况,查看内网有没有其他机器等,在域内进行横向渗透的时候也需要收集主机端口和ip信息。

2.3.1 查看路由表
route print   # 打印当前Windows主机上的路由表

image-20230227211111978

2.3.2 查看 ARP 缓存
arp -a  # 查看当前设备上的 arp 缓存记录

image-20230227211416775

2.3.3 使用 ping 探测
for /l %i in (1,1,255) do @ping 192.168.12.%i -w 1 -n 1|find /i "ttl="

image-20230228110910388

三、信息收集工具
3.1 使用 MSF 框架进行信息收集

此处用 msfvenom 制作exe类型的反弹shell木马后直接上传至域用户zhangsan的主机中运行,并用msf监听。

以下展示 meterpreter 模块中使用对应工具进行信息收集:

  1. 枚举域信息

     run post/windows/gather/enum_domain
    

    image-20230228142229473

  2. 展示补丁信息

     run post/windows/gather/enum_patches
    

    image-20230228151631718

  3. 查看用户最近打开文档

     run post/windows/gather/dumplinks
    

    image-20230228152016557

以下 msf 的模块工具需要在中使用,但因为内网一般不和 kali 在一个网段,我们可以使用 MSF 框架中自带的一个路由转发功能,在已经获取 shell 的 meterpreter 的 session 会话中添加一条去往内网的路由,此路由的下一跳转发,即网关,指向这个 session。通过添加路由功能,可以直接使用 MSF 去访问原本不能直接访问的内网资源。

  1. 主机存活探测

     auxiliary/scanner/discovery/arp_sweep ARP     # 通过arp扫描 
     auxiliary/scanner/discovery/udp_sweep UDP     # 通过udp扫描 
     auxiliary/scanner/netbios/nbname NETBIOS # 通过NetBIOS扫描 
     auxiliary/scanner/snmp/snmp_enum SNMP         # 通过SNMP扫描
    

    image-20230228155249329

  2. 端口扫描

     auxiliary/scanner/portscan/syn # 通过 SYN 进行端口扫描 
     auxiliary/scanner/portscan/tcp # 通过 TCP 进行端口扫描 
     auxiliary/scanner/portscan/ack # 通过 ACK 进行端口扫描
    

    image-20230228160153251

3.2 其他域信息收集工具
3.2.1 AdFind
  • 列出域控制器名称:

      AdFind.exe -sc dclist
    

    image-20230228162038235

  • 查看域控版本

      AdFind.exe -schema -s base objectversion
    

    image-20230228162533384

  • 查看所有在线计算机

      AdFind.exe -sc computers_active
    

    image-20230228162725615

  • 查看当前域内所有用户、用户组

      AdFind.exe -users name
    

    image-20230228162942307

  • 查看域管账户

      AdFind.exe -default -f "(&(|(&(objectCategory=person)(objectClass=user))(objectCategory=group))(adminCount=1))" -dn
    

    image-20230228163536950

  • 其他命令

      # 查看指定域(luckysec.cn)内非约束委派主机  
      AdFind.exe -b "DC=luckysec,DC=cn" -f "(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))"  cn  
      
      # 查询指定域(luckysec.cn)内的非约束委派用户  
      AdFind.exe -b "DC=luckysec,DC=cn" -f "(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName
    

课程小结

当获取了一台在域内的 Windows 计算机或服务器权限后,我们接下来尽可能地去收集所能获取到的域的相关信息,收集的域的信息越多,拿下域控的成功率越高。而其中收集域控信息与域管理员信息是最为重要的。

  1. 搭建本节实验环境,完成域内信息收集
  2. 尝试自己去寻找更多域信息收集的方法与工具

更多推荐