psloggedon

1、介绍

使用条件:PSLoggedOn需要启动Remote Registry Service

在 Windows 上使用 net session 可以查看谁使用了本机资源,但不能查看谁在使用远程计算机资源、谁登录了本地或远程计算机,使用 psloggedon 可以查看本地登录的用户和通过本地计算机或远程计算机进行资源登录的用户,这是一种存在的局限性。

PsLoggedOn对本地登录用户的定义是将其配置文件加载到注册表中,因此PsLoggedOn通过扫描 HKEY_USERS 键下的键来确定谁登录。对于名称为用户 SID(安全标识符)的每个密钥, PsLoggedOn 会查找相应的用户名并显示它。为了确定谁通过资源共享登录到计算机, PsLoggedOn使用NetSessionEnum API。请注意,PsLoggedOn将显示您已通过资源共享登录到您查询的远程计算机,因为PsLoggedOn需要登录才能访问远程系统的注册表。

image-20221016184312770

2、psloggedon 下载地址

3、使用用法

1
2
3
4
5
6
7
psloggedon.exe [-] [-l] [-x] [\\computername|username]

- 显示支持的选项和用于输出值的单位。
-l 仅显示本地登录,不显示本地和网络资源登录。
-x 不显示登录时间。
\\computername 指定要列出登录信息的计算机的名称。
Username 指定用户名,在网络中搜索该用户登录的计算机。

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

image-20221013142018112

\\computername 指定要列出登录信息的计算机的名称,查看谁登陆过这台机器

image-20221013142018112 image-20221013142018112

Username 指定用户名,在网络中搜索该用户登录的计算机。

踩坑:计算机得启用网络发现,并且,默认在域内搜索,不需要指定域,直接输入域用户名称即可。

image.png

PVEFindADUser

1、介绍

pveFindADUser.exe 可用于查找 Active Directory 用户登录的位置,枚举域用户,以及查找在 特定计算机上登录的用户,包括本地用户、通过 RDP 登录的用户、用于运行服务和计划任务的用户账 户。运行该工具的计算机需要具有.NET Framework 2.0,并且需要具有管理员权限。

PVEFindADUser 下载地址

2、用法

1
2
3
4
5
-h                    显示帮助信息
-u 检测程序是否有新版本
-current ["username"] -current参数显示域内所有PC上当前登录的用户。如果指定用户名(在引号之间),则仅将显示该特定用户登录的PC
-noping 阻止尝试枚举用户登录名之前对目标计算机执行ping命令
-target 此可选参数允许您指定要查询的主机。如果未指定此-target参数,则将查询当前域中的所有主机。如果决定指定-target,然后指定以逗号分隔的主机名。查询结果将被输出到report.csv文件中

获取域内所有目标计算机上当前登录的所有用户
pveFindADUser.exe -current

image-20221016192522075

指定了用户名(DOMAIN\Username),则显示该用户登录的计算机
pveFindADUser.exe -current “FZM\Lisi”

image-20221016193157427

netview

1.介绍

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

Netview 下载地址

2、用法

1
2
3
4
5
6
7
8
9
-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)

-d 列出域内主机的NetSessionEnum,NetShareEnum,NetWkstaUserEnum

image-20221013142018112

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域名、工作组、系统时间等信息

image-20221016195135590 image-20221016195252632

PowerView 脚本

1、介绍

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 命令

PowerView 脚本下载地址

2、使用

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

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

image-20221016204101110

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:

    根据用户日志查询某域用户登陆过哪些域机器

image-20221016204536485

Empire

不常用,暂时不看,留着坑位