内网渗透学习(四)

好几天没学内网了,回顾一下内网三主要是在本地计算机组中收集信息,今天要学的是如何在域内收集信息。本次实验是同时在本地组用户和域用户共同实验的。

判断是否存在域

ipconfig命令

查看网关IP地址、DNS的IP地址、域名、本机是否和DNS服务器处于同一网段的信息

ipconfig /all

内网渗透学习(四)_第1张图片

可以通过nslookup或者直接ping来解析域名的IP地址

nslookup可以判断域控DNS服务器是否在同一台服务器上。

查看系统详细信息

systeminfo

内网渗透学习(四)_第2张图片

登录服务器”为域控。如果域为一个域名如上"god.org",则说明当前服务器在域内,但是如果遇到域为“WORKGROUP”,表示当前服务器不在域内,如下。

                                                                                                                                                                                                                    

 查询当前登录域和登录用户的信息

net config workstation

内网渗透学习(四)_第3张图片

工作站域DNS名称” 即为域名,同理如果是WORKGROUP表示为非域环境,“登录域” 用于判断当前登录用户是域用户还是本地用户。 

内网渗透学习(四)_第4张图片

判断主域

net time /domain

不存在域:

存在域,且当前用户是域用户:

收集域内基础信息

查询域

net view /domain

内网渗透学习(四)_第5张图片

查询域内所有计算机 

net view /domian:域

内网渗透学习(四)_第6张图片

可以看到域内有三台主机,分别是\\DC\\OWA\\STU1

查询域内所有用户组列表

net group /domain

内网渗透学习(四)_第7张图片

内网渗透学习(四)_第8张图片

查询所有域成员计算机列表 

net group "domain computers" /domain

内网渗透学习(四)_第9张图片

获取域密码信息

net accounts /domain

内网渗透学习(四)_第10张图片

获取域信任信息

nltest /domain_trusts

这个是第一次说到的域和域之间会通过信任关系建立连接。

查找域控 

查看域控的机器名

nltest /DCLIST:域(GOD)
netdom query pdc

内网渗透学习(四)_第11张图片

 一般DC是域控,但是并不排除我为了误导你故意把一个普通域用户设置为DC然后把域控名设置如上“OWA”。所以可以使用nltest这个命令查询一下。

查看域控的主机名

Nslookup -type=SRV _ldap._tcp

内网渗透学习(四)_第12张图片

主机名为“owa”,小写的域控机器名。

查看域控组 

这个上面提到过

net group "Domain Controllers" /domain

内网渗透学习(四)_第13张图片

虽然我的虚拟机只设置了一台DC域控,但在内网渗透第一篇文章我就写了,一个域内一般存在两台DC,有一台是备用的,防止服务器瘫痪整个域失去域控。

获取域内的用户和管理员的信息

向域控制器进行查询用户列表

net user /domain

内网渗透学习(四)_第14张图片

获取域内用户的详细信息

wmic useraccount get /all

这个看的头疼

内网渗透学习(四)_第15张图片

查看存在的用户

dsquery user

内网渗透学习(四)_第16张图片

可以看到域内存在5个用户。

常用的dsquery命令如下:

dsquery computer 查找目录中的计算机
dsquery contact 查找目录中的联系人
dsquery subnet  查找目录中的子网
dsquery group  查找目录中的组
dsquery ou 查找目录中的组织单位
dsquery site  查找目录中的站点
dsquery server 查找目录中的 AD DC/LDS 实例
dsquery user 查找目录中的用户
dsquery quota 查找目录中的配额规定
dsquery partition 查找目录中的分区

查询本地管理员组用户

net localgroup administrators

内网渗透学习(四)_第17张图片

查询域管理员用户

net group "domain admins" /domain

内网渗透学习(四)_第18张图片

查询管理员用户组

net group "Enterprise Admins" /domain

内网渗透学习(四)_第19张图片

定位域管理员

psloggedon.exe

在Windows平台上,可以执行“net session”查看谁使用了本机资源,但是没有命令可以查看谁在使用远程计算机资源、谁登录了本地或远程计算机。使用psloggedon.exe可以查看本地登录的用户和通过本地计算机或远程计算机的资源登录的用户。

psloggedon 下载地址:PsLoggedOn - Windows Sysinternals | Microsoft Docs

psloggedon.exe [-] [-l] [-x] [\\computername | username]

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

内网渗透学习(四)_第20张图片

内网渗透学习(四)_第21张图片

 

PVEFindADUser.exe

PVEFindADUser.exe可用于查找活动目录用户登录的位置、枚举域用户,以及查找坐在特定计算机上登录的用户,包括本地用户、通过RDP登录的用户、用于运行服务和计划任务的用户。运行该工具需要管理员权限。

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

参数使用:

* -h: 显示帮助信息。
* -u:检查程序是否有新版本。
* -current["username"]: 如果仅指定了 -current参数,将获取目标计算机上当前登录的所有用户。如果指定了用户名,则显示该用户登录的计算机。
* -last["name"]: 如果仅指定了 -last参数,将获取目标计算机的最后一个登录用户。如果指定了用户名,则显示此用户上次登录的计算机。
* -noping: 阻止尝试枚举用户登录名之前对目标计算机执行ping命令
* -target: 用于指定要查询的主机。如果未指定此-target参数,则将查询当前域中的所有主机。如果决定指定-target,然后指定以逗号分隔的主机名。查询结果将被输出到report.csv文件中。

内网渗透学习(四)_第22张图片

netview 

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

Netview 下载地址:GitHub - mubix/netview: Netview enumerates systems using WinAPI calls

netview.exe <参数>

* -h : 显示帮助信息
* -f filename.txt : 指定要提取主机列表的文件。
* -e filename.txt : 指定要排除的主机名的文件。
* -o filename.txt : 将所有输出重定向到指定的文件。
* -d domain : 指定要提取主机列表的域。如果没有指定,则从当前域中提取主机列表。
* -g group : 指定搜索的组名。如果没有指定,则在Domain Admins组中搜索。
* -c : 对已找到的共享目录/文件的访问权限进行检查。

内网渗透学习(四)_第23张图片

Nmap 的 NSE 脚本 

NES 脚本下载地址:NSEDoc Reference Portal: NSE Scripts — Nmap Scripting Engine documentation

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

内网渗透学习(四)_第24张图片

 

查找域管理进程

本机检查

1、获取管理员列表

net group "Domain Admins" /domain

内网渗透学习(四)_第25张图片

可以看到有两个域管理员。

2、列出本机的所有进程及进程用户 

tasklist /v

内网渗透学习(四)_第26张图片

查询域控制器的域用户会话

查询域控制器的域用户会话,其原理为:在域控制器中查询域用户会话列表,并将其与域管理员列表进行交叉引用,从而得到域管理会话的系统列表。

1、查询域控制器列表

net group "Domain Controllers" /domain

内网渗透学习(四)_第27张图片

2、收集域管理员列表

内网渗透学习(四)_第28张图片

 

总结

在定位域管理员那一个学习点上还有两个可以用的脚本,一个是PowerView,另一个是Empireuser_hunter模块。想学习的可以自行了解,因为PowerView脚本我在github里一直找不到就摆烂直接跳过了。

参考:【内网学习笔记】4、域内信息收集 | TeamsSix

《内网安全攻防》(徐焱 编写)

你可能感兴趣的:(内网渗透,网络安全,网络,安全)