webserver.md

First Post:

Last Update:

1.攻击者使用什么攻击工具进行信息收集

flag{BloodHound}

2.攻击者冒充哪个用户!


flag{whoami.exe}

3.攻击者使用Unquoted Service Path进行提权,存在漏洞的服务的名称是什么!


flag{Automate-Basic-Monitoring.exe}

4.fun.exe的原名是什么

flag{mimikatz.exe}

5.发起DCSync攻击的命令是什么(无双引号)

flag{lsadump::dcsync /user:Abdullah-work\Administrator}

6.攻击者利用什么服务以管理员身份访问Client03机器

flag{Rubeus.exe}

7.受感染机器的名称

flag{Client02}

8.攻击者远程登录时,Client03 机器产生了一个新进程。提交进程名

flag{wsmprovhost.exe}

过程
1和7题、

登录进这个环境的网站

发现是splunk

于是我们可以在搜索框内进行搜索

我们可以搜索事件ID为4104的事件,4104表示PowerShell脚本块开始执行

我们可以在名为”folks”的索引中进行搜索。在splunk中”folks”索引用于存储与人员、员工或用户相关的数据。这样的索引可能包含用户活动日志、身份验证信息、用户行为分析等与人员相关的数据。

我们可以搜索“sourcetype”为”xmlwineventlog”,这表明这些事件数据的类型是从Windows事件日志(XML格式)中提取的。

我们可以用”source”字段去过滤日志,当”source”字段为”microsoft-windows-powershell/operational”时,是过滤了与 PowerShell 相关的操作和事件。

综上所述:我们可以编造语句

–> index=folks sourcetype=”xmlwineventlog” source=”xmlwineventlog:microsoft-windows-powershell/operational” EventCode=4104

进行搜索,将在名为”folks”的索引中查找来自Windows PowerShell 操作日志中事件代码为4104的特定事件数据。

在进行Windows攻击分析时,查看PowerShell日志和特定事件ID(如4041)是非常重要的,原因如下:

PowerShell日志分析

PowerShell是攻击者常用的工具:PowerShell是Windows系统中强大的脚本语言和命令行工具,攻击者经常利用其进行恶意活动,如下载恶意软件、横向移动等。

检测恶意活动:通过分析PowerShell日志,可以监视PowerShell的使用情况,识别可能的恶意活动、命令执行和潜在的安全威胁。

特定事件ID的重要性

事件ID 4041:在Windows中,事件ID 4041通常指示PowerShell执行过程中的安全审计事件。这些事件提供了有关PowerShell脚本的执行、命令参数和执行结果的详细信息。

审计和检测:通过查看事件ID 4041,可以了解PowerShell命令的具体细节,帮助识别潜在的恶意活动或异常行为。

然后我们在接近开始时间的地方发现

或者

我们在上面得到主机名

于是我们已经知道⼯具为 bloodhound,被感染机为 CLIENT02,开始时间为 2023-05-

10 03:28:41

2、

因为题目是’冒充哪个用户’所以分析 sysmon 事件的 id(关于⽤户操作的信息居多)

Security: 安全日志是 Windows 操作系统中记录安全相关事件的日志。这些事件包括登录尝试、账户管理、对象访问等安全相关活动。安全日志对于监视系统安全性、检测潜在的安全威胁以及进行安全审计非常重要。

Microsoft-Windows-Sysmon/Operational: Sysmon 是一种由 Microsoft 提供的高级系统监视工具,用于捕获和记录操作系统活动。Sysmon 可以监视文件创建、进程创建、网络连接等活动,并将这些信息记录到事件日志中。Microsoft-Windows-Sysmon/Operational 日志包含了 Sysmon 生成的操作事件信息,可用于系统监控、安全分析和威胁检测。

System: 系统日志是 Windows 操作系统中记录系统级事件的日志。这些事件包括系统启动、硬件故障、驱动程序加载等与系统运行状态相关的信息。系统日志对于故障排除、性能监控和系统管理非常重要。

Application: 应用程序日志是 Windows 操作系统中记录应用程序相关事件的日志。这些事件包括应用程序错误、警告、信息性消息等。应用程序日志对于应用程序的健康状态监控、故障排除和日常运行状态的了解很有帮助。

Microsoft-Windows-PowerShell/Operational: PowerShell 操作日志是 Windows PowerShell 执行过程中生成的事件日志。这些事件包括 PowerShell 脚本执行、命令执行、错误信息等。Microsoft-Windows-PowerShell/Operational 日志对于监视 PowerShell 活动、审计脚本执行以及了解 PowerShell 使用情况非常有用。

筛选 Sysmon 事件 事件ID=1 并将父进程的筛选器设置为 PowerShell 来查找命令⾏活动。 以来的事件时间范围设置了⾃ 2023-05-10 以来

使用命令

index=folks sourcetype=xmlwineventlog source=XmlwinEventLog:Microsoft-windows-Sysmon/Operational host=”client02” EventCode=1 ParentImage =C:\windows\System32\WindowsPowerShell\v1.0\powershell.exe

| stats values(User) as user values(OriginalFileName) as file_name values(Commandline) as cmdline by _time host

解释:

在 “folks” 的索引中搜索数据,数据源类型为 “xmlwineventlog”,并且指定了特定的事件源和主机。该查询的目的是检索在指定主机(host=”client02”)上发生的 Sysmon(System Monitor)事件日志中 EventCode=1 的事件,且父进程的路径是 “C:\windows\System32\WindowsPowerShell\v1.0\powershell.exe”。

接下来,通过 | stats values(User) as user values(OriginalFileName) as file_name values(Commandline) as cmdline by _time host 进行统计操作。这将根据时间戳(_time)和主机(host)字段对结果进行分组,并统计每个组中的用户(User)、原始文件名(OriginalFileName)和命令行(Commandline)的值。

3、

观察题目发现有个问题是“攻击者使用Unquoted Service Path进行提权”

什么是“Unquoted Service Path”呢,就是–>”不带引号的服务路径漏洞”

使用语句进行搜索exe文件

–>index=folks NOT “splunk” NOT “edge” host=CLIENT02 Image=”.exe” CommandLine =”.exe”

| stats count by Image, CommandLine

可以使用语句:(效果一样)

–>host=CLIENT02 Image=”.exe” CommandLine =”.exe”

| stats count by Image, CommandLine

语句解释:这个查询是一个Splunk查询语句,用于在名为 CLIENT02 的主机上查找 Image 字段以 .exe 结尾的进程,并且这些进程的 CommandLine 字段也.exe 结尾。同时,该查询排除了 Image 字段包含 “splunk” 或 “edge” 关键词的进程。

逐字解释这个查询语句的各个部分:

index=folks:这表示在名为 folks 的索引中执行搜索。索引是 Splunk 中用于组织和存储数据的逻辑容器。

NOT “splunk” NOT “edge”:这部分是一个过滤条件,表示排除包含 “splunk” 或 “edge” 关键词的结果。

host=CLIENT02:这表示限定搜索范围为主机名为 CLIENT02 的主机。

Image=”*.exe”:这是一个过滤条件,用于筛选 Image 字段以 .exe 结尾的进程。

CommandLine=”*.exe”:这是另一个过滤条件,用于筛选 CommandLine 字段以 .exe 结尾的进程。

| stats count by Image, CommandLine:这部分是用于对结果进行统计的命令,它将按照 ImageCommandLine 字段的值进行分组,并计算每个组的数量。

发现最后一个不太符合规律(产生怀疑),正常来说子进程应该由对应的父进程进行触发

而且

所以‘C:\program.exe’是伪装替换‘C:\Program Files\Basic Monitoring\Automate-Basic-Monitoring.exe’的父进程进行执行

4、

观察题目进行搜索fun.exe

使用语句

–>host=Client02 EventCode =1 Image=”*fun.exe”

语句解释:

host=Client02:过滤了 host 字段为 Client02 的事件。

EventCode=1:过滤了 EventCode 字段为 1 的事件。EventCode = 1 通常表示系统启动事件。

Image=”*fun.exe”:过滤了 Image 字段以 fun.exe 结尾的事件。

这个查询语句的目的是查找在 Client02 主机上,EventCode1,且 Image 字段以 fun.exe 结尾的事件。

发现第一个与其他 不一样

根据提供的信息,“lsadump::dcsync /user:Abdullah-work\Administrator” 是命令行中的一部分,用于执行 Mimikatz 工具的特定功能。

lsadump::dcsync:这部分命令是 Mimikatz 工具提供的功能之一,用于执行域控制器同步攻击(DCSync)。DCSync 允许攻击者模拟域控制器,从另一个域控制器获取域中所有用户的 NTLM 密码哈希。这样的攻击允许攻击者在没有域管理员权限的情况下获取用户凭据信息。

/user:Abdullah-work\Administrator:这部分指定了要执行 DCSync 攻击的目标用户,即 Abdullah-work 域中的 Administrator 用户。攻击者试图从域控制器获取该用户的凭据信息。

综合起来,“lsadump::dcsync /user:Abdullah-work\Administrator” 这部分命令的作用是使用 Mimikatz 工具执行 DCSync 命令,目标是获取 Abdullah-work 域中 Administrator 用户的凭据信息。

5、

使用语句:

index=folks sourcetype=”xmlwineventlog” source=”xmlwineventlog:microsoft-windows-sysmon/operational” host=Client02 EventCode =1 ParentImage =”C:\windows\System32\windowsPowerShell\v1.0\powershell.exe”

| stats values(User) as user values(OriginalFileName) as file_name values(CommandLine) as cmdline by _time host

得到:

解释:

这个命令是一个用于执行身份验证和授权操作的命令,具体涉及到身份切换(Switch for User)以及使用 Kerberos 协议进行身份验证。

“C:\Users\HelpDesk\Microsoft-Update.exe”:这部分是命令中要执行的可执行文件的路径。在这种情况下,可执行文件是 Microsoft-Update.exe,位于 C:\Users\HelpDesk 目录下。

s4u:这部分指定了要执行的操作,即“Switch for User”,表示执行身份切换操作。

/user:Client02$:这部分指定了要切换身份到的目标用户,即 Client02$ 用户。

/aes256:0a87dfe150dc1da194b965a620e2acd94aea917185c7bb6731aa323470f357d9:这部分似乎是指定了使用 AES-256 加密算法和相应的密钥进行身份验证。

/msdsspn:http/Client03:这部分指定了目标服务的 SPN(Service Principal Name),即 http/Client03

/impersonateuser:Administrator:这部分指定了要模拟的用户身份,即 Administrator 用户。

/ptt:这部分可能表示“Pass the Ticket”,用于将票据传递给目标服务。

综合起来,这个命令是在 Microsoft-Update.exe 中执行了一个身份切换操作,将身份切换到 Client02$ 用户,并使用 AES-256 加密算法和密钥进行身份验证,同时模拟 Administrator 用户身份,最终将票据传递给 http/Client03 服务。

6、

使用语句:

index=folks sourcetype=XmlWinEventLog source=XmlWinEventLog:microsoft-windows-sysmon/operational EventCode=1 host=CLIENT03 NOT CommandLine IN (splunk)

| table _time OriginalFileName Image CommandLine

解释:

这个查询看起来是针对 Splunk 或类似日志分析工具的查询语句,用于从 XML 格式的 Windows 安全事件日志中提取特定事件信息。让我解释一下这个查询的各个部分:

index=folks:指定了要在名为 “folks” 的索引中进行搜索。

sourcetype=XmlWinEventLog:指定了要搜索的日志类型为 XmlWinEventLog。

source=XmlWinEventLog:microsoft-windows-sysmon/operational:指定了事件日志的来源为 “microsoft-windows-sysmon/operational”。

EventCode=1:筛选了事件代码为 1 的事件,通常代表系统启动事件。

host=CLIENT03:指定了要搜索的主机名为 “CLIENT03”,即筛选出特定主机的事件。

NOT CommandLine IN (splunk):这部分表示要排除命令行中包含 “splunk“ 的事件,即不包含 “splunk” 字符串的事件。排除本地的影响。

| table _time OriginalFileName Image CommandLine:使用 table 命令选择要显示的字段,包括时间 (_time)、原始文件名 (OriginalFileName)、映像 (Image) 和命令行 (CommandLine)。

综合起来,这个查询的目的是从 XML 格式的 Windows 安全事件日志中提取在主机 “CLIENT03” 上的系统启动事件(EventCode = 1)的相关信息,同时排除命令行中包含 “splunk” 的事件。查询结果将显示时间、原始文件名、映像和命令行信息,有助于监控系统启动事件并排除与 Splunk 相关的事件。

8、

看题目提示是’远程登录’,并且是Client03,而与 Windows 远程登录相关联的是 (WinRM) 服务的可执⾏⽂件

于是我们进行搜索’WinRM’

命令:

EventCode=1 host=CLIENT03 EventData_Xml=”WinRM

解释:

跟据EventCode=1 过滤并查看特定主机(host=CLIENT03)上与 WinRM 相关的事件数据。

EventCode=1 通常代表系统启动事件。在事件日志中查找包含 “WinRM” 字符串的事件数据的查询。

在 Windows 系统中,WinRM(Windows 远程管理)是一种远程管理协议,允许管理员远程管理计算机和服务器。通过查找包含 “WinRM” 的事件数据,您可以定位与 WinRM 相关的事件。

发现

reward
支付宝 | Alipay
微信 | Wechat