域内资源探测
✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆
🔥系列专栏 :内网安全
📃新人博主 :欢迎点赞收藏关注,会回访!
💬舞台再大,你不上台,永远是个观众。平台再好,你不参与,永远是局外人。能力再大,你不行动,只能看别人成功!没有人会关心你付出过多少努力,撑得累不累,摔得痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷。
文章目录
- 判断是否存在域环境
- 一、收集域内基础信息
- 1.查询域
- 2.查询此域内所有计算机
- 3.查询域内所有用户组列表
- 4.查询所有域成员计算机列表
- 5.获取域密码信息
- 6.获取域信任信息
- 二、查找域控制器
- 1.查看域内控制器的机器名
- 2.查看域控制器的主机名
- 3.查看当前时间
- 4.查看域控制器组
- 三、获取域内的用户和管理员信息
- 1.查询所有域用户列表
- 2.查询域管理员用户组
- 四、定位域管理员
- 常用域管理员定位工具
- 五、查找域管理进程
- 1.本机检查
- 2. 查询域控制器的域用户会话
- 3. 扫描远程系统上运行的任务
- 4. 扫描远程系统上 NetBIOS 信息
- 5. 利用PowerShell 收集域信息
判断是否存在域环境
net config workstation
查看当前工作站的信息,包括当前计算机名、用户名、系统版本、工作站、登录的域等信息。
一、收集域内基础信息
1.查询域
net view /domain
2.查询此域内所有计算机
net view /domain:XXX(域名)
3.查询域内所有用户组列表
net group /domain
4.查询所有域成员计算机列表
net group "``domain computers``" /domain
5.获取域密码信息
net accounts /domain
6.获取域信任信息
nltest /domain_trusts
二、查找域控制器
1.查看域内控制器的机器名
nltest /DCLIST:XXX
2.查看域控制器的主机名
Nslookup -type=SRV _ldap._tcp
3.查看当前时间
net time /domain
4.查看域控制器组
真实环境中,一般存在两台或两台以上的域控制器,其目的是:一旦主域控制器发生故障,备用的域控制器可以使域内服务验证正常进行。
net group "Domain Controllers" /domain
netdom query pdc
三、获取域内的用户和管理员信息
1.查询所有域用户列表
向域控制器进行查询`net user /domain`获取域内用户详细信息`wmic useraccount get /all`查看存在的用户`dsquery user`查询域内置本地管理员组用户`net localgroup administrators /domain`
2.查询域管理员用户组
查询域管理员用户`net group “domain admins” /domain`查询管理员用户组
`
net group “Enterprise Admins” /domain`
四、定位域管理员
内网渗透测试与常规的渗透测试是截然不同的。内网渗透测试的需求是拿到内网中特定用户或特定机器的权限,进而获得特定资源,完成内网渗透测试任务。在通常的网络环境里,内网中部署了大量的网络安全设备,如 IDS、IPS、日志审计、安全网关、反病毒软件等。所以,在域网络攻击测试场景中,如果渗透测试人员获取了域内的一个支点,为了实现对域网络的整体控制,渗透测试人员就需要获取域管理员权限。
常用域管理员定位工具
psloggedon.exe 可以显示本地登录的用户和通过本地计算机或远程计算机的资源登录的用户。如果指定了用户名而不是计算机,psloggedon.exe 会搜索网络邻居中的计算机,并显示该用户当前是否已登录,其原理是通过检 验注册表里HKEY_USERS 项的 key 值来查询谁登录过机器(同样调用了 NetSessionEnumAPI),某些功能需要拥有管理员权限才能使用。
psloggedon [-] [-l] [-x] [\\computername|username]
-:显示支持的选项和用于输出值的单位。
-l:仅显示本地登录,不显示本地和网络资源登录。
-x:不显示登录时间。
\\computername:指定要列出登录信息的计算机的名称。
Username:指定用户名,在网络中搜索该用户登录的计算机。
pveFindADUser.exe 可用于查找 Active Directory 用户登录的位置,枚举域用户,以及查找在特定计算机上登录的用户,包括本地用户、通过 RDP 登录的用户、用于运行服务和计划任务的用户账户。[运行该工具的计算机需要具有.NET](http://xn--h6qa856gr9i7gt25f29hpp0avncmwhjva898axqx.NET) Framework 2.0,并且需要具有管理员权限。
pveFindADUser.exe <参数>
-h:显示帮助。
-u:检查是否有更新版本的实用程序。
-current [''username'']:如果仅指定了-current 参数,将获取所有目标计算机上当前登录的所有用户。如果指定了用户名(DOMAIN\Username),则显示该用户登录的计算机。
-last [''username'']:如果仅指定了-last 参数,将获取目标计算机上的最后一个登录用户。如果指定了用户名(DOMAIN\Username),则显示具有此用户账户作为上次登录的计算机。根据网络的策略,可能会隐藏最后一个登录用户名,且该工具可能无法得到该用户名。
-noping:阻止该工具在尝试获取用户登录信息之前对目标计算机执行 ping 命令。
-target:可选参数,用于指定要查询的主机。如果未指定此参数,将查询当前域中的所有主机。如果指定此参数,则后跟一个由逗号分隔的主机名列表。
netview.exe 是一个枚举工具,使用 WinAPI 枚举系统,利用 NetSessionEnum 找寻登录会话,利用 NetShareEnum 找寻共享,利用 NetWkstaUserEnum 枚举登录的用户。同时,netview.exe 能够查询共享入口和有价值用户。netview.exe 的绝大部分功能不需要管理员权限即可执行
netview.exe <参数>-h:显示帮助菜单。-f filename.txt:指定从中提取主机列表的文件。-e filename.txt:指定要排除的主机名文件。-o filename.txt:将所有输出重定向到文件。-d domain:指定从中提取主机列表的域。如果没有指定,则使用当前域。-g group:指定用户搜寻的组名。如果没有指定,则使用 Domain Admins。-c:检查对已找到共享的访问权限。
如果有域账户或者本地账户,就可以使用 Nmap 的 smb-enum-sessions.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 域名、工作组、系统时间。
PowerView 是一款 PowerShell 脚本,里面有一些功能可以辅助找寻定位关键用户
Invoke-StealthUserHunter :只需要一次查询,就可以获取域内的所有用户。从user.HomeDirectories 中提取所有用户,并对每个服务器进行 Get-NetSessions 获取。因为不需要使用 Invoke-UserHunter 对每台机器进行操作,所以这个方法的隐蔽性相对较高,但涉及的机器面不一定完整。默认使用 Invoke-StealthUserHunter,如果找不到需要的信息,就接着使用 Invoke-UserHunter 方法。
Invoke-UserHunter:找到域内特定的用户群。它接收用户名、用户列表或域组查询,并接收一个主机列表或查询可用的主机域名。它会使用 Get-NetSessions 和 Get-NetLoggedon(调用 NetSessionEnum 和 NetWkstaUserEnum API)扫描每个服务器,而且会比较结果,筛选出目标用户集。使用这个工具是不需要管理员权限的。在本地绕过执行该脚本,如图 2-72所示。
Empire 下的 user_hunter 模块;在 Empire 下也存在类似 Invoke-UserHunter 的模块——user_hunter,这个模块就是用来查找域管理员登录的机器的。
使用 usemodule situational_awareness/network/powerview/user_hunter 模块可以清楚地看到哪个用户登录了哪台主机。
五、查找域管理进程
1.本机检查
1. 获取域管理员列表net group "Domain Admins" /domain
2.列出本机所有进程及进程用户Tasklist /v
3.寻找是否有进程所有者为域管理员的进程
2. 查询域控制器的域用户会话
查询域控制器的域用户会话,其原理是:在域控制器中查询域用户会话列表,并将其与域管理员列表交叉引用,从而找出域管理会话的系统列表。1.查询域控制器列表net group "Domain Controllers" /domain
2.收集域管理员列表net group "Domain Admins" /domain
3.收集所有活动域会话列表Netsess.exe –h
4.交叉引用域管理员列表与活动会话列表将域控制器列表添加到 dcs.txt 中,将域管理员列表添加到 admins.txt 中,并和 netsess.exe 放在同一个目录下。运行如下脚本后,会在当前目录下生成一个 sessions.txt 文本文件FOR /F %i in (dcs.txt) do @echo [+] Querying DC %i && @netsess -h %i 2>nul > sessions.txt && FOR /F %a in (admins.txt) DO @type sessions.txt | @findstr/I %a
5. 其他脚本下载[GDA](https://github.com/nullbind/Other-Projects/tree/master/GDA)
3. 扫描远程系统上运行的任务
如果渗透目标在域系统上使用共享本地管理员账户运行后,可以用下列脚本来扫描系统中的域管理任务。同样首先从“域管理员”组中收集域管理员的列表。
net group "Domain Admins" /domain
然后使用下列脚本,其中 ips.txt 填入目标域系统的列表,在 names.txt 填入收集来的域管理员的列表。
FOR /F %i in (ips.txt) DO @echo [+] %i && @tasklist /V /S %i /U user /P password 2>NUL > output.txt && FOR /F %n in (names.txt) DO @type output.txt | findstr %n > NUL && echo [!] %n was found running a process on %i && pause
4. 扫描远程系统上 NetBIOS 信息
在一些 Windows 系统中,允许用户通过 NetBIOS 查询已登录用户。下面这个 Windows 命令行脚本将扫描远程系统活跃域管理会话。同样,先收集域管理员列表,然后将目标域系统列表添加到 ips.txt 文件中,将收集到的域管理员列表添加到 admins.txt 文件中,并置于同一目录下.
for /F %i in (ips.txt) do @echo [+] Checking %i && nbtstat -A %i 2>NUL >nbsessions.txt && FOR /F %n in (admins.txt) DO @type nbsessions.txt | findstr /I %n > NUL && echo [!] %n was found logged into %i
这里也可以使用 nbtscan 工具。先收集域管理员列表,然后将目标域系统列表添加到ips.txt 文件中,将收集到的域管理员列表添加到 admins.txt 文件中,和 nbtscan 工具置于同一目录下.
for /F %i in (ips.txt) do @echo [+] Checking %i && nbtscan -f %i 2>NUL >nbsessions.txt && FOR /F %n in (admins.txt) DO @type nbsessions.txt | findstr /I %n > NUL && echo [!] %n was found logged into %i
5. 利用PowerShell 收集域信息
PowerView 是一款依赖 PowerShell 和 WMI 对内网域情况进行查询的常用渗透脚本。PowerView 集成在 PowerSploit 工具包中。通过以下命令收集域信息: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:根据用户日志获取某域用户登录过哪些域机器。
相关文章:
域内资源探测
✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 :内网安全 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台,永远是…...
c# 将数据导出到EXCEL文件
第一步:项目中加入引用。 在鼠标右击项目,点击【添加】弹出菜单列表,选择【项目引用】弹出【引用管理器】对话框,选择【COM】-【Microsoft Excel 16.0 Object Library】,如图所示: 第二步,编辑…...
微服务 分片 运维管理
微服务 分片 运维管理分片分片的概念分片案例环境搭建案例改造成任务分片Dataflow类型调度代码示例运维管理事件追踪运维平台搭建步骤使用步骤分片 分片的概念 当只有一台机器的情况下,给定时任务分片四个,在机器A启动四个线程,分别处理四个…...
批量占满TEMP表空间问题处理与排查
批量占满TEMP表空间问题处理与排查应急处置问题排查查看占用TEMP表空间高的SQL获取目标SQL执行计划方法一:EXPLAIN PLAN FOR方法二:DBMS_XPLAN.DISPLAY_CURSOR方法三:DBMS_XPLAN.DISPLAY_AWR方法四:AUTOTRACE数据库跑批任务占满TE…...
Pytorch中的tensor和variable
Tensor与Variable pytorch两个基本对象:Tensor(张量)和Variable(变量) 其中,tensor不能反向传播,variable可以反向传播(forword)。 反向传播是为了让神经网络更新前面…...
暗月内网渗透实战——项目七
首先环境配置 VMware的网络配置图 环境拓扑图 开始渗透 信息收集 使用kali扫描一下靶机的IP地址 靶机IP:192.168.0.114 攻击机IP:192.168.0.109 获取到了ip地址之后,我们扫描一下靶机开放的端口 靶机开放了21,80,999,3389,5985,6588端口…...
【Java 面试合集】描述下Objec类中常用的方法(未完待续中...)
描述下Objec类中常用的方法 1. 概述 首先我们要知道Object 类是所有的对象的基类,也就是所有的方法都是可以被重写的。 那么到底哪些方法是我们常用的方法呢??? cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringw…...
SQLSERVER 的 truncate 和 delete 有区别吗?
一:背景 1. 讲故事 在面试中我相信有很多朋友会被问到 truncate 和 delete 有什么区别 ,这是一个很有意思的话题,本篇我就试着来回答一下,如果下次大家遇到这类问题,我的答案应该可以帮你成功度过吧。 二࿱…...
【C++】CC++内存管理
就是你被爱情困住了?Wake up bro! 文章目录一、C/C内存分布二、C语言中动态内存管理方式三、C中内存管理方式1.new和delete操作内置类型2.new和delete操作自定义类型(仅限vs的底层实现机制,new和delete一定要匹配使用,…...
数据预处理之图像去空白
数据预处理之图像去空白图像去空白介绍方法边缘检测阈值处理形态学图像剪切图像去空白 介绍 图像去空白是指在图像处理中去除图像中的空白区域的过程。空白区域通常是指图像中的白色或其他颜色,其不包含有用的信息。去空白的目的是为了节省存储空间、提高图像处理…...
真的麻了,别再为难软件测试员了......
前言 有不少技术友在测试群里讨论,近期的面试越来越难了,要背的八股文越来越多了,考察得越来越细,越来越底层,明摆着就是想让我们徒手造航母嘛!实在是太为难我们这些测试工程师了。 这不,为了帮大家节约时…...
2月9日,30秒知全网,精选7个热点
///货拉拉将推出同城门到门跑腿服务 据介绍,两轮电动车将成为该业务的主要运力,预计将于3月中旬全面开放骑手注册和用户人气征集活动,并根据人气和线上骑手注册情况选择落地城市,于4月正式开放服务和骑手接单 ///三菱、乐天和莱茵…...
球面坐标系下的三重积分
涉及知识点 三重积分球面坐标系点火公式一些常见积分处理手法 球面坐标系定义 球面坐标系由方位角φ\varphiφ、仰角θ\thetaθ和距离rrr构成 直角坐标系(x,y,z)(x,y,z)(x,y,z)到球面坐标系的(r,φ,θ)(r,\varphi,\theta)(r,φ,θ)的转化规则如下: {xrsinφco…...
谷歌 Jason Wei | AI 研究的 4 项基本技能
文章目录 一、前言二、主要内容三、总结CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 原文作者为 Jason Wei,2020 年达特茅斯学院本科毕业,之后加入 Google Brain 工作。 Jason Wei 的博客主页:https://www.jasonwei.net/ 其实我不算是一个特别有经验的研究员…...
excel数据整理:合并计算快速查看人员变动
相信大家平时在整理数据时,都会对比数据是否有重复的地方,或者该数据与源数据相比是否有增加或者减少。数据量不大还好,数据量大的话,对比就比较费劲了。接下来我们将进入数据对比系列课程的学习。该系列一共有两篇教程࿰…...
vit-pytorch实现 MobileViT注意力可视化
项目链接 https://github.com/lucidrains/vit-pytorch 注意一下参数设置: Parameters image_size: int. Image size. If you have rectangular images, make sure your image size is the maximum of the width and heightpatch_size: int. Number of patches. im…...
Python将字典转换为csv
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…...
EasyX精准帧率控制打气球小游戏
🎆音乐分享 New Boy —— 房东的猫 之前都用Sleep()来控制画面帧率,忽略了绘制画面的时间 如果绘制画面需要很长的时间,那么就不能忽略了。 并且Sleep()函数也不是特别准确,那么就…...
你知道 GO 中什么情况会变量逃逸吗?
你知道 GO 中什么情况会变量逃逸吗?首先我们先来看看什么是变量逃逸 Go 语言将这个以前我们写 C/C 时候需要做的内存规划和分配,全部整合到了 GO 的编译器中,GO 中将这个称为 变量逃逸 GO 通过编译器分析代码的特征和代码的生命周期&#x…...
一篇文章学懂C++和指针与链表
指针 目录 指针 C的指针学习 指针的基本概念 指针变量的定义和使用 指针的所占的内存空间 空指针和野指针 const修饰指针 指针和数组 指针和函数 指针、数组、函数 接下来让我们开始进入学习吧! C的指针学习 指针的基本概念 指针的作用:可…...
TPGS-cisplatin顺铂修饰维生素E聚乙二醇1000琥珀酸酯
TPGS-cisplatin顺铂修饰维生素E聚乙二醇1000琥珀酸酯(TPGS)溶于大部分有机溶剂,和水有很好的溶解性。 长期保存需要在-20℃,避光,干燥条件下存放,注意取用一定要干燥,避免频繁的溶解和冻干。 维生素E聚乙二醇琥珀酸酯(简称TPGS)是维生素E的水溶性衍生物,由维生素E…...
【20230206-0209】哈希表小结
哈希表一般哈希表都是用来快速判断一个元素是否出现在集合里。哈希函数哈希碰撞--解决方法:拉链法和线性探测法。拉链法:冲突的元素都被存储在链表中线性探测法:一定要保证tableSize大于dataSize,利用哈希表中的空位解决碰撞问题。…...
c++11 标准模板(STL)(std::multimap)(一)
定义于头文件 <map> template< class Key, class T, class Compare std::less<Key>, class Allocator std::allocator<std::pair<const Key, T> > > class multimap;(1)namespace pmr { template <class Key, class T…...
python进阶——自动驾驶寻找车道
大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…...
男,26岁,做了一年多的自动化测试,最近在纠结要不要转行,求指点。?
最近一个粉丝在后台问我,啊大佬我现在26了,做了做了一年多的自动化测试,最近在纠结要不要转行,求指点。首选做IT这条路,就是很普通的技术蓝领。对于大部分来说干一辈子问题不大,但是发不了什么财。如果你在…...
源码级别的讲解JAVA 中的CAS
没有CAS之前实现线程安全 多线程环境不使用原子类保证线程安全(基本数据类型) public class T3 {volatile int number 0;//读取public int getNumber(){return number;}//写入加锁保证原子性public synchronized void setNumber(){number;} }多线程环…...
JUC锁与AQS技术【我的Android开发技术】
JUC锁与AQS技术【我的Android开发技术】 AQS原理 AQS就是一个同步器,要做的事情就相当于一个锁,所以就会有两个动作:一个是获取,一个是释放。获取释放的时候该有一个东西来记住他是被用还是没被用,这个东西就是一个状…...
【问题代码】顺序点的深入理解(汇编剖析+手画图解)
这好像是一个哲学问题。 目录 前言 一、顺序点是什么? 二、发生有关顺序点的问题代码 vs中: gcc中: 三、细读汇编 1.vs汇编如下(示例): 2.gcc汇编如下(示例): 四…...
BinaryAI全新代码匹配模型BAI-2.0上线,“大模型”时代的安全实践
导语BinaryAI(https://www.binaryai.net)科恩实验室在2021年8月首次发布二进制安全智能分析平台—BinaryAI,BinaryAI可精准高效识别二进制文件的第三方组件及其版本号,旨在推动SCA(Software Composition Analysis&…...
nvidia设置wifi和接口
tx-nx设置wifi和接口前言基础知识点1.创建和删除一个wifi连接2. 启动连接和关闭连接代码和调试1. 代码展示2. 调试写到最后前言 针对嵌入式开发,有时候通过QT或PAD跨网络对设备设置WIFI,在此记录下,方便后续的查阅。 基础知识点 1.创建和删…...
网站网址查询ip/网络推广合作协议范本
最近由于项目需要,刚刚学完了Action委托和Func<T>委托,发现学完了委托就必须学习lambda表达式,委托和Lambda表达式联合起来,才能充分的体现委托的便利、才能使代码更加简介、优雅。 Lambda表达式 "Lambda表达式"…...
进地铁建设公司网站/百度竞价代运营
好像是自己定义的一些type...
wordpress文章存在哪里/网络推广与营销
1、删除历史流程实例 DELETE history / historic-process-instances / {processInstanceId} 表1.响应代码 响应码描述200表示历史流程实例已被删除。404表示无法找到历史流程实例。 2、获取历史流程实例的标识链接 GET历史记录/历史流程实例/ {processInstanceId} / identityl…...
做电影网站用什么空间/教育机构培训
利用CArchive类实现数据串行化, 需要注意的是, 串行化的对象一定要是从CObject类派生出来的, 同时, 要在被串行化的对象的类的头文件中进行宏定义 //文件串行化宏定义 DECLARE_SERIAL(CMyBox) 还要在被串行化的对象的类的实现文件…...
IP怎么屏蔽网站域名/国家培训网官网
Vue中的缩写:v-bind、v-on v-bind 缩写::预期:any (with argument) | Object (without argument)参数:attrOrProp (optional)修饰符: .prop - 被用于绑定 DOM 属性。.camel - (2.1.0) 将 kebab-case 特性名转换为 came…...
wordpress数字资源下载会员/泉州百度首页优化
开源软件越来越受欢迎。Forrester Research 最近的研究发现,开源模型现在在应用程序开发中处于突出状态,而自定义编写的代码现在通常只占大多数应用的 10% 到 20%。 随着开源模式成为开发人员的实际标准,对其安全性的担忧变得更加突出。正如…...