黑客网站渗透入侵破解拿权限
11.3K subscribers
2.4K photos
108 links
Download Telegram
AS-REP 烤制攻击

AS-REP Roasting 是攻击者用来转储已禁用Kerberos 预身份验证的用户帐户的 AS-REP (krbasrep5) 哈希值的一种技术。

与 Kerberoasting 不同,此类攻击涉及的用户不仅限于服务帐户。

任何帐户都可以通过简单勾选一个框来关闭预身份验证。

执行 AS-REP Roasting 攻击的唯一要求是拥有已禁用预身份验证的域中用户的有效用户名。
AD 升级 – Kerberoasting 攻击

Kerberoasting 攻击是一种允许攻击者请求任何具有已注册 SPN 的服务的服务票证的技术。一旦请求,该服务票证将以 TGS-REP 哈希的形式呈现给攻击者。

然后,攻击者获取此票证(哈希),并使用Hashcat之类的工具破解服务帐户密码。

目标是获取代表 AD 中的用户帐户运行的服务的 TGS 票证,然后尝试破解它们。

要执行 Kerberoasting 攻击,我们需要满足以下两个要求中至少之一:

-域帐户(任何帐户)的一组有效凭据
-在域中的目标主机上建立立足点(任何账户)

如果域服务帐户具有注册的 SPN,那么它应该是可 Kerberoast 攻击的;但是,攻击的成功取决于密码的强度以及破解的服务帐户的权限级别。
使用 PsExec 进行黑客攻击

和任何合法工具一样,PsExec 也有可能被用于非预期用途。事实上,PsExec 有多种用途,可以让黑客的工作变得更加轻松,而且在远程系统上远程执行命令的能力也为黑客提供了多种攻击途径,而这些途径原本是无法获得的。

一个很好的例子就是在网络中横向移动。

PsExec 可以通过多种方式用于横向移动,但最简单的方法是在远程系统上执行交互式命令提示符。这与远程登录该计算机相同。

当无法远程桌面访问系统时,此功能非常有用。如果在远程系统上拥有足够的权限,则可以使用 PsExec 发出命令来启用 RDP(远程桌面协议),并将用户添加到远程桌面用户组。

PsExec 还允许以其他用户身份运行远程命令。

假设在 machine01 上可以访问标准用户帐户,但在 machine01 上发现一个密码,认为该密码可能是 machine02 的本地管理员密码。但是,无法通过 RDP 进入该系统。可以使用 PsExec 从 machine01 以 machine02 的本地管理员帐户身份在 machine02 上运行命令提示符。

使用 PSExec 的另一个好处是不需要用户密码即可以该用户身份运行命令。

假设通过Mimikatz 在 machine01 上为 machine02 的管理员用户找到了 NLTM 哈希。

利用使用 PsExec 的 Impacket,可以将用户的哈希传递到远程系统进行身份验证。这使得跨网络移动的速度更快,因为不需要使用Hashcat之类的工具来破解哈希。
使用 PsExec,要使用 PsExec,目标系统必须启用一些端口和服务。最常用的是 TCP 端口 445 和 139。

可以使用其他端口,例如端口 135,但不太常用。您还需要配置防火墙设置以允许通过端口 445 和 139 进行入站和出站流量。

还必须启用服务器消息块 (SMB)。如果发现主机上的端口 445 和/或 139 已打开,则意味着 SMB 可能已启用。您还应验证本地和远程主机系统上是否都启用了文件和打印机共享。

最后,您需要在运行 PsExec 的机器上拥有管理访问权限。

为了验证目标计算机上是否打开了正确的端口, 可以运行Nmap扫描来检查端口 139 和 445 是否打开。对于此扫描,我们将使用:

sudo nmap -p- -sV TARGET_IP --open

在这个特定的案例中,我们使用了:

sudo nmap -p- -sV 192.168.214.122 --open
使用 PsExec 作为 Windows 二进制文件
让我们一步一步地从 Sysinternals 获取本机 PsExec 并查看常用命令和参数。

要在 Windows 系统上使用 PsExec,您必须先从 Microsoft 下载。在 Google 上快速搜索“psexec”将返回正确的页面作为第一个结果。

点击链接后,将被引导至 PsExec 下载页面。您需要点击“下载 PsTools”链接来下载 PsExec。

在计算机上下载 PsTools 后,必须解压 zip 文件,右键单击它,然后在 Windows 11 上选择“全部解压”。

之后,系统会弹出一个窗口,询问要将内容提取到哪里。默认值是与 zip 文件所在的同一目录,这样就可以了。继续并单击“提取”。

提取文件后,需要将它们移动到计算机上的某个位置,只要您计划使用 PsExec,它们就会保留在那里。我们将文件移动到了 C:\PSTools。

现在,可以打开终端或命令提示符并导航到目录,或者打开目录文件资源管理器,右键单击,然后选择“在终端中打开”。

之后,就可以在 Windows 上使用 PsExec 了。

可以使用 PsExec 使用以下命令获取远程系统的 IP 配置:

.\PsExec.exe \\REMOTE_IP -u <USERNAME> -p <PASSWORD> ipconfig

对于我们的例子,完整的命令将是:

.\PsExec.exe \\192.168.0.225 -u stationx-admin -p stationx ipconfig
在 Metasploit 中使用 PsExec
Metasploit 是一款出色的黑客工具,应该很熟悉它。与 Impacket 一样,它内置于 Kali Linux 中。要启动Metasploit,需要输入“msfconsole”,然后将收到一条随机的欢迎消息。

然后需要选择要使用的模块。在我们的例子中,我们将使用这个:

exploit /windows/smb/psexec

设置完模块后,我们必须配置模块所需的各种选项。就此模块而言,它需要以下内容:

RHOST,SMBUser,SMBPass, 和LHOST

输入所有信息后,我们就可以通过输入漏洞来运行该模块。

建立连接后,将像使用以前的方法一样完全访问系统。只需输入 shell 命令即可。
通过 Python 脚本使用 PsExec
通常,在 Windows 机器上使用 PsExec 是为了管理目的,但在大多数黑客攻击场景中,您会使用像 Kali Linux 这样的操作系统。

Kali 有许多有用的内置工具。例如,Impacket 是一套非常有用的工具,它有自己的 PsExec 版本。

如果您使用的是 Kali Linux,则 Impacket 无需设置。它已安装好您的 PATH 中的所有工具。

远程计算机的远程控制语法是:

impacket-psexec USERNAME@IP_ADDRESS

在我们的例子中,这是:

impacket-psexec damon@192.168.237.249

Impacket 还具有一项功能,允许您使用用户的哈希值(而不是密码)远程访问其他计算机。这在黑客攻击中非常有用,因为您不一定能在找到用户的 NTLM 哈希值后破解它。

语法如下:

impacket-psexec <USERNAME@IP_ADDRESS> -hashes <NTLM_HASH>

在我们的示例中,命令是:

impacket-psexec damon@192.168.237.249 -hashes 00000000000000000000000000000000:820D6348890893116880101307197052

再次,一旦登录,就可以执行该用户可用的任何命令。
从 HTTP 服务器下载文件:Curl、Wget 和 Bash
Linux 机器上下载文件最常用的两个工具是curl和wget。

但是,还有许多其他二进制文件可用于下载文件。因此,作为附加内容,我们还将了解如何使用bash下载文件。

使用 Curl 下载文件
Curl 是一个非常强大的工具,可用于与 Web 服务器交互。它通常在 Web 应用程序渗透测试期间使用;但是,它也可以用于从 Web 服务器快速下载文件

将脚本或可执行文件下载到受害机器后,添加执行权限来运行它非常重要

chmod 755 ./linpeas.sh

看到全部 0 表示文件实际上并未下载,但我们可以看到它仍在运行。这是因为它正在被下载并直接在内存中执行
入侵 Jenkins 服务器获取反向 Shell
对于此示例,我们有端口 8080 可以使用,因此让我们枚举代理 Web 服务。

我们可以通过打开浏览器并导航到 127.0.0.1:8080 与该服务进行交互

然后我们就可以看到 Jenkins 登录页面了!

Jenkins 是一个开源自动化服务器,它使世界各地的开发人员能够可靠地构建、测试和部署他们的软件。

我们需要在这里找到登录凭据。默认用户名是“admin”,密码是随机生成的字符串,可以在 Jenkins 日志中找到。但是,当管理员设置服务器时,这些会发生变化。为此,我们可以测试一些常用凭据并希望进入。

常见的凭证包括 admin:admin;admin:password 等。但是在攻击这些类型的服务器时,另一个好方法是使用服务名称作为用户/密码组合,在本例中为 jenkins:jenkins。

测试上述所有用户/密码组合,我们设法使用jenkins:jenkins进入,并看到 Jenkins 仪表板!

要获取反向 shell,我们需要检查是否安装了 Groovy 插件,这是一个脚本控制台,可以执行 Java 可以执行的几乎所有操作,包括:在 Jenkins 控制器和代理上创建子进程并执行任意命令。换句话说,在托管此服务的主机(受害者)上执行命令。
不安全的GUI应用程序——Windows权限提升

我们首先在桌面上找到要执行的应用程序的快捷方式。执行后,我们将检查正在运行的进程,发现该应用程序正在以管理员身份运行。然后,我们将从该应用程序中脱离出来,进入管理员 shell。作为额外奖励,我们还将查看另一个可以以类似方式滥用的 GUI 应用程序,名为hhupd.exe。

可以配置 Windows 应用程序,以便用户被授予以管理员权限运行某个 GUI 应用程序的权限。当程序需要提升权限才能执行其某些功能时,这通常是必要的。

查找以管理员身份运行的应用程序
由于本文中的示例需要 GUI,因此假设在初始枚举期间,我们找到了用户bob的凭据,并且 RDP 在端口 3389 上打开。我们将 2 + 2 放在一起,然后使用xfreerdp登录。

我们可以通过执行该程序,然后使用tasklist命令或检查任务管理器检查正在运行的进程来测试该程序是否以管理员权限运行。