内网学习笔记 | 4、域内信息收集

内网学习笔记 | 4、域内信息收集

1、判断是否存在域ipconfig查看网关 IP 地址、DNS 的 IP 地址、域名、本机是否和 DNS 服务器处于同一网段。

代码语言:javascript复制ipconfig /all代码语言:javascript复制C:\Users\daniel10> ipconfig /all

Windows IP 配置

主 DNS 后缀 . . . . . . . . . . : teamssix.com

DNS 后缀搜索列表 . . . . . . . . : teamssix.com

以太网适配器 Ethernet0:

IPv4 地址 . . . . . . . . . . .. : 192.168.7.110

子网掩码 . . . . . . . . . . . . : 255.255.255.0

默认网关. . . . . . . . . . . . . : 192.168.7.1

DNS 服务器 . . . . . . . . . . . : 192.168.7.7接着使用 nslookup 解析域名的 IP 地址,查看是否与 DNS 服务器为同一 IP

代码语言:javascript复制nslookup teamssix.com代码语言:javascript复制C:\Users\daniel10> nslookup teamssix.com

服务器: UnKnown

Address: 192.168.7.7

名称: teamssix.com

Address: 192.168.7.7系统详细信息代码语言:javascript复制systeminfo代码语言:javascript复制C:\Users\daniel10> systeminfo | findstr 域:

域: teamssix.com当前登录域与域用户代码语言:javascript复制net config workstation代码语言:javascript复制C:\Users\daniel10> net config workstation | findstr 域

工作站域 TEAMSSIX

工作站域 DNS 名称 teamssix.com

登录域 TEAMSSIX判断主域代码语言:javascript复制net time /domain代码语言:javascript复制C:\Users\daniel10> net time /domain

\\dc.teamssix.com 的当前时间是 2021/2/13 20:49:56

命令成功完成。2、收集域内基础信息查看域代码语言:javascript复制net view /domain代码语言:javascript复制C:\Users\daniel10> net view /domain

Domain

-------------------------------------------------------------------------------

TEAMSSIX

命令成功完成。查看域内计算机代码语言:javascript复制net view /domain:domain_name代码语言:javascript复制C:\Users\daniel10> net view /domain:teamssix

服务器名称 注解

-------------------------------------------------------------------------------

\\DANIEL10

\\DANIEL7

\\DC

命令成功完成。查看域内用户组列表代码语言:javascript复制net group /domain代码语言:javascript复制C:\Users\daniel10> net group /domain

这项请求将在域 teamssix.com 的域控制器处理。

\\dc.teamssix.com 的组帐户

-------------------------------------------------------------------------------

*Admins

*Domain Admins

*Domain Computers

*Domain Users

*Enterprise Admins

命令成功完成。查看域用户组信息代码语言:javascript复制net group "Enterprise Admins" /domain代码语言:javascript复制C:\Users\daniel10> net group "Enterprise Admins" /domain

这项请求将在域 teamssix.com 的域控制器处理。

组名 Enterprise Admins

注释 指定的公司系統管理員

成员

-------------------------------------------------------------------------------

Administrator

命令成功完成。查看域密码策略信息代码语言:javascript复制net accounts /domain代码语言:javascript复制C:\Users\daniel10> net accounts /domain

这项请求将在域 teamssix.com 的域控制器处理。

强制用户在时间到期之后多久必须注销?: 从不

密码最短使用期限(天): 1

密码最长使用期限(天): 42

密码长度最小值: 7

保持的密码历史记录长度: 24

锁定阈值: 从不

锁定持续时间(分): 30

锁定观测窗口(分): 30

计算机角色: PRIMARY

命令成功完成。查看域信任信息代码语言:javascript复制nltest /domain_trusts代码语言:javascript复制C:\Users\daniel10> nltest /domain_trusts

域信任的列表:

0: TEAMSSIX teamssix.com (NT 5) (Forest Tree Root) (Primary Domain) (Native)

此命令成功完成3、收集域用户和管理员信息查询域用户列表代码语言:javascript复制net user /domain代码语言:javascript复制C:\Users\daniel10> net user /domain

这项请求将在域 teamssix.com 的域控制器处理。

\\dc.teamssix.com 的用户帐户

-------------------------------------------------------------------------------

admin Administrator daniel10查询域用户详细信息代码语言:javascript复制wmic useraccount get /all代码语言:javascript复制C:\Users\daniel10> wmic useraccount get /all

AccountType Caption Description Disabled Domain FullName InstallDate LocalAccount Lockout Name PasswordChangeable PasswordExpires PasswordRequired SID SIDType Status

512 DANIEL10\Administrator 管理计算机(域)的内置帐户 TRUE DANIEL10 TRUE FALSE Administrator TRUE FALSE TRUE S-1-5-21-1097120846-822447287-3576165687-500 1 Degraded

512 DANIEL10\DefaultAccount 系统管理的用户帐户。TRUE DANIEL10 TRUE FALSE DefaultAccount TRUE FALSE FALSE S-1-5-21-1097120846-822447287-3576165687-503 1 Degraded查询存在的用户代码语言:javascript复制dsquery user代码语言:javascript复制C:\Users\daniel10> dsquery user

"CN=Administrator,CN=Users,DC=teamssix,DC=com"

"CN=Guest,CN=Users,DC=teamssix,DC=com"常用的 dsquery 命令

代码语言:javascript复制dsquery computer - 查找目录中的计算机

dsquery contact - 查找目录中的联系人

dsquery subnet - 查找目录中的子网

dsquery group - 查找目录中的组

dsquery ou - 查找目录中的组织单位

dsquery site - 查找目录中的站点

dsquery server - 查找目录中的域控制器

dsquery user - 查找目录中的用户

dsquery quota - 查找目录中的配额

dsquery partition - 查找目录中的分区

dsquery * - 用通用的 LDAP 查询查找目录中的任何对象4、查找域控制器查看域控器机器名代码语言:javascript复制nltest /DCLIST:teamssix代码语言:javascript复制C:\Users\daniel10> nltest /DCLIST:teamssix

获得域“teamssix”中 DC 的列表(从“\\DC”中)。

dc.teamssix.com [PDC] [DS] 站点: Default-First-Site-Name

此命令成功完成查看域控器主机名代码语言:javascript复制nslookup -type=SRV _ldap._tcp代码语言:javascript复制C:\Users\daniel10> nslookup -type=SRV _ldap._tcp

_ldap._tcp.teamssix.com SRV service location:

priority = 0

weight = 100

port = 389

svr hostname = dc.teamssix.com

dc.teamssix.com internet address = 192.168.7.7代码语言:javascript复制netdom query pdc代码语言:javascript复制C:\Users\daniel10> netdom query pdc

域的主域控制器:

DC

命令成功完成。查看域控器组代码语言:javascript复制net group "domain controllers" /domain代码语言:javascript复制C:\Users\daniel10> net group "domain controllers" /domain

这项请求将在域 teamssix.com 的域控制器处理。

组名 Domain Controllers

注释 在網域所有的網域控制站

成员

-------------------------------------------------------------------------------

DC$

命令成功完成。5、定位域管理员psloggedon在 Windows 上使用 net session 可以查看谁使用了本机资源,但不能查看谁在使用远程计算机资源、谁登录了本地或远程计算机,使用 psloggedon 可以查看本地登录的用户和通过本地计算机或远程计算机进行资源登录的用户。

psloggedon 下载地址:https://docs.microsoft.com/en-us/sysinternals/downloads/psloggedon

代码语言:javascript复制psloggedon.exe [-] [-l] [-x] [\\computername|username]

- 显示支持的选项和用于输出值的单位。

-l 仅显示本地登录,不显示本地和网络资源登录。

-x 不显示登录时间。

\\computername 指定要列出登录信息的计算机的名称。

Username 指定用户名,在网络中搜索该用户登录的计算机。代码语言:javascript复制C:\Users\daniel10> PsLoggedon.exe -l \\192.168.7.7

Users logged on locally:

2021/2/13 20:53:08 TEAMSSIX\AdministratorPVEFindADUserPVEFindADUser 用于查找活动目录用户登录的位置、枚举域用户,以及查找在特定计算机上登录的用户,包括本地用户、通过 RDP 登录的用户、用于运行服务器和计划任务的用户,该工具需要管理员权限。

PVEFindADUser 下载地址:https://github.com/chrisdee/Tools/tree/master/AD/ADFindUsersLoggedOn

代码语言:javascript复制-h 显示帮助信息

-u 检测程序是否有新版本

-current ["username"] -current参数显示每台PC上当前登录的用户在域中。如果指定用户名(在引号之间),则仅将显示该特定用户登录的PC

-noping 阻止尝试枚举用户登录名之前对目标计算机执行ping命令

-target 此可选参数允许您指定要查询的主机。如果未指定此-target参数,则将查询当前域中的所有主机。如果决定指定-target,然后指定以逗号分隔的主机名。查询结果将被输出到report.csv文件中代码语言:javascript复制C:\Users\daniel10> PVEFindADUser.exe -current

[+] Finding currently logged on users ? true

[+] Finding last logged on users ? false

[+] Enumerating all computers...

[+] Number of computers found : 15

[+] Launching queries

[+] Processing host : dc.teamssix.com (Windows Server 2008 R2 Datacenter;Service Pack 1)

- Logged on user : teamssix\administrator

[+] Processing host : daniel7.teamssix.com (Windows 7 专业版;Service Pack 1)

[+] Processing host : daniel10.teamssix.com (Windows 10 专业版)

[+] Report written to report.csvnetviewnetview 是一个枚举工具,使用 WinAPI 枚举系统,利用 NetSessionEnum 寻找登录会话,利用 NetShareEnum 寻找共享,利用 NetWkstaUserEnum 枚举登录的用户,netview 可以查询共享入口和有价值的用户,其绝大部分功能无需管理员权限就可使用。

Netview 下载地址:https://github.com/mubix/netview

代码语言:javascript复制-h 显示帮助信息

-f filename.txt 指定要提取主机列表的文件

-e filename.txt 指定要排除的主机名的文件

-o filename.txt 将所有输出重定向到指定的文件

-d domain 指定要提取主机列表的域。如果没有指定,则从当前域中提取主机列表

-g group 指定搜索的组名。如果没有指定,则在Domain Admins组中搜索

-c 对已找到的共享目录/文件的访问权限进行检查

-i interval 枚举主机之间等待的秒数

-j jitter 应用于间隔的抖动百分比(0.0-1.0)代码语言:javascript复制C:\Users\daniel10> netview.exe -d

[+] Number of hosts: 3

[+] Host: DANIEL10

Enumerating AD Info[+] DANIEL10 - Comment -

[+] D - OS Version - 10.0

[+] DANIEL10 - MSSQL Server

Enumerating IP Info

[+] (null) - IPv4 Address - 192.168.7.110

Enumerating Share Info

Enumerating Session Info

Enumerating Logged-on Users

[+] DANIEL10 - Logged-on - TEAMSSIX\daniel10

[+] Host: DC

Enumerating AD Info[+] DC - Comment -

[+] D - OS Version - 6.1

[+] DC - Domain Controller

Enumerating IP Info

[+] (null) - IPv4 Address - 192.168.7.7

……内容较多故省略……NSE 脚本常用的 NSE 脚本如下:

smb-enum-domains.nse:对域控制器进行信息收集,可以获取主机信息、用户、可使用密码策略的用户等

smb-enum-users.nse:在进行域渗透时,如获取了域内某台主机权限,但权限有限,无法获取更多的域用户信息,可借助此脚本对域控制器进行扫描

smb-enum-shares.nse:遍历远程主机的共享目录

smb-enum-processes.nse:对主机的系统进程进行遍历,通过此信息,可知道目标主机运行着哪些软件

smb-enum-sessions.nse:获取域内主机的用户登陆会话,查看当前是否有用户登陆,且不需要管理员权限

smb-os-discovery.nse:收集目标主机的操作系统、计算机名、域名、域林名称、NetBIOS机器名、NetBIOS域名、工作组、系统时间等信息

NES 脚本下载地址:https://nmap.org/nsedoc/scripts/

代码语言:javascript复制C:\Users\daniel10> nmap --script=smb-os-discovery.nse -p 445 192.168.7.107

Starting Nmap 7.91 ( https://nmap.org ) at 2021-02-21 09:44 CST

Nmap scan report for 192.168.7.107

Host is up (0.00053s latency).

PORT STATE SERVICE

445/tcp open microsoft-ds

Host script results:

| smb-os-discovery:

| OS: Windows 7 Professional 7601 Service Pack 1 (Windows 7 Professional 6.1)

| OS CPE: cpe:/o:microsoft:windows_7::sp1:professional

| Computer name: daniel7

| NetBIOS computer name: DANIEL7\x00

| Domain name: teamssix.com

| Forest name: teamssix.com

| FQDN: daniel7.teamssix.com

|_ System time: 2021-02-21T09:44:33+08:00

Nmap done: 1 IP address (1 host up) scanned in 0.50 secondsPowerView 脚本PowerView 脚本中包含了一系列的 powershell 脚本,信息收集相关的脚本有 Invoke-StealthUserHunter、Invoke-UserHunter 等,要使用 PowerView 脚本需要将 PowerView 文件夹复制到 PowerShell 的 Module 文件夹内, Module 文件夹路径可以通过在 PowerShell 中输入$Env:PSModulePath查看,我这里将其复制到了C:\Program Files\WindowsPowerShell\Modules文件夹内。

接着在 powershell中输入Import-Module PowerView即可导入PowerView,使用Get-Command -Module PowerView可查看已导入的 PowerView 命令

代码语言:javascript复制PS C:\Users\daniel10> Import-Module PowerView

PS C:\Users\daniel10> Get-Command -Module PowerView

CommandType Name Version Source

----------- ---- ------- ------

Alias Find-UserTrustGroup 1.0 PowerView

Alias Get-ComputerProperties 1.0 PowerView

……内容较多故省略……PowerView 脚本下载地址:https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerView

注:在打开上面的下载地址时会看到该项目已被转移到其他项目下,但是当我在使用新版本的 PowerView 脚本时,发现找不到Invoke-StealthUserHunter命令,而旧版本的 PowerView 有Invoke-StealthUserHunter命令

Invoke-StealthUserHunter:只需要进行一次查询,就可以获取域里面的所有用户。其原理为:从user.HomeDirectories中提取所有用户,并对每个服务器进行Get-NetSession获取。因不需要使用Invoke-UserHunter对每台机器进行操作,所以这个方法的隐蔽性相对较高(但涉及的机器不一定全面)。PowerView 默认使用Invoke-StealthUserHunter如果找不到需要的信息,就会使用Invoke-UserHunter.

Invoke-UserHunter:找到域内特定的用户群,接受用户名、用户列表和域组查询,接收一个主机列表或查询可用的主机域名。使用Get-NetSession和Get-NetLoggedon(调用 NetSessionEnum 和 NetWkstaUserEnumAPI )扫描每台服务器并对扫描结果进行比较,从而找出目标用户集,在使用时不需要管理员权限。

代码语言:javascript复制PS C:\Users\daniel10> Invoke-UserHunter

UserDomain : TEAMSSIX

UserName : Administrator

ComputerName : dc.teamssix.com

IP : 192.168.7.7

SessionFrom :

LocalAdmin :

UserDomain : TEAMSSIX

UserName : daniel10

ComputerName : daniel10.teamssix.com

IP : 192.168.7.110

SessionFrom :

LocalAdmin :

UserDomain : TEAMSSIX

UserName : Administrator

ComputerName : daniel7.teamssix.com

IP : 192.168.7.107

SessionFrom :

LocalAdmin :PowerView 中的其他信息收集模块:

Get-NetDomain:获取当前用户所在域名称Get-NetUser:

获取所有用户的详细信息Get-NetDomainController:

获取所有域控制器的信息Get-NetComputer:

获取域内所有机器的详细信息Get-NetOU:

获取域中的OU信息Get-NetGroup:

获取所有域内组和组成员信息Get-NetFileServer:

根据SPN获取当前域使用的文件服务器信息Get-NetShare:

获取当前域内所有的网络共享信息Get-NetSession:

获取指定服务器的会话Get-NetRDPSession:

获取指定服务器的远程连接Get-NetProcess:

获取远程主机的进程Get-UserEvent:

获取指定用户的日志Get-ADObject:

获取活动目录的对象Get-NetGPO:

获取域内所有组的策略对象Get-DomainPolicy:

获取域默认策略或域控制器策略Invoke-UserHunter:

获取域用户登陆的计算机信息及该用户是否有本地管理员权限Invoke-ProcessHunter:

通过查询域内所有的机器进程找到特定用户Invoke-UserEventHunter:

根据用户日志查询某域用户登陆过哪些域机器EmpireEmpire中的user_hunter模块用于查找域管理员登陆的机器,使用 powershell/situational_awareness/network/powerview/user_hunter 模块,可查看哪个用户登陆哪台主机。

代码语言:javascript复制(Empire: listeners) > agents

[*] Active agents:

Name La Internal IP Machine Name Username Process PID Delay Last Seen

---- -- ----------- ------------ -------- ------- --- ----- ---------

3XRCWAB2 ps 192.168.7.7 DC *TEAMSSIX\administrator powershell 2256 5/0.0 2021-02-22 20:39:54

(Empire: agents) > usemodule powershell/powershell/situational_awareness/network/powerview/user_hunter

(Empire: powershell/situational_awareness/network/powerview/user_hunter) > set Agent 3XRCWAB2

(Empire: powershell/situational_awareness/network/powerview/user_hunter) > execute

[*] Tasked 3XRCWAB2 to run TASK_CMD_JOB

[*] Agent 3XRCWAB2 tasked with task ID 1

[*] Tasked agent 3XRCWAB2 to run module powershell/situational_awareness/network/powerview/user_hunter

[*] Valid results returned by 192.168.7.7

……6、查找域管理员进程获取域管理员列表代码语言:javascript复制net group "Domain Admins" /domain代码语言:javascript复制C:\Users\daniel10>net group "Domain Admins" /domain

这项请求将在域 teamssix.com 的域控制器处理。

组名 Domain Admins

注释 指定的域管理员

成员

-------------------------------------------------------------------------------

Administrator

命令成功完成。列出本机的所有进程及进程用户代码语言:javascript复制tasklist /v代码语言:javascript复制C:\Users\daniel10>tasklist /v

映像名称 PID 会话名 会话# 内存使用 状态 用户名 CPU 时间 窗口标题

========================= ======== ================ =========== ============ =============== ================================================== ============ ========================================================================

System Idle Process 0 Services 0 8 K Unknown NT AUTHORITY\SYSTEM 68:35:16 暂缺

System 4 Services 0 924 K Unknown 暂缺 0:24:14 暂缺

svchost.exe 9228 Console 2 2,932 K Unknown TEAMSSIX\daniel10 0:00:00 暂缺

tasklist.exe 10768 Console 2 9,540 K Unknown TEAMSSIX\daniel10 0:00:00 暂缺

……内容过多省略……如果在列出的进程中看到了用户名为管理员用户名的话,便是找到了域管理员进程。

原文链接:https://teamssix.com/year/210224-210341.html

参考链接:

https://blog.csdn.net/qq_36279445/article/details/110647055

https://pingmaoer.github.io/2020/03/31/%E5%86%85%E7%BD%91%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86%E4%BA%8C/

相关推荐

怎么制作纯文字表情包 【 超详细 版】
365提款问题

怎么制作纯文字表情包 【 超详细 版】

🕒 07-16 👁️ 9791
Amazon面试攻略!国内亚马逊求职真实经历分享
网彩365平台下载

Amazon面试攻略!国内亚马逊求职真实经历分享

🕒 10-03 👁️ 6586