Window 网络安全渗透基础(一)
姓名:flydream飞花似梦
日期:2024年11 月2日
Windows 基础
Windows 是由微软公司开发的一种操作系统,自1985年首次发布以来,经过了多次迭代和改进。最新的版本包括 Windows 10 和 Windows 11,这些版本不仅提供了直观的图形用户界面(GUI),还集成了命令行界面(CLI)工具,如命令提示符(CMD)、PowerShell 和 Windows Terminal。Windows 操作系统因其用户友好的界面和广泛的硬件支持而广受欢迎,尤其受到家庭和个人用户的青睐。
历史与发展
Windows 操作系统的起源可以追溯到1985年,当时微软发布了第一个版本 Windows 1.0。这一版本主要是 MS-DOS 的图形用户界面扩展,旨在为用户提供更直观的计算机操作方式。随着时间的推移,Windows 经历了多次重大更新,每个版本都带来了新的特性和改进。例如,Windows 95 引入了开始菜单和任务栏,Windows XP 成为了微软历史上最成功的操作系统之一,而 Windows 10 和 Windows 11 则进一步提升了用户体验和安全性。
主要特点
- 图形用户界面(GUI):
-
- Windows 操作系统以其用户友好的图形界面著称,使得非技术人员也能轻松上手。桌面、任务栏、开始菜单和通知中心等元素提供了直观的操作体验。
- 图形界面不仅美观,还能提高用户的生产力,使日常任务变得更加简单高效。
- 命令行界面(CLI):
-
- Windows 集成了多种命令行工具,如命令提示符(CMD)、PowerShell 和 Windows Terminal,供高级用户和系统管理员使用。
- 命令提示符(CMD)是传统的命令行界面,提供基本的文件和系统管理命令。
- PowerShell 是一个功能强大的命令行界面和脚本环境,支持复杂的自动化任务和对象操作。
- Windows Terminal 是一个现代化的终端应用程序,支持多个选项卡和多种 Shell,如 CMD、PowerShell 和 WSL(Windows Subsystem for Linux)。
- 广泛的硬件支持:
-
- Windows 操作系统支持广泛的硬件设备,包括各种计算机、笔记本电脑、平板电脑和智能手机。这种广泛的硬件支持使得 Windows 成为许多个人电脑和企业服务器的首选操作系统。
- 微软与多家硬件制造商合作,确保最新的硬件设备能够与 Windows 兼容,提供最佳的性能和用户体验。
- 强大的软件生态系统:
-
- Windows 拥有一个庞大的软件生态系统,包括各种应用程序、游戏和开发工具。用户可以通过 Windows Store 下载和安装官方认证的应用程序,也可以从第三方网站获取软件。
- 对于开发者,Windows 提供了丰富的开发工具和框架,如 Visual Studio 和 .NET Framework,支持多种编程语言和开发环境。
- 安全性:
-
- Windows 操作系统不断改进其安全性,引入了多种安全功能,如用户账户控制(UAC)、BitLocker 驱动器加密和 Windows Defender 防火墙。
- 这些安全措施有助于保护用户免受病毒、恶意软件和其他安全威胁的影响,确保系统的稳定性和数据的安全。
最新版本
- Windows 10:
-
- Windows 10 于2015年发布,是微软的一个长期支持版本。它引入了许多新功能,如 Cortana 智能助手、Microsoft Edge 浏览器和虚拟桌面。Windows 10 还优化了多任务处理和触摸屏操作,提供了更加流畅的用户体验。
- Windows 10 的更新周期为每年两次,确保用户能够及时获得最新的功能和安全补丁。
- Windows 11:
-
- Windows 11 于2021年发布,是 Windows 10 的继任者。它带来了全新的用户界面设计,包括居中的开始菜单、改进的任务栏和现代化的窗口管理。Windows 11 还支持触控笔和触摸屏操作,优化了平板电脑模式。
- Windows 11 强化了安全特性,要求 TPM 2.0 芯片以提供更高级别的硬件安全保护。此外,它还引入了新的应用商店和对 Android 应用的支持,进一步扩展了软件生态。
结论
Windows 操作系统凭借其直观的图形用户界面、丰富的命令行工具、广泛的硬件支持和强大的软件生态系统,成为全球最广泛使用的操作系统之一。无论是家庭用户、企业员工还是开发者,都可以通过 Windows 获得高效、安全和愉快的计算体验。
Windows与Linux的区别
|-------|----------------------------------------|--------------------------------|
| 特点 | Windows | Linux |
| 用户界面 | 主要使用图形用户界面(GUI),也提供命令行界面(CLI) | 主要通过命令行界面(CLI)操作,也有 GUI 选项 |
| 文件系统 | NTFS、FAT32、exFAT | ext3、ext4、Btrfs、XFS、FAT32等 |
| 开源与闭源 | 大部分是闭源软件 | 大部分是开源软件 |
| 软件安装 | 通过安装程序和 Windows Store | 通过包管理器(如 apt、yum、dnf) |
| 权限管理 | 用户账户控制(UAC) | 基于用户和组的权限管理 |
| 开发环境 | .NET Framework、Visual Studio | GCC、Python、Java、各种开发工具 |
| 命令行工具 | PowerShell、CMD、Windows Terminal | Bash、Zsh、Fish等 |
| 系统更新 | 通过 Windows Update | 通过包管理器或命令行更新 |
| 硬件兼容性 | 更加广泛的硬件支持 | 一些硬件可能需要额外的驱动支持 |
| 安全性 | 相对较多的病毒和恶意软件攻击风险 | 由于开源和权限管理,安全性较高 |
| 路径格式 | 使用反斜杠(\),如 C:\Users\User\Documents | 使用斜杠(/),如 /home/user/documents |
| 系统配置 | 配置文件通常存储在注册表或特定目录中 | 配置文件通常为文本文件,位于 /etc 目录或用户主目录下 |
详细对比:
- 用户界面:Windows 主要依赖图形用户界面,提供直观的操作体验;而 Linux 虽然也有图形界面,但更常用于命令行操作,适合高级用户和系统管理员。
- 文件系统:Windows 使用 NTFS、FAT32 和 exFAT 文件系统,而 Linux 支持多种文件系统,如 ext3、ext4、Btrfs 和 XFS。
- 开源与闭源:Windows 是闭源软件,而 Linux 是开源软件,用户可以自由修改和分发。
- 软件安装:Windows 通过安装程序和 Windows Store 安装软件,而 Linux 通过包管理器(如 apt、yum、dnf)安装软件。
- 权限管理:Windows 使用用户账户控制(UAC),而 Linux 使用基于用户和组的权限管理。
- 开发环境:Windows 支持 .NET Framework 和 Visual Studio 等开发工具,而 Linux 支持 GCC、Python、Java 等多种开发工具。
- 命令行工具:Windows 提供 PowerShell、CMD 和 Windows Terminal,而 Linux 提供 Bash、Zsh 和 Fish 等命令行工具。
- 系统更新:Windows 通过 Windows Update 进行系统更新,而 Linux 通过包管理器或命令行进行系统更新。
- 硬件兼容性:Windows 支持更广泛的硬件设备,而 Linux 在某些硬件上可能需要额外的驱动支持。
- 安全性:Windows 由于其广泛的用户基础,更容易成为病毒和恶意软件的目标;而 Linux 由于开源和严格的权限管理,安全性更高。
- 路径格式:Windows 使用反斜杠(\),而 Linux 使用斜杠(/)。
- 系统配置:Windows 的配置文件通常存储在注册表或特定目录中,而 Linux 的配置文件通常为文本文件,位于 /etc 目录或用户主目录下。
Windows 四种 Shell
1. 命令提示符(CMD)
描述 :命令提示符是 Windows 的传统命令行界面,用户可以通过输入命令来执行各种操作。
特点:
- 基本的文件和系统管理命令:提供如 dir、cd、mkdir 等基本命令。
- 批处理文件(.bat):允许用户编写脚本来自动化任务。
- 命令格式相对简单 :功能有限,但易于学习和使用。
常用命令: dir
:列出当前目录中的文件和子目录。cd
:更改当前目录。mkdir
:创建新目录。rmdir
:删除空目录。del
:删除文件。copy
:复制文件。move
:移动或重命名文件。xcopy
:复制文件和目录,包括子目录。robocopy
:高级文件复制工具。ipconfig
:显示网络接口的 IP 配置信息。ping
:测试网络连接。tracert
:跟踪数据包到达目标的路径。netstat
:显示网络连接和端口状态。tasklist
:列出当前运行的进程。taskkill
:终止一个或多个进程。systeminfo
:显示系统信息。chkdsk
:检查磁盘并修复错误。sfc /scannow
:扫描并修复系统文件。shutdown
:关机、重启或注销计算机。get-help
:获取命令或命令行工具的帮助信息。set
:显示或设置环境变量。echo
:显示一段文本。cls
:清除命令提示符窗口中的内容。help
:显示所有可用命令及其简要说明。assoc
:显示或更改文件扩展名与程序的关联。ftype
:显示或更改文件类型的打开方式。copy con
:从控制台输入并创建新文件。find
:在文件中查找字符串。findstr
:在文件中查找字符串(支持正则表达式)。path
:显示或设置可执行文件搜索路径。setx
:设置或修改环境变量(持久化)。taskschd.msc
:打开任务调度程序。regedit
:打开注册表编辑器。get-process
:显示 PowerShell 中的所有进程。get-service
:显示所有服务的状态。net user
:列出或管理用户账户。net localgroup
:显示或管理本地组。net use
:显示或连接网络共享。systeminfo
:显示计算机的详细信息。wmic
:Windows 管理工具命令行界面。diskpart
:磁盘分区管理工具。shutdown /s /t <秒数>
:在指定秒数后关机。shutdown /r /t <秒数>
:在指定秒数后重启。schtasks
:创建、删除、配置和显示任务计划。whoami
:显示当前用户的名称。ver
:显示 Windows 的版本信息。hostname
:显示计算机的网络名称。robocopy
:复制文件和目录(具有恢复功能)。powercfg
:管理电源设置。netsh
:配置网络设置。cipher
:管理加密文件和文件夹。
2. Windows PowerShell
描述 :PowerShell 是一个功能强大的命令行界面和脚本环境,结合了命令行和编程功能,能够访问 .NET 对象。
特点:
- 丰富的命令和功能:支持复杂的自动化任务。
- 管道功能:允许将一个命令的输出作为另一个命令的输入。
- 对象而非文本:提供了更强大的数据操作能力。
- cmdlet :执行特定操作的命令。
常用命令: Get-Process
:获取当前运行的进程。Stop-Process
:停止一个或多个进程。Get-Service
:获取服务的状态。Start-Service
:启动服务。Stop-Service
:停止服务。Get-EventLog
:获取事件日志。Set-ExecutionPolicy
:设置脚本执行策略。Get-Command
:获取可用命令的信息。Get-Help
:获取命令的帮助信息。New-Item
:创建新项(文件、文件夹、注册表项等)。Remove-Item
:删除项(文件、文件夹、注册表项等)。Get-Content
:获取文件内容。Set-Content
:设置文件内容。Copy-Item
:复制文件或文件夹。Move-Item
:移动或重命名文件或文件夹。Invoke-WebRequest
:发送 HTTP 请求并获取响应。Select-Object
:选择对象的属性。Where-Object
:过滤对象。
3. Windows Terminal
描述 :Windows Terminal 是一个现代化的终端应用程序,支持多个选项卡和多个 Shell,如 CMD、PowerShell 和 WSL。
特点:
- 丰富的自定义选项:如主题、配色方案和字体设置。
- 多 Shell 支持:用户可以在不同选项卡中操作不同的 Shell。
- GPU 加速的文本渲染:提高了性能和视觉效果。
- Unicode 和 UTF-8 支持 :处理多种语言和字符集。
优势: - 多任务处理:支持同时运行多个命令行工具,提高工作效率。
- 个性化设置:用户可以根据自己的喜好调整终端的外观和行为。
- 高性能:GPU 加速和高效的文本渲染技术确保流畅的使用体验。
4. Windows Subsystem for Linux (WSL)
描述 :WSL 允许用户在 Windows 上运行 Linux 发行版,提供一个与 Linux 命令行相似的环境。
特点:
- 支持 Linux 命令和工具:用户可以运行大多数 Linux 应用程序。
- 与 Windows 文件系统交互:轻松访问 Windows 文件。
- 原生的 Linux 体验:适合开发者和系统管理员。
- 支持多个 Linux 发行版 :如 Ubuntu、Debian、Fedora 等。
优势: - 跨平台开发:开发者可以在 Windows 上使用 Linux 工具和环境。
- 无缝集成:WSL 与 Windows 系统无缝集成,提供流畅的使用体验。
- 灵活性:用户可以选择不同的 Linux 发行版,满足不同的需求。
Windows 常用命令
CMD
文件和目录管理:
dir
:列出当前目录中的文件和子目录。cd
:更改当前目录。mkdir
:创建新目录。rmdir
:删除空目录。del
:删除文件。copy
:复制文件。move
:移动或重命名文件。xcopy
:复制文件和目录,包括子目录。robocopy
:高级文件复制工具。
网络管理:
ipconfig
:显示网络接口的 IP 配置信息。ping
:测试网络连接。tracert
:跟踪数据包到达目标的路径。netstat
:显示网络连接和端口状态。
系统管理:
tasklist
:列出当前运行的进程。taskkill
:终止一个或多个进程。systeminfo
:显示系统信息。chkdsk
:检查磁盘并修复错误。sfc /scannow
:扫描并修复系统文件。shutdown
:关机、重启或注销计算机。get-help
:获取命令或命令行工具的帮助信息。set
:显示或设置环境变量。echo
:显示一段文本。cls
:清除命令提示符窗口中的内容。help
:显示所有可用命令及其简要说明。assoc
:显示或更改文件扩展名与程序的关联。ftype
:显示或更改文件类型的打开方式。copy con
:从控制台输入并创建新文件。find
:在文件中查找字符串。findstr
:在文件中查找字符串(支持正则表达式)。path
:显示或设置可执行文件搜索路径。setx
:设置或修改环境变量(持久化)。taskschd.msc
:打开任务调度程序。regedit
:打开注册表编辑器。get-process
:显示 PowerShell 中的所有进程。get-service
:显示所有服务的状态。net user
:列出或管理用户账户。net localgroup
:显示或管理本地组。net use
:显示或连接网络共享。systeminfo
:显示计算机的详细信息。wmic
:Windows 管理工具命令行界面。diskpart
:磁盘分区管理工具。shutdown /s /t <秒数>
:在指定秒数后关机。shutdown /r /t <秒数>
:在指定秒数后重启。schtasks
:创建、删除、配置和显示任务计划。whoami
:显示当前用户的名称。ver
:显示 Windows 的版本信息。hostname
:显示计算机的网络名称。robocopy
:复制文件和目录(具有恢复功能)。powercfg
:管理电源设置。netsh
:配置网络设置。cipher
:管理加密文件和文件夹。
PowerShell
进程和服务管理:
Get-Process
:获取当前运行的进程。Stop-Process
:停止一个或多个进程。Get-Service
:获取服务的状态。Start-Service
:启动服务。Stop-Service
:停止服务。Get-EventLog
:获取事件日志。Set-ExecutionPolicy
:设置脚本执行策略。
命令和帮助:
Get-Command
:获取可用命令的信息。Get-Help
:获取命令的帮助信息。
文件和目录管理:
New-Item
:创建新项(文件、文件夹、注册表项等)。Remove-Item
:删除项(文件、文件夹、注册表项等)。Get-Content
:获取文件内容。Set-Content
:设置文件内容。Copy-Item
:复制文件或文件夹。Move-Item
:移动或重命名文件或文件夹。
网络管理:
Invoke-WebRequest
:发送 HTTP 请求并获取响应。
对象操作:
Select-Object
:选择对象的属性。Where-Object
:过滤对象。