windows创建隐藏用户及后门

windows创建隐藏用户及后门

简介

  1. 隐藏用户:

    • 隐藏用户:

      • 是指在系统上创建一个不可见或不易检测的用户账户。这种用户账户通常用于绕过安全措施、维持持久访问或执行恶意活动。隐藏用户可能不会在常规的用户列表中显示,并且往往具有特殊权限以便恶意用户可以在系统中执行未经授权的操作。
  2. 后门:

    • 后门:

      • 是指通过绕过正常的认证和授权措施而获取对计算机系统、网络或应用程序的非法访问权限的一种方法。它通常是由恶意用户在系统中植入的,目的是在未经授权的情况下获取对系统的控制权或执行未经授权的操作。后门可能是在系统中创建隐藏用户、植入特定的代码或使用其他技术手段来实现。

实验环境

主机IP地址
windows server 2008r2 虚拟机192.168.30.134
win7 虚拟机192.168.30.16

实验目的

了解windows用户管理系统,熟悉相关windows后门情况。

windows系统相关介绍

创建隐藏用户

在进行创建用户隐藏实验中,我们需要先了解一些windows用户的相关知识:

  1. windows用户系统简介

    在Windows操作系统中,用户系统是用于管理和控制用户访问、权限和资源的一组功能和机制。以下是Windows用户系统的一些关键概念和组成部分:

    用户账户:

    • Windows用户系统基于用户账户来管理用户访问和权限。每个用户都必须拥有一个唯一的用户账户,用户账户包含了用户的登录名和密码等信息。用户账户可以是本地账户(仅限于本地计算机)或域账户(属于域控制器管理的网络域)。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FUEKCSMI-1687262082558)(C:/Users/dsa59/AppData/Roaming/Typora/typora-user-images/image-20230620162152858.png)]

    用户组:

    • 用户组是将多个用户账户组织在一起并为它们分配相同权限和访问控制的一种机制。用户组可以简化权限管理,并根据需要将权限一次性应用于多个用户。

      image-20230620162246092

    用户权限:

    • 用户权限定义了用户可以访问和执行的系统资源、文件、文件夹和操作。用户权限可以是预定义的标准权限(如读取、写入、执行等),也可以是自定义的特定权限。权限可以通过用户组或直接为用户账户分配。

      image-20230620162331446

    用户配置文件:

    • 每个用户账户在登录时都会加载其相关的用户配置文件。用户配置文件存储了用户的偏好设置、个人化设置、应用程序数据和其他用户相关的信息。

      image-20230620162434150

    用户登录过程:

    • 用户登录是指通过提供有效的用户名和密码来验证用户身份,并获得访问计算机系统的权限。在Windows系统中,用户登录可以使用本地账户登录或使用域账户登录,具体取决于系统的配置。

      image-20230620162505129

    用户管理工具:

    • Windows提供了一些用户管理工具,用于创建、删除、修改和管理用户账户。其中包括本地用户和组管理工具(如用户管理控制面板)以及域用户和组管理工具(如Active Directory用户和计算机管理)。
    • image-20230620162622674

    需要注意的是,用户系统的特定功能和操作可能会因不同的Windows版本、系统配置和网络环境而有所差异。有时,企业还会使用其他用户管理工具和策略来增强用户安全性和访问控制。

    总的来说,Windows用户系统是用于管理和控制用户访问权限的重要组成部分。它提供了一系列功能和工具,以确保系统安全,并使管理员能够有效地管理用户账户和权限。

  2. windows 命令操作界面 (CMD)简介

    image-20230620170433666

    Windows CMD(Command Prompt)是Windows操作系统中提供的命令行界面。它是一个文本模式的交互式工具,可以让用户通过输入命令来与操作系统进行交互和执行各种任务。

    CMD是一种命令行解释器,它解析并执行用户输入的命令行命令。通过CMD,你可以执行各种系统管理和维护操作,访问文件和文件夹,运行程序,配置网络设置,检查系统信息以及运行脚本等。

    CMD提供了许多内置的命令和工具,如dir(列出目录内容)、cd(更改目录)、copy(拷贝文件)、del(删除文件)、ipconfig(显示网络配置信息)等。此外,CMD还支持批处理脚本(以.bat或.cmd文件扩展名)来执行一系列命令。

    CMD界面是一个黑色的窗口,在其中你可以输入命令和查看命令的输出结果。输入一个命令后,按下Enter键即可执行该命令。

  3. 在CMD中和操作用户相关的命令

    1. 显示登录用户列表

      net user
      

      此命令将显示当前系统中的所有用户账户的列表。

      1. 显示特定用户的详细信息
      net user <用户名>
      

      <用户名>替换为要显示详细信息的具体用户账户名称。此命令将显示有关该用户账户的详细信息,包括用户名、用户组、最后一次登录时间等。

      1. 创建用户账户
      net user <用户名> <密码> /add
      

      使用此命令可以创建一个新的用户账户。将<用户名>替换为要创建的用户名,将<密码>替换为用户账户的密码。

      1. 删除用户账户
      net user <用户名> /delete
      

      使用此命令可以删除一个用户账户。

    2. 启用或禁用用户账户

      net user <用户名> /active:{yes|no}
      

      使用此命令可以启用或禁用特定的用户账户。将<用户名>替换为要启用或禁用的用户账户名称。通过指定/active:yes可以启用账户,指定/active:no可以禁用账户。

      1. 修改用户密码
      net user <用户名> <新密码>
      

      使用此命令可以修改特定用户账户的密码。将<用户名>替换为要修改密码的账户名称,将<新密码>替换为新的密码。

    3. 将用户添加到用户组

    net localgroup <用户组名> <用户名> /add
    

    使用此命令可以将特定的用户添加到指定的用户组中。将 <用户组名> 替换为要添加用户的用户组名称,将 <用户名> 替换为要添加的用户账户名称。

    1. 从用户组中删除用户
    net localgroup <用户组名> <用户名> /delete
    

    使用此命令可以从指定的用户组中删除特定的用户。将 <用户组名> 替换为要删除用户的用户组名称,将 <用户名> 替换为要删除的用户账户名称。

    1. 显示用户账户的授权信息
    net user <用户名> /domain
    

    此命令用于显示特定用户账户在域环境中的授权信息。将 <用户名> 替换为要显示授权信息的用户账户名称。

    1. 强制用户更改密码
    net user <用户名> <新密码> /passwordreq:yes
    

    以上为windows系统中,CMD命令行对用户的基本操作

  4. 什么是windows注册表

    **Windows注册表(Windows Registry)**是Windows操作系统中的一个重要组成部分,用于存储和管理系统配置和设置。它是一个层次结构的数据库,包含了大量的键、值和数据项,用于控制操作系统、硬件和应用程序的行为。

    以下是关于Windows注册表的一些重要信息:

    1. 根项(Root Keys):

      • HKEY_CLASSES_ROOT(HKCR):存储关联文件扩展名和文件类型的信息。
      • HKEY_CURRENT_USER(HKCU):存储当前登录用户的配置设置。
      • HKEY_LOCAL_MACHINE(HKLM):存储计算机本地用户(即所有用户)的配置设置。
      • HKEY_USERS(HKU):存储所有用户配置设置的模板。
      • HKEY_CURRENT_CONFIG(HKCC):存储当前硬件配置信息。
      • HKEY_PERFORMANCE_DATA(HKPD):提供给性能监视器使用的性能数据。
    2. 子项(Subkeys):

      • 根项下有许多子项,用于进一步组织和存储相关的注册表配置。
      • 例如,HKEY_LOCAL_MACHINE根项下可能有子项如SOFTWARE、SYSTEM、HARDWARE等。
    3. 键(Keys):

      • 键是注册表中的容器,类似于文件夹。
      • 键用于组织和分组相关设置。
      • 一个键下可能包含多个子键和/或值。
      • 键的路径由根项、子项依次按层级结构组成。
    4. 值(Values):

      • 值存储与注册表项相关联的设置信息。
      • 每个键可以具有多个值。
      • 每个值都有一个名称和数据,并且具有特定的数据类型。
      • 不同的数据类型包括字符串(REG_SZ)、二进制(REG_BINARY)、整数(REG_DWORD)、多字符串(REG_MULTI_SZ)等。
    5. 数据类型:

      • 注册表值可以具有不同的数据类型,用于存储不同种类的数据。
      • 常见的数据类型包括字符串、整数、二进制、多字符串等。
      • 不同的数据类型对应不同的值的格式和解释方式。

    通过注册表编辑器工具(regedit.exe),用户可以浏览、编辑、添加、修改和删除注册表项、键和值。正确的修改注册表可以改变系统的行为和配置设置。

    重要性:注册表存储着系统配置、用户偏好设置、硬件和驱动程序信息等重要数据。对注册表的错误修改可能导致系统不稳定、应用程序失效甚至系统崩溃。因此,对注册表的更改应该谨慎,并最好在知道自己在做什么的情况下进行操作。

    注册表根项详细介绍
    1. HKEY_CLASSES_ROOT (HKCR):

      • 这个根项保存了文件扩展名和关联的文件类型的信息。它定义了在系统中如何处理不同的文件类型,包括文件图标、关联的默认程序和文件类型的行为。
      • 在这个根项下,你可以找到文件扩展名的子项,每个子项都包含了与特定文件类型相关的键和值。
    2. HKEY_CURRENT_USER (HKCU):

      • 这个根项保存了当前登录用户的配置设置。它包含了关于用户个性化设置、桌面设置、壁纸、文件夹选项、登录脚本、打印机和网络驱动器等的信息。
      • 当用户登录时,该根项会根据用户登录的身份生成相应的配置项。每个用户拥有独立的 HKCU 分支。
    3. HKEY_LOCAL_MACHINE (HKLM):

      • 这个根项保存了本地计算机上所有用户的设置,以及系统级别的配置。它包含了操作系统和硬件相关的信息。
      • 在这个根项下,你可以找到许多重要的子项,如 Software(软件安装信息)、Hardware(硬件配置信息)、System(系统设置)等。
    4. HKEY_USERS (HKU):

      • 这个根项保存了每个用户的配置设置的模板版本。在一个系统上,它包含了所有用户账户的配置模板。
      • 每个用户账户都有一个与之对应的注册表 hive,当用户首次登录时,将会根据 HKU 根项中的设置生成用户的个性化配置。
    5. HKEY_CURRENT_CONFIG (HKCC):

      • 这个根项保存了计算机的当前硬件配置信息,包括显示器、键盘、鼠标和打印机等设备的配置。
      • 这些设备的配置信息根据计算机的硬件配置在系统启动时动态加载。
    6. HKEY_PERFORMANCE_DATA (HKPD):

      • 这个根项提供了性能监视器使用的性能数据。
      • 它包含了关于系统中各种性能计数器的信息,如 CPU 使用率、内存使用情况等。

开始实验

创建隐藏用户

在实验前为什么还要介绍这些知识呢?因为我们此次实验跟以上知识密不可分,我们需要明白啥是windows用户管理,啥是cmd,以及和用户相关的一些指令,最最重要的就是注册表,这是我们这次实验最关键的地方,能不能隐藏用户成功都得看注册表是否操作正确,接下来我们开始实验。

第一步 使用CMD命令行创建用户

在创建用户之前我们用

net user

查看一下本地有哪些用户

image-20230620170923726

在此我们发现我们本地拥有两个用户administrator和guest。

说到这里我想要把windows系统的用户账户类型介绍一下:

  • Administrator(管理员):具有最高权限的用户账户。可以对系统进行广泛的配置、管理和操作。
  • Standard User(标准用户):普通用户账户,受到一定的权限限制,无法对系统进行敏感的更改。
  • Guest(访客):为临时或受限用户提供有限权限的账户。
  • 内置账户:系统预定义的一些特殊账户,如 System、Network Service、Local Service 等,用于服务和系统进程的执行上下文。

在此次的隐藏用户的过程中我们就需要将我们新建的用户提升至管理员权限才能成功隐藏。

接下来我们用以下命令进行隐藏用户创建

net user hack$ 123456 /add

其中 $就代表隐藏的意思,当然它只能在cmd命令行中隐藏,在用户管理工具面前还是无法隐藏,这就呀牵扯到注册表的操作的,跟着我一步一步的操作,我们慢慢揭开注册表神秘的面纱。

image-20230620172547083

我这里报错了,提示密码复杂度不符合要求,这是因为本地策略组开启密码必须符合复杂性要求的策略,我们可以前往本地策略编辑器中关闭此项功能以便继续完成实验。

使用 win+r后输入以下命令

gpedit.msc

image-20230620172743568

然后进入 计算机配置->windows设置->安全设置->账户策略->密码策略->密码必须符合复杂性要求

image-20230620172956150

把已启用设置为已禁用

image-20230620173038966

点击应用->确定 ,完成这不操作后我们就可以继续创建隐藏用户的操作了

策略组是在 Windows 操作系统中用于安全管理和控制的重要组件之一。它涉及到策略对象、策略设置和策略规则等方面,可以用于定义和强制执行系统的各种安全策略和规则。

回到刚才的操作

image-20230620174405021

通过修改策略组的方法,我们成功的设置了隐藏账号,接下来就是提升账号的权限把它从普通用户组提升到管理员用户组

第二步 提升用户组

在这一步我们使用cmd命令

net localgroup administrators hack$ /add

image-20230620174746485

在使用完这条指令后我们刚才新建的用户就顺利的提升到管理员用户组了,我们来查看一下是否提权成功。

image-20230620174846895

当我们输入net user 查看用户的时候 发现并没有我们刚才创建的用户,这就表示我们创建的隐藏用户已经成功了一半,我们在进用户管理工具中看看。

image-20230620175001271

在这里我们发现了,刚才在cmd命令行中创建的用户,这里并没有隐藏,这是因Windows 用户管理工具一般会显示所有已启用的用户,包括以特殊字符结尾的名称。这是为了方便用户管理和跟踪已启用的账户。

所以我们要开始最核心的操作了,去操作注册表来真正的隐藏我们的用户。

第三步 操作注册表,实现隐藏用户

在上文中,我已经介绍过注册表,它几乎是windows系统的核心所在,它也几乎可以更改windows 所有的操作,接下来我们就进行windows注册表的操作来真正实现用户隐藏。

regedit

image-20230620175710078

我们输入regedit来进入注册表界面。

通过上文的介绍,我们了解了注册表中关于用户的操作是在HKEY_LOCAL_MACHINE(HKLM)表项中,但是用户信息具体在那个位置呢?接下来我带你进行更深一步的操作

image-20230620180022580

我们打开HKEY_LOCAL_MACHINE->SAM->SAM

image-20230620180119419

发现这个文件夹下面已经没有文件,其实不然,是因为你没有操作它的权限,在此我们需要提升我们对此文件的操作权限。

image-20230620180237561

选中SAM鼠标右键,选择权限

image-20230620180637260

因为这次是做一个实验,并没有真正的准备账号入侵,所以在这里我就以administrator账号来演示操作,日后真正在物理机上实操的时候,就以你现在登陆的账号操作就好

在此我们选择administrator 和administrator的权限 选择完成控制,在点应用->确认,就完成了对该文件权限的提升。

我们在推出注册表重新进入就会发现SAM文件夹下又有文件了可以操作了

image-20230620181006117

在这里我们依次选择SAM->SAM->Domains->Users->Names就可以发现我们刚才创建的账号了以及目前系统存在的账号。

image-20230620181242069

这里有几个值我们要关注一个是账户的类型例如:hack$的类型是0x3ea 这里的0x表示的是16进制后面的3ea则就表示账号的基本信息,我们进行账号隐藏的关键点就在于此。

我们要根据这个信息找到对应的账号信息,看下图

image-20230620182408205

以此类推我们把administrator的账号信息也找出来。

image-20230620182501635

接下来我们继续操作,先把 administrator和hack$的信息导出

image-20230620184550124

a为administrator的账号信息

h为hack$的账号信息

image-20230620181917087

我们需要选择编辑 去复制administrator的账号信息

image-20230620182633278

这些都是账号的基本信息,我么要做的就是偷梁换柱,把administrator的账号信息换给hack$账号中去

接着我们在cmd命令行中删除刚才我们创建的账号hack$

image-20230620183009565

image-20230620183029359

现在用户组里也没有hack$的账号信息了

image-20230620184630184

net user hack$ /delete

我们在CMD命令行中把hack$账户给删除

然后再讲刚刚修改好的注册表从新导入进来,双击

image-20230620184859521

现在我们再来查看一下cmd命令行中、用户管理工具以及注册表中是否还有用户

image-20230620185013428

image-20230620185031635

image-20230620185047208

此时我们发现只有注册表才有该用户,这就表示我们成功的隐藏了用户,如果是一般人,它们都不会注册表,更别提去查注册表发现我们了,但是有一定安全经验的安全人士就能从注册表中把我们账号抓出来,如果想在注册表中也隐藏那就需要额外的工具了,例如使用rootkit工具就可以把账号更隐蔽的隐藏起来

防御方法

要防御账号隐藏和保护系统的安全性,可以考虑以下几种措施:

  1. 强化访问控制:限制用户账户的权限,并严格控制对敏感操作和系统资源的访问。使用最小特权原则,确保每个用户只拥有执行其工作所需的最低权限级别。

  2. 定期审查用户账户:定期审查系统中的用户账户,检查是否存在未授权或异常活动的账户。禁用或删除不需要的账户,包括隐藏的账户。

  3. 安全配置审查:审查系统配置和安全设置,确保启用了适当的安全功能,例如 User Account Control (UAC)、防火墙和安全策略等。

  4. 更新和补丁管理:及时安装系统和应用程序的安全更新和补丁程序,以修复已知的漏洞和安全弱点。

  5. 强密码策略:要求用户使用强密码,并定期更换密码。密码应该是至少8个字符,包括字母、数字和特殊符号的组合。

  6. 多因素身份验证:使用多因素身份验证,结合密码和其他身份验证方法,如指纹、硬件令牌或二次验证应用程序等。

  7. 安全意识培训:为用户提供有关安全最佳实践和恶意行为的培训,以提高他们的安全意识,避免受到钓鱼、社会工程和其他诈骗手段的影响。

  8. 安全监测和日志记录:启用安全监测和日志记录,监视系统的活动并及时检测异常或可疑的行为。定期审查日志以发现潜在的安全问题。

  9. 使用安全软件:安装和更新可靠的防病毒软件、防火墙和恶意软件检测工具,以增加系统的安全性。

windows 后门

什么是windows后门?

在计算机安全领域,Windows 后门是指一种恶意软件或恶意功能,通过绕过系统的安全机制和访问控制,使攻击者能够在未经授权的情况下远程访问和控制受感染的 Windows 系统。

Windows 后门的一些特点和功能:

  1. 隐蔽性:Windows 后门通常会隐藏其存在,采取各种技术手段来绕过防病毒软件和安全工具的检测。常见的方法包括修改文件属性、隐藏进程、篡改系统配置等。

  2. 远程访问:Windows 后门提供了远程访问和控制的能力,使攻击者可以通过网络运行指令、上传和下载文件、获取敏感信息等。

  3. 持久性:Windows 后门通常会将自身配置为在系统启动时自动运行,并保持持久化。它可能会写入启动项、服务、计划任务等。

  4. 命令和控制:Windows 后门通过与远程服务器或控制中心建立连接,接收远程命令和指令。这使得攻击者可以通过发送命令来操纵被感染的系统。

  5. 数据窃取:Windows 后门经常用于窃取敏感信息,如登录凭证、银行信息、个人身份信息等。这些数据可能会传送到攻击者的服务器上。

  6. 后门扩散:通过某些漏洞或传播途径,Windows 后门可能会自动感染或传播到其他系统上。这种自动感染行为使得后门可以在网络中传播并扩大攻击范围。

关于CMD的后门

今天只介绍一种比较初级的后门手段,这种办法也是我在日常维护中时常会给自己留的后门,

在我们登陆windows系统,如果忘记密码,那么就没办法登陆到系统中去,只能在登陆界面默默哀伤,一般情况话会用U盘PE系统 去绕过windows登陆界面,或者进PE去更改windows的密码,不过这些都太麻烦了,又要重启系统,又要进PE,还要整一堆不必要的事情,所以我学会一种后门方法,就是cmd替换法。

image-20230620190646058

在这个界面里就有一个后门,只要我轻轻一点就会把CMD命令行调用出来,然后我就可以通过CMD命令行去修改账号密码或者新建账号,达到进入系统的目的。接下来我来演示该如何使用

首先我们进入系统中去找到这两个文件

magnify.exe

cmd.exe

image-20230620191052472

image-20230620191107857

它们的路径分别为 C:\Windows\System32\Magnify.exe 和 C:\Windows\System32\cmd.exe。

找到它们后,我们需要做的事情很简单,把Magnify.exe 改名为 Magnify.exe.old

然后把cmd.exe 改名为 Magnify.exe 即可

image-20230620192509658

image-20230620192637053

更改了以后,我们在来测试一下我们是否成功。

image-20230620192730422

在登陆界面成功打开了CMD界面。也就表示我们成功了

shift后门

其他它的原理和我的方法差不多,也是通过更特定软件名来实现,cmd的系统进入

现在我们开始实验:

win + r 输入cmd 进入命令行界面

在进入到 cmd.exe 和sethc.exe文件所在的文件夹当中

c:\windows\system32

cd c:\windows\system32

image-20230620193600393

我们在使用命令

attrib -s -r -h sethc.exe

这个命令的作用是修改文件的属性

  • “-s”:移除系统属性。移除该属性后,文件将不再被认为是系统文件。

  • “-r”:移除只读属性。移除只读属性后,文件可以被修改或删除。

  • “-h”:移除隐藏属性。移除隐藏属性后,文件将在文件系统中可见

此时我们就可以对sethc.exe改名了

在cmd中使用命令

image-20230620194444975

使用一下命令

move sethc.exe sethc.exe.old

将sethc.exe 改名为sethc.exe.old

image-20230620194701852

在使用命令

move cmd.exe sethc.exe

image-20230620194739447

将cmd.exe 改名为 sethc.exe

现在就已经成功的完成sethc.exe的文件的转换,我们在来测试一下

image-20230620194917763

已经成功进入了cmd,就证明我们已经成功了。

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值