AD 侦查-SMB_1

打印 上一主题 下一主题

主题 1624|帖子 1624|积分 4882

本文通过 Google 翻译 AD Recon – NetBIOS (137/138/139) and SMB (445) Part-1 这篇文章所产生,本人仅是对呆板翻译中部分表达别扭的字词举行了校正及个别解释补充。
导航

0、媒介

在这篇文章中,我们将回顾可用于罗列 NetBIOS(UDP 137/138 | TCP 139)和 SMB(TCP 445)服务的各种工具。
首先,我们将学习 NetBIOS 和 SMB 服务,并相识它们是如何连合在一起的,以及它们是如何用于域罗列的;然后,对一台加入域的 win10 主机举行 nmap 扫描以确认所有感兴趣的端口都已打开;接着,开始对主机 举行 NetBIOS 罗列以找到域中各个主机的主机名和 MAC 地址、举行 SMB 罗列以确认 SMB 版本以及列出共享;末了,我们将看到一个示例场景,在这个场景中我们可以或许对网络共享举行匿名访问,并发现了包罗暗码的 TXT 文件,然后展开域用户名爆破,并最终找到有效凭据。
1、NetBIOS、SMB 简介

接下来,让我们快速回顾一下 NetBIOS、SMB 服务以及它们的工作原理。
1.1、NetBIOS – Port 137/138/139

网络根本输入/输出系统(Network Basic Input/Output System)是一种应用程序接口,提供与 OSI 模子会话层相关的服务。NetBIOS 的主要用途是允许不同计算机上的应用程序通过局域网(LAN)举行通信。
在现代网络中,NetBIOS 通过 NetBIOS over TCP/IP (NBT) 协议在 TCP/IP 上运行。网络中的每台计算机都有一个 IP 地址和一个 NetBIOS 名称,名称最长为 15 个字符,通常与计算机名称同等。

NetBIOS 提供三种不同的服务:

  • 用于名称注册和剖析的名称服务(137/udp、137/tcp)
  • 用于无连接通信的数据报分发服务(138/udp)
  • 面向连接通信的会话服务(139/tcp)
最常见的情况是,当一个应用程序(客户端)通过 TCP 端口 139 发送命令“调用”另一个应用程序(服务器)时,两个应用程序就会开启一个 NetBIOS 会话。
那么,这对于攻击者来说又意味着什么?
根本上,我们可以通过 NetBIOS 获取各种信息,如 域名、工作组、系统名称以及账户信息。因此,端口 137、138、139 是罗列的最佳选择,千万不能忽视。
当 SMB (445) 处于打开状态时,NetBIOS 常常得不到充分使用,这是因为人们误以为 SMB 是 NetBIOS 的“新”版本。而事实上,NetBIOS 是完全独立于 SMB 的,二者分别提供着不同的服务。因此,当发现目的系统上同时打开了 NetBIOS 和 SMB 时,SMB 将被我们用于罗列共享文件夹,而 NetBIOS 将被用于其它罗列。
1.2、SMB – Port 445

服务器消息块 (SMB) 是一种网络文件共享协议,它允许计算机上的应用程序通过网络向服务器读取和写入文件。这意味着通过使用 SMB,用户可以从长途计算机访问文件或其它资源。
SMB 是一种客户端/服务器通信协议,提供对文件、整个目录和网络资源(打印机等)的共享访问,同时它还承载着历程间通信的事件。
SMB 共享有两种范例:管理共享(用于长途访问和管理计算机)和常规共享(文件系统上已“共享”的常规文件夹)。
由于共享的文件夹长途计算机上的文件夹,因此它们的访问权限也受 ACL(访问控制列表)控制。然而,不同之处在于共享文件夹的 ACL 与本地文件夹的 ACL 是相互独立的。这意味着,我们对文件夹的访问权限(读写等权限)取决于用户对该共享文件夹的权限。
注:假设把 SMB 共享服务看作是一个 FTP 服务,那么共享 ACL 的规则设定是在 FTP 软件中举行的,而被共享的文件夹实际所处的文件系统上还存在着一个关于系统的 ACL 规则,这个规则不归 FTP 软件所管理。因此,假如想要对外分享一个文件夹,必须两个 ACL 的访问设定均允许访客访问才行
SMB 服务所管理的 ACL 规则位置:文件夹-属性-共享-高级共享-权限。
文件系统所管理的 ACL 规则位置:文件夹-属性-安全-编辑。
在现代 Windows 系统上,SMB 可以直接通过 TCP/IP 在端口 445 上运行。而在其它系统上,我们可能会发现某些服务和应用程序使用的是 139 端口。这意味着 SMB 是通过 TCP/IP 与 NetBIOS 一起运行的。
多年来,SMB 已发布多个版本,并已实现向后兼容。这意味着较新版本的 Windows 可以轻松地与较旧版本的 Windows 举行通信。
1.2.1、SMB 版本

如上所述,SMB 有多个版本,并且均向后兼容:

  • CIFS (Pre-SMB) – Microsoft Windows NT 4.0(1996)。
  • SMB-1.0/SMB1 – Windows 2000、Windows XP、Windows Server 2003、Windows Server 2003 R2。
  • SMB-2.0/SMB2 – Windows Vista、Windows Server 2008。
  • SMB-2.1/SMB2.1 – Windows 7、Windows Server 2008 R2。
  • SMB-3.0/SMB3 – Windows 8、Windows Server 2012。
  • SMB-3.02/SMB3 – Windows 8.1、Windows Server 2012 R2。
  • SMB-3.1 – Windows 10、Windows Server 2016。
1.2.2、SMB 默认管理共享

关于 SMB 共享的另一个注意事项是默认的管理共享及其用途,此中最值得注意的是 IPC$ 共享。
(1)管理共享是隐藏的网络共享,它允许系统管理员长途访问联网系统上的每个磁盘卷。(2)管理共享可能无法永久删除,但可以禁用。(3)没有管理员权限的用户无法访问管理共享。【注:工作组情况下,只有 administrator 用户有权访问管理共享;域情况下,只有域管理组的用户有权访问。】
系统默认管理共享通常如下:

  • ADMIN$:用于长途管理计算机。
  • C$:系统上的每个磁盘卷都被作为管理共享以举行文件共享。
  • IPC$:共享命名管道的资源,这些管道对于程序之间的通信至关重要,例如长途管理计算机或检察共享资源。
除了这三个默认共享之外,我们还可能会碰到PRINT$,它用于长途管理打印机。
末了,另有两个默认共享,它们仅在域控制器中出现:

  • NETLOGON:用于存储组策略登录脚本以及可能的其它文件。
  • SYSVOL:驻留在域中每个域控制器的本地硬盘上,专供文件复制服务 (FRS) 使用。
1.2.3、命名管道


  • 命名管道是一个被命名的单向或双向管道,用于管道服务器与一个或多个管道客户端之间的通信。
  • 与在本地计算机上提供历程间通信的匿名管道相比,命名管道提供的功能更多。
  • 每个命名管道都有一个唯一的名称,用以区别于系统命名对象列表中的其它命名管道。
  • 命名管道可用于在同一台计算机上的历程之间或网络上不同计算机上的历程之间提供通信。假如服务器服务正在运行,则所有命名管道都可以长途访问。
  • SMB 客户端使用名为IPC$的命名管道共享来访问命名管道端点。
1.2.4、MSRPC Over SMB

关于 SMB 罗列/使用,需要注意的另一点是,我们使用的许多工具都使用了 RPC 的 SMB 命名管道。对于需要凭证的工具尤其如此,因为它们会发出长途过程调用 (RPC),使用提供的凭证在目的计算机上启动指定的历程。
MSRPC Over SMB 使用了许多不同的命名管道,此中包罗但不限于以下这些:

  • \pipe\lsarpc:本地安全机构 (LSA) – 罗列权限、信任关系、SID、策略等。
  • \pipe\samr:本地 SAM 数据库 – 罗列域/本地用户、域/本地组等。
  • \pipe\svcctl:服务控制管理器 – 长途创建、启动和停止服务以执行命令。【psexec.py 和 smbexec.py 的工作原理】
  • \pipe\atsvc:任务计划程序 – 长途创建计划任务来执行命令。【atexec.py 的工作原理】
  • \pipe\epmapper:支持 Windows 管理规范 (WMI) 的分布式组件对象模子 (DCOM) – 通过 WMI 执行长途命令。【wmiexec.py 和 dcomexec.py 的工作原理】
  • \pipe\winreg:长途注册表服务 – 用于访问系统注册表。【reg.py 的工作原理】
既然我们已经对 NetBIOS 和 SMB 的工作原理有了肯定的相识,下面我们就来举例阐明一下吧。
2、初始罗列 – nmap 扫描

首先,假设我们有一台目的 Windows 10 呆板,其 IP 地址为 172.16.1.200,然后使用 nmap 对其举行扫描。
  1. nmap -A -sV -sC -T4 172.16.1.200 -p- -oN tcp_full.nmap
复制代码


从扫描的输出中,我们可以看到端口 135、139、445 是开放的,以及高 RPC 端口。
接下来,举行 UDP 扫描来确认 NetBIOS 端口 137 和 138 是否打开。
  1. nmap -A -sV -sC -sU 172.16.1.200 --script=*enum --top-ports 100 -oN udp_100.nmap
复制代码

根据经验,–script=*enum 选项有助于确定哪些端口是被真正打开,而哪些端口实际上被“过滤”或被防火墙阻止。
在确定所有感兴趣的端口都已打开(TCP 139、445 | UDP 137、138)之后,接下来让我们开始罗列它们吧!
3、NetBIOS 罗列 – UDP Port 137

罗列先从 NetBIOS 服务开始,因为它的内容较为简单,没有 SMB 那么繁杂。
由于 SMB 是开放的,因此共享将通过 TCP 协议栈上的 445 端口提供。这意味着 NetBIOS 主要用于罗列给定目的或目的范围内的主机名和 MAC 地址。这是通过查询 UDP 137 端口实现的。
在旧系统(Windows 2000 之前)上,SMB 最初使用端口 139 在 NetBIOS 上运行。
3.1、Nmblookup

只管如此,照旧有一些很好的工具可用于 NetBIOS 罗列,首先是 nmblookup。
  1. nmblookup -A 172.16.1.200
复制代码

这告诉我们主机名“JUGG-VCREED”属于 IP 172.16.1.200。别的,它还显示了 MAC 地址以及“工作组”,但在本例中它指的是域“Juggernaut”。
3.2、Nbtscan

另一个工具是 nbtscan,它可以用来查询单个主机或整个网段。
  1. nbtscan 172.16.1.200
  2. nbtscan 172.16.1.0/24
复制代码


nbtscan 还会尝试查找当前登录到主机的任何用户的用户名。
Amazing!通过扫描网段,我们还发现了另外两台主机:JUGGERNAUT-DC 和 JUGG-EFROST。
3.3、Nmap

末了一个工具是 nmap,它预装了一些很棒的脚本,此中一个就是 NetBIOS 罗列脚本,同时它也支持扫描单个 IP 地址或整个网段。
  1. nmap -sU -sV -Pn -T4 172.16.1.200 -p137 --script nbstat.nse
  2. nmap -sU -sV -Pn -T4 172.16.1.0/24 -p137 --script nbstat.nse
复制代码

既然已经相识了可以通过 NetBIOS 罗列什么,接下来,就让我们看看通过罗列端口 445 上的 SMB 服务可以找到些什么。
4、SMB 罗列 – TCP Port 445

当发现 SMB 处于打开状态时,它便是我们首先要攻击的服务之一。起初,我们会以匿名的方式举行访问,盼望可以或许列出/访问一两个共享。后期一旦找到凭证,我们应该回过头来继承测试 SMB,因为某些共享仅对特定用户可见/可访问,因此回头再罗列的动作很有须要。
当罗列目的主机上的 445 端口时,我们首先要相识的是 SMB 服务正在运行哪个版本。
4.1、罗列 SMB 版本

正如之前在 nmap 扫描中看到的那样,SMB 的版本是从 smb2-security-mode 脚本部分中看到的。
因此,我们可以只使用此脚本,来确定目的端口 445 的版本,如下所示:
  1. nmap --script=smb2-security-mode 172.16.1.200 -p 445
复制代码

别的,还可以使用 Metasploit 的 smb_version 模块来确定目的主机上运行的 SMB 版本。
  1. msfconsole -q
  2. search scanner/smb
复制代码
  1. use auxiliary/scanner/smb/smb_version
  2. show options
  3. set RHOSTS 172.16.1.200
  4. exploit
复制代码

正如之前使用 nmap 时看到的那样,SMB 首选版本是 3.1.1,但这台主机同时还支持 SMB 1/2/3。别的,该模块还提取了一些主机、使用系统和域信息。
接下来,作为攻击者的我们应该从 SMB 中罗列的第二件事是可用的共享及其权限
4.2、罗列 SMB 共享

有很多很棒的工具可以用来列出/访问目的主机上可用的 SMB 共享。不过,有几件事需要考虑。
例如,我们经常会发现本身处于以下三种情况之一:

  • 可以或许列出共享以及通过匿名会话访问此中一些共享。(最佳情况)
  • 无法列出共享,但有权通过匿名会话访问它们。(需要暴力破解)
  • 无法通过匿名会话列出或访问任何共享。(最坏的情况)
别的,即使找到了凭证,我们也可能会碰到上述三种情况之一。但是,有了凭证,险些总能保证可以或许列出共享内容。
假如我们可以列出共享,但无法访问任何共享(无论是匿名访问照旧身份验证访问),此时就需要罗列共享权限。如此,我们便可以或许找到哪些用户可以访问特定的共享,然后将这些帐户视为“高权限目的”。抱负情况下,假如可能的话,我们盼望将权限提升到这些高权限目的。
4.2.1、共享名称搜集

有很多工具可以列出共享,但只有少数工具允许我们访问共享,如 smbclien 支持列出/访问共享,而 nmap 只支持列出共享。
接下来,让我们逐一对这些工具的使用举行介绍:
=Smbclient=
首先,尝试以匿名访问的方式列出共享:
  1. smbclient -L 172.16.1.200 -N
复制代码

风趣的是,我们可以看到匿名访问成功了,但却无法列出共享,而这正好符合上面的第二种情况,这就意味着我们需要通过暴力破解共享名才华找到它们。【注:暴力破解后文介绍,此处跳过。】
接着,以身份验证的方式列出共享:
  1. smbclient -L 172.16.1.200 -U 'juggernaut.local/vcreed%Dfaster1!23'
复制代码

Awesome!我们成功找到了两个可以尝试访问的自界说共享!
=Smbmap=
smbmap 一个很酷的特点是它专注于渗出测试,而 smbclient 则更适合于网络管理。
然而,smbmap 有一个很棒的特性便是,它可以列出每个共享的访问权限。
  1. smbmap -H 172.16.1.200 -u 'vcreed' -p 'Dfaster1!23' -d 'juggernaut.local'
复制代码

Amazing!可以看到,当前用户对“Share”共享拥有 RW 访问权限,而对“Users”共享则只有 R 访问权限。
=CrackMapExec=
与 smbclient 和 smbmap 不同,crackmapexec 对于访问共享不太实用。但它可以或许列出共享以及有关主机/域的更多信息,包罗用户、组等。
列出入域主机上的所有共享,可以使用以下命令:
  1. crackmapexec smb 172.16.1.200 -u 'vcreed' -p 'Dfaster1!23' -d 'juggernaut.local' --shares
复制代码

可以看到,crackmapexec 同样标记出了共享的访问权限。
=Nmap=
nmap 内置了一个名为 smb-enum-shares 的脚本,我们可以使用它来列出 SMB 共享。
  1. nmap -A -sV -sC -Pn --script=smb-enum-shares 172.16.1.200 -p445 --script-args smbusername='vcreed',smbpassword='Dfaster1!23',smbdomain='juggernaut.local'
复制代码

与我们迄今为止使用过的其它工具不同,nmap 会同时检查当前用户对每个共享的访问权限和匿名访问权限,这一点非常酷,这使得该脚本在未找到凭据时成为一个很好的选择。

令人惊讶的是,nmap 是“唯一”可以或许通过匿名会话列出共享的工具!
注:上面的“唯一”是指,在可匿名访问但无共享被列出的场景之下时,只有 nmap 才有可能在此情境下可以或许列出一些共享,其它工具是不可的。】
然而,我们不应该误以为 nmap 会用某种神奇的手段来实现这一点。实际上,这种情况的发生是因为 nmap 会在无法列出常见共享名时尝试暴力破解。因此,假如共享名很复杂或“不常见”,那么它们依旧不能被列出,这需要进一步暴力破解。
smb-enum-shares 会尝试使用 srvsvc.NetShareEnumAll MSRPC 函数列出共享资源,并使用 srvsvc.NetShareGetInfo 检索有关它们的更多信息。假如访问这些函数被拒绝,则会检查常用共享名称列表。
=Metasploit=
与 crackmapexec 雷同,Metasploit 也非常适合列出共享。
  1. msfconsole -q
  2. use auxiliary/scanner/smb/smb_enumshares
  3. show options
  4. set RHOSTS 172.16.1.200
  5. set SMBUser 'vcreed'
  6. set SMBPass 'Dfaster1!23'
  7. set SMBDomain 'juggernaut.local'
  8. exploit
复制代码

现在,我们已经看到了不少可以用来列出共享名称的工具。接下来,让我们看看 在匿名可访问但无法列出共享时,如何通过暴力手段来找到可以通过匿名会话访问的共享名称。
4.2.2、共享名称爆破

首先,我们使用 smbclient 举行匿名访问尝试,可以看到匿名登录成功,但无法列出共享。
  1. smbclient -L 172.16.1.200 -N
复制代码

此时,虽然匿名身份无法列出共享内容,但我们仍然可以访问它们。唯一需要注意的是,我们需要找到共享名称,而最好的方法就是尝试推测它们。尝试手动推测共享名称会很繁琐,并且很可能导致我们很快便放弃这种积极。
幸运的是,有一些工具支持暴力破解 SMB 共享名,而我们只需为其提供一个共享名字典即可。这两个工具便是 enum4linuxsmb_brute.py
=Enum4Linux=
Enum4linux 是一个功能强大的工具,它可以罗列 MS-RPC、LDAP、NBT-NS。虽然 enum4linux 主要是一个 MSRPC 罗列工具,但它确实也可以或许执行一些根本的 SMB 罗列,如 列出共享名称。
  1. enum4linux -s /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt 172.16.1.200
复制代码

可以看到,enum4linux 成功破解出了两个自界说共享。同时它还告诉我们,“share”共享可以匿名访问。
=smb_brute.py=
smb_brute.py 是笔者编写的一个小脚本,可用于强制执行 SMB 共享名称。用法如下:
  1. ./smb_brute.py 172.16.1.200 /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt
复制代码

该脚本相比于 enum4linux,它的执行速度更快且输出内容更简洁一些。
现在,我们已经相识了如何以匿名和凭证的方式列出共享,以及如何爆力破解共享名称,接下来让我们看看如安在发现共享后访问和罗列共享。
4.2.3、访问共享

在找到有权限访问的共享之后,下一步便是访问它们以寻找风趣的文件。
=Smbclient=
通过 smbclient 匿名访问共享,命令如下:
  1. smbclient -U '%' -N \\\\172.16.1.200\\share
复制代码

Perfect!我们成功的创建了连接。
接下来,我们可以使用以下命令递归遍历共享中的文件:
  1. prompt off
  2. recurse on
  3. ls
复制代码

注意:假如共享很大的话,最好关闭递归功能,手动举行遍历查找。
从上面可以看到,有两个 TXT 文件很风趣。为此,我们需要将其下载到本地。
  1. mget New_Users.txt
  2. cd folder1
  3. mget test.txt
复制代码

或者,一次性递归下载所有文件,如下所示:
  1. mget *
复制代码

=Smbmap=
Smbmap 也可以打开共享并与其交互(列出文件、上传、下载等),但它不像 smbclient 那样提供交互式提示,而是通过单独的命令来与共享举行交互。
关于 smbmap 的另一点需要注意:它需要可以或许自身列出共享然后才华访问它们。这意味着在场景 2 的情况下,我们将无法使用 smbmap 来访问共享。
例如,假如我们在当前主机上匿名访问“Share”共享,我们将不会得到任何结果,只管它确实存在且可访问。
  1. smbmap -H 172.16.1.200 -u '' -p '' -d 'juggernaut.local' -R "share"
复制代码

而假如我们使用一组有效的凭据尝试相同的命令,它就会起作用。
  1. smbmap -H 172.16.1.200 -u 'vcreed' -p 'Dfaster1!23' -d 'juggernaut.local' -R "share"
复制代码

这证实了 smbmap 确实有这个限制,但该限制可以通过使用 smbclient 匿名访问来克服。
在列出了“Share”共享的内容之后,我们可以使用 -A 选项一次性下载所有文件。
  1. smbmap -H 172.16.1.200 -u 'vcreed' -p 'Dfaster1!23' -d 'juggernaut.local' -R "share" -A '.*'
复制代码

或有选择性地下载 test.txt 文件:
  1. smbmap -H 172.16.1.200 -u 'vcreed' -p 'Dfaster1!23' -d 'juggernaut.local' -R "share" -A 'test.txt'
复制代码

smbmap 很酷的一个特性便是,要下载的文件我们只需为其提供文件名(不需提供完整的路径),然后 smbmap 就会为我们搜索并下载它。
=本地挂载共享文件夹=
偶然会碰到一些包罗大量文件的共享,而我们又不想将所有文件都下载到攻击者的呆板上。此时,便可以通过本地挂载共享,直接从本机访问目的文件,而无需下载任何内容。挂载命令如下:
  1. mkdir /mnt/share
  2. mount -t cifs -o username='%',password='' //172.16.1.200/share /mnt/share
  3. ls -laR /mnt/share
复制代码

同样,假如需要提供有效的凭据才华举行挂载,则:
  1. mount -t cifs -o username='vcreed',password='Dfaster1!23' //172.16.1.200/share /mnt/share
复制代码
现在,我们已经看到了三种方式去访问共享文件夹的方法。接下来,就让我们回顾一个示例场景,通过该场景阐明 SMB 罗列通常是如何循环的。
4.2.4、共享使用场景示例

假设在当前情况下,我们通过匿名身份有权访问,但未列出共享。
  1. smbclient -L 172.16.1.200 -N
复制代码

然后,我们使用 smb_brute.py 暴力破解出来共享名“share”和“users”。
  1. ./smb_brute.py 172.16.1.200 /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt
复制代码

接着,使用 smbclient 通过匿名会话访问“share”,并提取到了两个文件:New_Users.txt 和 test.txt。
  1. smbclient -U '%' -N \\\\172.16.1.200\\shareprompt off
  2. recurse on
  3. lsmget *
复制代码

下一步,便是检查文件中是否有风趣的信息。
  1. cat New_Users.txt
  2. cat test.txt
复制代码


幸运的是,我们找到了一个新员工使用的暗码。现在我们可以把这个暗码存入“passwords.txt”文件。
  1. echo 'W3lc0met0Th3p4rtY!' > passwords.txt
复制代码
现在,既然我们已经找到了暗码,那么接下来的目的便是构建一个用户名列表用来测试这个暗码。此时,我们可以使用一个名为kerbrute的工具来暴力破解有效的用户名。
=使用 Kerbrute 暴力破解有效用户名=
继承这个例子,假设在进一步的罗列中并没有找到用户名。当找不到域用户名时,我们可以采取暴力破解。
使用 kerbrute,我们可以尝试暴力破解有效的用户名,而无需提供暗码。这是发现有效用户名的最快方法。【注:此处使用了 Kerberos AS-REQ 阶段的域用户名罗列攻击】
  1. kerbrute -users /usr/share/seclists/Usernames/Honeypot-Captures/multiplesources-users-fabian-fingerle.de.txt -domain juggernaut.local -dc-ip 172.16.1.5
复制代码

Amazing!通过该技能,我们得到了一个相当小的词表,找到了六个有效的用户。
字典“multiplesources-users-fabian-fingerle.de.txt”包罗约莫 2 万个姓名,是一个不错的列表。也可以使用 xato 来尝试改进结果,但 xato 约莫有 900 万个单词,这相当巨大。
现在,我们将这 6 个用户名添加到名为 users.txt 的文件中。

接下来,我们使用 kerbrute 执行暗码喷洒攻击,看看这六个帐户中是否有人使用暗码 - W3lc0met0Th3p4rtY!
  1. kerbrute -users ./users.txt -passwords ./passwords.txt -domain juggernaut.local -dc-ip 172.16.1.5
复制代码

BOOM!可以看到“Intern”用户账户的匹配了该暗码!
同时,kerbrute 还将用户的 TGT 保存到了 ccache 文件中。这很棒,因为它允许我们通过提供票证而不是暗码来使用工具(主要是 Impacket)。
=新凭证,意味着新的访问权限=
现在,我们获得了新的凭据。
intern : W3lc0met0Th3p4rtY!
根据之前的发现,我们发现可以通过匿名会话访问“share”文件夹。然而,在暴力破解共享名时也发现了“user”文件夹但却被拒绝匿名访问。
现在,我们有了一组有效的凭证,可以列出所有共享,并检察是否可以使用 smbmap 获得额外的访问权限。
  1. smbmap -H 172.16.1.200 -u "intern" -p 'W3lc0met0Th3p4rtY!' -d 'juggernaut.local'
复制代码

Perfect!现在我们可以访问“Users”共享了!
  1. smbclient \\\\172.16.1.200\\users -U 'juggernaut.local/intern%W3lc0met0Th3p4rtY!'
复制代码

可以看到,它对应的是 C:\Users 文件夹,从这里开始,我们将开始梳理不同的目录和子目录,以便找到更多风趣的文件。
无论我们是否发现任何东西,只要拥有一套有效的凭证,就能为更多的罗列机会打开大门。
好了,让我们停息一下,这篇文章已经很长了,但另有很多内容要讲。因此,我们将在本篇文章的第二部分介绍可通过 SMB 执行的其它罗列(系统、域、用户/组等)、漏洞罗列和命令执行。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

来自云龙湖轮廓分明的月亮

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表