Windows基础 -- 介绍

声明:
本文的学习内容来源于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 的命令行工具和开发环境。

五、文件导航系统

  • 切换到d
d:
  • 进入当前目录
cd .
  • 返回驱动根目录cd \ 切换到驱动器的根目录。
c:\windows\web>cd \
  • 返回上级目录cd .. 返回当前目录的上一级。
c:\windows>cd ..
  • 进入文件夹
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
- **/T**W:指定显示文件的修改时间(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

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


八、常见端口对应服务

端口服务备注
21ftp缓存溢出、暴力破解
23telnet远程连接工具弱口令爆破
80web
80-89web
443ssl心脏滴血漏洞以及一些web漏洞测试
445smb
1433mssql
1521oracle
2082/2083主机管理登录系统国外用的较多
2222da虚拟主机管理系统登录国外用的较多
3128squid代理默认端口内网漫游
3306mysql
3312/3311kangle主机管理系统登录
3389远程桌面
5432postgreSQL
5900vnc
6379redis未授权登录
7001/7002weblogic默认弱口令、反序列化
7778主机控制面板登录
8000-9090一些常见的web端口有些运维喜欢把管理后台开在这些非80端口上面
8080tomcat、wdcp主机管理系统默认弱口令
8080、8089、9090jboss反序列化
8083vestacp主机管理系统国外用的较多
8649ganglia
8888宝塔 主机管理默认端口
10000virtuamin/webadmin 服务器虚拟机管理系统
11211memcache未授权访问
27017/27018mongodb未授权访问
28017mongodb统计系统页面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值