学习视频来自B站UP主 泷羽sec,如涉及侵泷羽sec权马上删除文章
一、Windows简介
微软windows操作系统,俗称“windows”,是由微软开发的一系列操作系统。
Windows在个人电脑领域无处不在,并且通常作为桌面,和服务端操作系统在企业中部署。
了解Windows的内部工作原理对于任何安全人员是非常重要的,包括后面的内网,域渗透等等。
作为攻击者,通常只获得低权限访问,需要提权获得更高的权限或者进一步渗透网络。这是理解windows系统基础知识的重要原因之一。
文件系统
Linux:fhs目录结构,块设备挂载到目录(一切都是文件)
Windows:以驱动器盘符起始,或通过目录挂载分区
系统配置
lin:/etc和/proc(存储信息在目录)
win:注册表(存储信息在注册表里)
路径格式
linux:/开始,区分大小写;(左斜线)
win:\分隔路径,不区分大小写(右斜线)
一、windows的文件系统
文件系统是一种存储和组织计算机数据的方式,使数据的存取和查找变得简单容易。文件系统使用操作系统中的逻辑概念“文件”和“树形目录”来替代硬盘等物理存储设备中的扇区等存储单位,用户使用文件系统来保存数据不用关心数据实际保存在硬盘的哪个扇区,只需要记住该文件的所属目录和文件名即可查找到该文件。
Windows 系统支持 NTFS、ReFS、FAT32、exFAT 等文件系统。
1、NTFS 文件系统
NTFS(New Technology File System)文件系统是自 Windows NT 操作系统之后所有基于 NT 内核的 Windows 操作系统所使用的标准文件系统。Windows 7 之后的操作系统都必须安装在 NTFS 文件系统分区中。在 Windows 10 中,文件链接、权限、磁盘配额、稀疏文件、卷影复制、文件压缩、文件加密系统等功能都是基于 NTFS 文件系统实现的。NTFS 文件系统属于日志型文件系统。
2、ReFS 文件系统
NTFS 文件系统是目前使用最广泛的文件系统之一。虽然它依旧是一款性能优异的文件系统,但是随着计算机技术的不断发展,NTFS 文件系统也难免有点力不从心。微软开发了新的 ReFS 文件系统。ReFS 弹性文件系统(Resilient File System),并且能在最新版 Windows 10 与 Windows Server 操作系统中使用。由于 ReFS 是基于 NTFS 文件系统开发的,所以两者有很好的兼容性。在 ReFS文件系统上存储的数据可以由应用程序作为 NTFS 文件系统的数据来访问并使用。
ReFS 文件系统主要有以下几种特性:
ReFS 虽然是基于 NTFS 文件系统开发的,但是不支持 NTFS 的某些功能,例如命名流、对象 ID、短名称、文件压缩、文件加密(EFS)、用户数据事务、稀疏、硬链接、扩展属性和磁盘配额。
NTFS 文件系统不能直接转换为 ReFS 文件系统,必须通过新建方式创建。
ReFS 文件系统不能用于操作系统启动分区,只能作为数据存储分区文件系统使用。
ReFS 文件系统不可用于移动存储设备,例如 U 盘、移动硬盘等。
尽管 ReFS 文件系统有很强的存储能力,但其在系统内存量、各种系统组件,以及数据处理和备份时间等方面有限制。
3、FAT16/32 文件系统
FAT(File Allocation Table)的中文名为文件分配表,它被几乎所有操作系统支持,并且在 2005 年之前一直是 Windows 操作系统的标准文件系统。
FAT 文件系统因簇集地址空间大小的不同,又分为 FAT12、FAT16 和 FAT32。本节主要介绍 FAT16 与 FAT32 文件系统。
FAT16/FAT32 文件系统在使用方面主要包含以下功能限制:
单文件最大尺寸:FAT32 文件系统最大支持 4GB 文件,FAT16 文件系统最大支持2GB 文件。
最大文件数量:最多支持 268435437 个文件。
最大分区容量:理论上来说,使用 FAT32 文件系统的分区最大容量为 8TB,但是由于 Windows 10 的限制,用户只能创建最大为 32GB 的 FAT32 分区。
时间戳:FAT16/FAT32文件系统允许的时间范围为1980年1月1日至2107年12月31日。
簇大小:FAT16/FAT32 文件系统支持簇大小为 512B、1024B、2048B、4096B、8192B、16KB、32KB、64KB、128KB 和 256KB,其中 128KB 和 256KB 只用于 512B 的扇区
4、exFAT 文件系统
exFAT(Extended File Allocation Table)的中文名为扩展文件分配表,又名 FAT64 文件系统,其主要被闪存设备使用。exFAT 文件系统最初被用于 Windows Embedded CE 6.0 嵌入式操作系统,后来又被扩展到 Windows Vista with Service Pack 1 之后的所有Windows 操作系统。
exFAT 文件系统可以理解为 FAT 文件系统的加强版。它的优势首先在于相较 FAT32文件系统最大支持 8TB 的分区;其次,最大单文件理论上支持 16EB ;再有,exFAT文件系统支持访问控制列表(Access Control List,ACL),也就是说用户可以对存储在 exFAT 文件系统中的文件进行精细的权限配置。
值得注意的是,传统机械硬盘无法使用 exFAT 文件系统。exFAT 文件系统的特性其实并不比 NTFS 文件系统强,但比 NTFS 文件系统及 FAT32 文件系统更适合闪存设备使用。
Windows的各种文件夹及其功能
Windows部分系统文件
Application Data: 通用应用程序数据文件夹
Local Settings: 保存应用程序数据、历史和临时文件
Temp: 存放系统或其他软件临时文件
hiberfil.sys: 系统的休眠功能所占用的硬盘空间的文件
.pagefile.sys: 虚拟内存页面文件
PerfLogs: Windows 7/10系统日志,记录如磁盘扫描错误等信息
Windows部分系统文件夹
Program Files
应用程序文件夹,一般软件默认都安装在这里,也有一些系统自带的应用程序。
以64位软件为例,所有安装程序的默认的安装目录为C:\Program Files
Common Files: 共用程序文件夹,于系列不同程序软件共同使用或调用数据,比如微软和Adobe的各种软件。
ComPlus Applications:微软COM +组件使用的文件夹,删除后可能引起COM+组件不能运行。
DIFX:DIFX是一种高效的XML索引方法,此文件夹与数据索引有关,不可以删除。
NstallShield Installation Information:专门存储安装程序信息的文件夹,用于某些程序的卸载和更新。
MSECache:MS Office运行时自动创建。
MSXML6.0:微软XML解析器程序的文件夹。
Microsoft FrontPage:FrontPage是微软推出的一款网页设计软件,此文件夹通常为空。
Movie Maker:系统自带的一款视频编辑软件。
Outlook Express:Outlook Express是Windows内置的邮件收发端,不用可删。
Online Services:网络服务文件夹。
Windows Media Player:系统自带的一款多媒体播放器。
Xerox:用作自带的一些图像处理软件的临时空间, 文件夹不能删除,但通常为空。
Program Data
Program Data目录为程序数据目录,这个目录是隐藏的,需要设置查看隐藏文件夹才能看到。这个目录也是垃圾文件的重灾区,很多程序的配置都在这儿,并且很多软件卸载后并没有删除配置,需要我们手动删除。
目录有类似于{7F40DE3E-8294-4E24- B2EA-80F6C6BB173C}名字的文件,看起来不太友好,这个目录并不是所谓的病毒目录,这个是软件的唯一标示GUID,有些软件为了区分,会生成一个唯一的名称以保证唯一 性,那么这个目录,就是软件为区分同名软件所创建的唯一配置文件保存目录,且这个软件的注册表,很有可能也是这个名称。
大部分的文件夹还是挺好识别的,比如Adobe目 录保存了常用的设计软件如PS,Al,AE等软件配置,Tencent保存了qq和微信等软件的配置。
Windows系统文件夹
Windows目录,就是我们的Windows安装目录了,用来放置程序的使用数据、设置等文件,不建议删除。这个目录里面的东西是不能乱删除的,删除一个文件可能就会导致电脑无法启动了。
在Windows目录中,我们可以看到熟悉的软件,你的桌面,其实是一个软件, 全名叫文件资源管理器,也就是explorer.exe, 我们如果结束这个程序的进程,可能你的桌面就消失了。还有regedit.exe,注册表编辑器,notepad.exe,记事本等系统程序。
Windows系统临时目录
C:\Users\当前用户\AppData\Local\Temp目录下,很多垃圾文件也会在此,包括使用压缩软件等解压的临时文件也在这。
运行,输入%tmp%, 回车,即可打开。里面的文件可以删除。
二、Windows的shell接口
Shell接口:是用户与操作系统内核之间的接口,允许用户通过命令行或脚本来与操作系统进行交互。Shell解释用户输入的命令,将其转换为操作系统能够理解的指令,并执行这些指令,然后将结果返回给用户。
【1】 图形化用户接口
GUI 这是最常用的接口,通过图形界面进行操作,用户可以通过鼠标和键盘进行交互,操作简单直观。
【2】命令行用户接口
cmd:这是一种基于文本的接口,用户通过输入命令行指令来进行操作。它包含一组预定义的命令,适用于需要快速执行任务的场景。
( 2.1 ) cmd:早期的DOS系统就提供了命令行接口,Windows继承并发展了这一功能,使其成为用户进行系统管理和日常操作的常用工具。
( 2.2 ) WMIC:最初是为了提供一种管理Windows系统的命令行工具,但随着PowerShell的发展(Windows 10的21H1版本后),其使用逐渐减少。
( 2.3 )PowerShell:随着Windows系统的更新,PowerShell逐渐成为管理和自动化任务的首选工具,提供了更强大的功能和灵活性。
wsl 在windows上运行的子系统,当然需要开启一些windows的功能,且子系统可以是linux系统
三、Windows的CMD命令
一、文件和目录操作:
dir: 列出当前目录中的文件和子目录。
cd 目录路径: 更改当前目录。
mkdir 目录名: 创建新目录。
del 文件名: 删除文件。
rmdir 目录名: 删除目录。
del: 删除至少一个文件
erase 删除一个文件或多个文件
find 在一个或者多个文件中搜索一个文本字符串(很重要,功能很多)L find /n "a" 1.txt(查找a参数的字段并排序行号)
L type跟find结合使用 使用type 1.txt | find "a"(查看带有a参数的字段)
L type 1.txt | find "a" /n(查看1.txt的内容并输出a参数的字段并排序)
tasklist(任务列表 显示进程的名称信息)
taskkill(杀死进程)
L taskkill /?(帮助文档)
L -pid -f -t
L taskkill /pid 2824 杀死进程
findstr 在多个文件中搜字符串
mkdir 创建一个目录
move 将一个或者多个文件从一个目录移动到另一个目录
attrib 显示或修改文件扩展名关联
more 逐屏显示输出,也就是一点一点的显示,并不是一下子显示所有
move 将一个或多个文件从一个目录移动到另一个目录
ren 重命名文件
rmdir 删除目录
type 显示文本内容
attrib 显示或修改文件扩展名关联
bcdedit 设置启动数据库中的属性以控制启动加载
icacls 显示或修改文件的访问控制列表(acl)
chcp 显示或设置活动代码页数
comp 比较两个或两套文件的内容
data 显示或设置日期
diskpart 显示或配置磁盘分区属性
doskey 编辑命令行,撤回windows命令
driverquery 显示当前设备驱动状态和属性
fc 比较两个文件集并显示,他们之间是不同的
for 为一组文件中的每个文件运行一个指定命令
fsutil 显示或配置文件系统属性
ftype 显示或修改在文件扩展名关联使用的文件类型
gpresult 显示计算机或用户的组策略信息
mklink 创建符号链接和硬链接
openfiles 显示远程用户通过文件共享打开的本地文件
path 为可执行文件显示或设置搜索路径
set 显示、设置或删除windows环境变量
schtasks 安排一台计算机上运行命令和程序
shutdown 允许通过本地或远程方式正确关闭计算机
start 启动单独的窗口以允许指定的程序或命令
systeminfo 显示计算机的特定属性和配置
tree 树状图,可列举目录下的多个目录或文件,以树状图显示
time 显示或设置系统时间
tracert 网络路径追踪bcdedit 设置启动数据库中的属性以控制启动加载
echo 显示消息,或者将命令回显打开或者关闭
more 逐屏显示输出
二、系统信息和管理:
wmic bios get releasedate 查询电脑的生产日期
systeminfo 可以查询出系统详细信息
wmic bios get serialnumber 可以查询出主机序列号
dxdiag 可以查询出计算机真实配置信息
tasklist 显示当前正在运行的进程列表。
taskkill /PID 进程ID:终止指定进程。
shutdown -h 休眠本地计算机
shutdown -p 关闭本地计算机
shutdown -r 表示完全关闭并重启计算机
shutdown -a 表示取消关机,或者取消重启三、网络操作:
1、ipconfig:显示当前网络配置信息,包括 IP 地址、子网掩码、默认网关等。
示例:ipconfig2、ping:向指定的主机发送 ICMP 回显请求以测试网络连接。
示例:ping 目标地址3、tracert:跟踪数据包到目标地址的路由路径,显示数据包在网络中经过的路由器。
示例:tracert 目标地址4、nslookup:查询 DNS(域名系统)记录,获取指定主机名或 IP 地址的相关信息。
示例:nslookup 主机名或IP地址5、netstat:显示网络连接、路由表和网络接口信息。
示例:netstat -ano6、arp:显示和管理本地 ARP(地址解析协议)缓存表,包含 IP 地址和相应的 MAC 地址。
示例:arp -a7、net:执行网络相关操作,如连接共享资源、映射网络驱动器等。
示例:net use8、route:显示和操作本地 IP 路由表,包括添加、删除和修改路由。
示例:route print9、ipconfig/all 显示当前计算机的网络配置信息。
10、ipconfig /renew 命令获取新的IP地址和网络配置。
ipconfig /flushdns 可以强制计算机刷新DNS缓存,确保使用最新的DNS解析信息。
四、用户和权限管理:
net user:显示本地用户列表。
net user 用户名 密码 /add:添加新用户。
net localgroup administrators 用户名 /add:将用户添加到管理员组。五、注册表操作:
regedit:打开注册表编辑器。
reg add 键名 /v 值名 /t 类型 /d 数据 /f:添加或修改注册表项。
reg delete 键名 /v 值名 /f:删除注册表项。六、其他常用命令:
cls:清除命令提示符窗口内容。
echo 文本:显示文本消息。
copy 源文件 目标文件:复制文件。
move 源文件 目标文件:移动文件。七、磁盘管理
chkdsk:检查磁盘上的文件系统错误并修复。
例如:chkdsk C: /f (检查并修复 C: 驱动器上的错误)
format:格式化磁盘。
例如:format D: (格式化 D: 驱动器)
diskpart:磁盘分区管理工具,用于创建、删除和管理分区。
例如:diskpart 启动 DiskPart 工具,然后使用 list disk 查看磁盘列表。
defrag:磁盘碎片整理工具,用于优化磁盘性能。
例如:defrag C: /O (优化 C: 驱动器)
diskcleanup:启动磁盘清理工具。
例如:diskcleanup C: (清理 C: 驱动器上的不必要文件)
robocopy:强大的文件复制工具,支持复制文件和目录结构。
例如:robocopy C:\source D:\destination /MIR (镜像复制源目录到目标目录)
fsutil:用于管理文件系统和磁盘的高级工具。
例如:fsutil volume diskfree C: (显示 C: 驱动器的磁盘空间)八、环境变量
变量位于 : hkey_current _userlenvironment
echo %username% 查看当前用户是谁
echo %path% 输出计算机的path环境变量
echo %temp% 输出计算机的临时目录所在路径
echo %userprofile% 输出当前用户的主目录,也就是user目录
set 把环境变量在命令行中输出
set p 查看以p开头的环境变量
setx 永久修改环境变量(可用参数太多可继续研究).
.
net命令,很重要,因为net指令可以造成漏洞,也可以写病毒
net start/stop telnet 打开/关闭telnet服务
net user 看当前用户
net user admin 123 /add 添加用户为admin,密码为123的用户
net user admin 查看admin的权限
net localgroup administrators admin /add 把admin用户添加到管理组中,拥有很高的组权限(提权)
net user admin /del 删除用户admin
net user ad$ /add 创建隐藏用户ad$
net localgroup administrators ad$ /addnet share 查看当前计算机共享文件夹
net share aaa=c:\windows 把c盘windows目录共享,并命名为aaa
net share aaa /delete 把aaa共享删除可以先创建一个账号,然后提权,然后把这个文件共享出来,然后访问目标
Windows的注册表是一个重要的系统数据库,保存了系统和应用程序的配置信息。它包含在 C:\Windows\System32\config
目录中,并通过注册表编辑器(Regedit)进行访问和修改。