Windows基础 重要CMD指令以及重要文件

声明:
本文的学习内容来源于B站up主“泷羽sec”的公开分享,所有内容仅限于网络安全技术的交流学习,不涉及任何侵犯版权或其他侵权意图。如有任何侵权问题,请联系本人,我将立即删除相关内容。
本文旨在帮助网络安全爱好者提升自身安全技能,并严格遵守国家法律法规。任何人利用本文中的信息从事违法活动,均与本文作者和“泷羽sec”无关。请读者自觉遵纪守法,合理合法使用相关知识。


一、简介

微软Windows操作系统,俗称”Windows“,是由微软开发的一系列操作系统。Windows 是全球广泛使用的操作系统,具有广泛的兼容性和丰富的功能,使其成为个人计算机、企业系统和服务器的首选。Windows 系统的特性包括图形用户界面(GUI)、多任务处理、虚拟内存和丰富的应用程序支持等。Windows 家族版本涵盖从普通用户使用的 Windows 10/11 到服务器使用的 Windows Server 系列。
对于网络安全红队来说,学习 Windows 至关重要。原因在于:

  1. 主流目标系统:大多数企业使用 Windows 系统,因此红队成员需要了解其内部结构、文件系统、服务和常见配置,便于识别潜在的攻击路径和漏洞。
  2. 权限提升与持久化:了解 Windows 用户管理、权限控制、注册表及组策略等功能,红队可更高效地进行权限提升和持久化。
  3. 常见攻击手段:许多 Windows 专用的攻击手段(如 Pass-the-Hash、Kerberos 攻击)在企业网络中很常见。掌握 Windows 平台有助于红队进行更深入的攻击测试。
  4. 防御规避:Windows 系统自带许多安全防护机制,如 Windows Defender、UAC 等。理解这些机制能帮助红队找到规避策略,提高攻击成功率。
    学习 Windows 系统不仅能提高对潜在攻击面的认识,还能帮助红队在攻防演练中设计更有效的策略。

二、Linux和Window区别

1. 文件系统

  • Linux:采用 FHS(Filesystem Hierarchy Standard)目录结构,块设备挂载到目录下(所有内容都是文件)。
  • Windows:以驱动器盘符(如 C:)作为起始,或通过目录挂载分区。

2. 路径格式

  • Linux:路径以 / 开始,区分大小写,使用左斜线 /
    image.png

  • Windows:路径以 \ 分隔,不区分大小写,使用右斜线 \
    image.png

3. 系统配置

  • Linux:使用 /etc/proc 目录存储配置信息。
    在 Linux 系统中,/etc/proc 目录分别用于存储和管理系统配置信息。/etc 包含各种系统配置文件,例如网络、用户和服务配置,而 /proc 是一个虚拟文件系统,用于动态反映系统和内核的状态(如 CPU 和内存信息)。
  • Windows:通过注册表存储配置信息。
    Windows 使用注册表(Registry)来集中管理系统和应用程序的配置信息,注册表包含一系列键值对结构,存储系统、应用程序和用户设置。

三、Windows 的四种 Shell 接口

  1. GUI:图形化用户界面,操作简单。
  2. cmd:命令行用户界面,包含一组预定义命令。
  3. wmic:基于 WBEM 的微软实现,从 21H1 版本开始已被弃用,被 PowerShell 替代。
  4. PowerShell:自动化脚本框架,支持 .NET 架构。

四、WSL

WSL(Windows Subsystem for Linux)是一个在 Windows 系统上运行 Linux 环境的子系统,主要特性包括:

  1. Linux 内核兼容性:WSL 提供了与 Linux 内核的兼容层,允许用户在 Windows 上直接运行 Linux 二进制文件(ELF 格式),无需额外的虚拟机或双系统。
  2. 支持多种 Linux 发行版:用户可以在 Microsoft Store 中安装多种 Linux 发行版,如 Ubuntu、Debian、Fedora 等,并在不同发行版之间切换。
  3. 与 Windows 深度集成:WSL 允许 Linux 与 Windows 文件系统互相访问,可以在 Linux 终端中访问 Windows 文件,也可以在 Windows 上编辑 Linux 文件。
  4. 开发友好:对于开发人员,WSL 支持许多 Linux 工具和包管理器,使其成为在 Windows 上开发 Linux 应用或进行跨平台开发的理想工具。
  5. WSL 2 提供更好的性能:WSL 2 引入了真正的 Linux 内核(在虚拟机中运行),极大地提升了文件系统性能和系统兼容性,接近原生 Linux 的体验。
    WSL 的出现让用户在不离开 Windows 环境的情况下,享受 Linux 的命令行工具和开发环境。

五、常用命令

  • cd:显示当前目录的名称或将其更改
cd C:\Users

切换到用户目录

  • cmd:打开另一个 Windows 命令解释程序窗口

    cmd
    

    打开新的命令行窗口

  • copy:将至少一个文件复制到另一个位置

    copy C:\file.txt D:\backup\file.txt
    
  • del:删除至少一个文件

    del C:\file.txt
    

    删除指定文件

  • dir:显示一个目录中的文件和子目录

    dir C:\Windows
    

    列出 Windows 目录中的内容

  • echo:显示消息,或者将命令回显打开或关闭

    echo Hello, World!
    

    在命令行中显示文本

  • erase:删除一个文件或多个文件

    erase C:\file.txt
    

    删除指定文件

  • find:在一个或多个文件中搜索一个文本字符串

    find "text" file.txt
    

    搜索文件中的 “text”

  • findstr:在多个文件中搜索字符串

    findstr "error" *.log
    

    在所有日志文件中查找 “error”

  • mkdir:创建一个目录

    mkdir C:\NewFolder
    

    创建新文件夹

  • more:逐屏显示输出

    more file.txt
    

    分屏显示文件内容

  • move:将一个或多个文件从一个目录移动到另一个目录

    move C:\file.txt D:\
    

    将文件移动到 D 盘

  • ren:重命名文件命令

    ren oldname.txt newname.txt
    

    重命名文件

  • rmdir:删除目录

    rmdir C:\NewFolder
    

    删除目录

  • type:显示文本内容

    type file.txt
    

    显示文件内容

  • attrib:显示或修改文件扩展名关联

    attrib +r file.txt
    

    将文件设为只读

  • bcdedit:设置启动数据库中的属性以控制启动加载

    bcdedit /set {default} bootmenupolicy legacy
    
  • icacls:显示或修改文件的访问控制列表(ACL)

    icacls file.txt /grant User:F
    

    给用户赋予完全控制权限

  • chcp:显示或设置活动代码页数

    chcp 65001
    

    设置 UTF-8 编码

  • comp:比较两个或两套文件的内容

    comp file1.txt file2.txt
    

    比较两个文件的内容

  • date:显示或设置日期

    date
    

    显示当前日期

  • diskpart:显示或配置磁盘分区属性

    diskpart
    

    进入磁盘管理工具

  • doskey:编辑命令行,撤回 Windows 命令

    doskey /history
    

    查看命令历史

  • driverquery:显示当前设备驱动程序状态和属性

    driverquery
    

    列出系统中的所有驱动程序

  • fc:比较两个文件集并显示它们之间的不同

    fc file1.txt file2.txt
    

    比较文件内容

  • for:为一组文件中的每个文件运行一个指定命令

    for %i in (*.txt) do echo %i
    

    列出所有 txt 文件

  • fsutil:显示或配置文件系统属性

    fsutil dirty query C:
    

    检查磁盘是否脏

  • ftype:显示或修改文件扩展名关联使用的文件类型

    ftype txtfile="notepad.exe %1"
    

    设置 txt 文件默认程序

  • gpresult:显示计算机或者用户的组策略信息

    gpresult /R
    

    显示组策略结果

  • mklink:创建符号链接和硬链接

    mklink /D LinkName TargetFolder
    

    创建目录链接

  • openfiles:显示远程用户通过文件共享打开的本地文件

    openfiles /query
    

    查询打开的文件

  • path:为可执行文件显示或者设置搜索路径

    path
    

    显示当前路径设置

  • set:显示、设置或删除 Windows 环境变量

    set PATH=C:\NewPath;%PATH%
    

    修改路径

  • sc:显示或配置服务(后台进程)

    sc query
    

    列出所有服务状态

  • schtasks:安排一台计算机上运行命令和程序

    schtasks /create /sc daily /tn TaskName /tr "command"
    

    创建任务

  • shutdown:允许通过本地或远程方式正确关闭计算机

    shutdown /s /t 0
    

    立即关机

  • start:启动单独的窗口以运行指定的程序或命令

    start notepad.exe
    

    打开记事本

  • systeminfo:显示计算机的特定属性和配置

    systeminfo
    

    显示系统信息

  • tasklist:显示包括服务在内的所有当前运行的任务

    tasklist
    

    列出所有运行进程

  • taskkill:终止正在运行的进程或应用程序

    taskkill /im notepad.exe
    

    结束记事本进程

  • tree:树状图

    tree C:\
    

    显示目录树状结构

  • time:显示或设置系统时间

    time
    

    显示当前时间

  • tracert:网络路径追踪

    tracert www.google.com
    

    跟踪到指定网站的网络路径

六、文件导航系统

  • 返回驱动根目录cd \ 切换到驱动器的根目录。

    c:\windows\web>cd\
    
  • 返回上级目录cd .. 返回当前目录的上一级。

    c:\windows>cd ..
    
  • 大小写不敏感:Windows 命令行不区分大小写。

    c:\>TYPE "spaces in title.txt"
    

    使用 type 命令显示文件内容,即使文件名包含空格或大小写不同。

  • 查看系统隐藏文件dir /A 列出目录中的隐藏文件。

    c:\users>dir /A
    
  • 搜索文件名dir /S 文件名 在当前目录及子目录中搜索指定文件名。

    c:\>dir /S flag.txt
    
  • 最近编辑的文件dir /TW /OD 按修改日期排序列出文件,最近编辑的文件会在最后显示。

    c:\>dir /TW /OD
    
    • /TW:指定显示文件的修改时间(Write time)
      • /T 参数用于指定要显示的时间类型。
      • W 表示使用 “Write time”(文件的修改时间)作为显示的时间。
      • 其他选项包括 /T:C(创建时间)和 /T:A(上次访问时间)。
    • **/OD:按照时间顺序(日期)排序文件,默认从最旧到最新
      • /O 参数用于指定排序方式。
      • D 表示按照日期排序(Date),即时间顺序。
      • 通过 /O:-D 可以反向排序,从最新到最旧。

七、系统标准目录

C盘下的一些目录

  • PerfLogs:存储 Windows 性能日志信息。

  • Program Files

    • 32 位系统:存储 32 位程序。
    • 64 位系统:存储 64 位程序。
  • Program Files (x86)(仅在 64 位系统上存在):存储 32 位版本程序。

  • ProgramData:隐藏目录,包含全局程序数据,所有登录用户都可以访问这些数据。

  • Users:包含用户主目录(所有登录过的用户)。

    • Users\Public:用户间共享文件,所有用户都有权访问。
    • Users\[username]\AppData:隐藏子目录,存储用户应用程序数据和设置。
  • Windows\System、System32、SysWOW64:存储动态链接库文件(DLL)和 Windows API 的核心文件。

    • System32:用于存储 64 位系统文件(在 64 位系统上)。
    • SysWOW64:用于存储 32 位系统文件(在 64 位系统上)。
  • C:\Documents and Settings:早期 Windows 版本(如 Windows XP、Windows Server 2003)的主目录,用于存储用户数据和设置。
    image.png


八、系统及环境

1. 系统信息查询

  • systeminfo:显示系统的详细信息,包括操作系统版本、内存、网络配置等。

    systeminfo
    
  • msinfo32:打开系统信息窗口,提供图形化的系统信息视图。

    msinfo32
    

2. 环境变量查看

  • 使用 echo 命令查看特定的环境变量:

    echo %username%     // 输出当前用户名
    echo %path%         // 输出 PATH 环境变量
    echo %temp%         // 输出临时文件目录
    echo %userprofile%  // 输出用户主目录
    
  • 使用 set 命令列出所有环境变量:

    set
    
  • 使用 set p 查看名称以 p 开头的变量:

    set p
    

3. 永久修改环境变量

  • 使用 setx 命令可以永久设置环境变量。
    • 示例:将 var1 设置为 brand1

      setx var1 brand1
      
    • 示例:在远程主机上设置环境变量

      setx /s host1 /u domain\user /p pass var1 brand1
      
    • 示例:将当前 PATH 添加到自定义路径

      setx /s hopst1 /u domain\user /p pass mypath %path%
      

4. 环境变量存储位置

  • 环境变量信息存储在注册表路径:
    HKEY_CURRENT_USER\Environment
    

image.png

5. 使用 set 命令临时修改环境变量

可以使用 set 命令来临时设置或修改环境变量。例如:

set PATH=C:\newpath;%PATH%

上面的命令将 C:\newpath 添加到当前会话的 PATH 变量的开头。

  • 添加临时路径

    set PATH=C:\myprogram;%PATH%
    

    这将会在当前会话中,将 C:\myprogram 添加到 PATH 环境变量的开头。

  • 创建一个新的环境变量

    set MYVAR=Hello
    

    创建一个名为 MYVAR 的临时环境变量,值为 Hello

  • 修改现有环境变量

    set TEMP=C:\newtemp
    

    TEMP 环境变量临时指向 C:\newtemp

这些修改仅在当前命令提示符会话中生效,关闭命令提示符后恢复为原始设置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值